/*
Theme Name: ALOHA
Author: cachiport
Version: 1.0
Description:ALOHA theme
*/

@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
/* ===================================================================
// 基本スタイル
// ===================================================================*/

html {
  font-size: 62.5%;
  font-family: var(--basic-font);
  -webkit-font-feature-settings: "pkna" 1;
          font-feature-settings: "pkna" 1;
  height: 100%;
  overflow-x: hidden;
}


body {
	/*テーマカラー*/
	--thema-color-y: #FFFF00;
	--thema-color-r: #FF0000;
	--thema-color-g: #00FF00;
	/*色々*/
	/*フォントカラー*/
	--font-color:#000000;
	/*ボタン*/
	--btn1font-color:#FFFFFF;/*通常時文字色＆ホバー時背景色*/
	--btn1back-color:#A1BF5B;/*ホバー文字色&通常時背景色*/
	--arrow-color: #FFBA00;
	/*フォント体*/
	--english-font: "dazzle-unicase", sans-serif;
	--basic-font: kozuka-gothic-pr6n, sans-serif;
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--themafont-color);
  font-weight: 400;
  overflow-x: hidden;
  height: 100%;
  max-width: 100%;
}
main{
	max-width: 100%;
	padding: 0 0 0 8rem;
}
  /*諸々*/

.wrapper{
	padding: 0 5rem;
}
@media screen and (max-width: 767px) {
	main{
		padding: 0;
	}
  body {
    font-size: 1.2rem;
  }
.wrapper{
	padding: 0 2.2rem;
}
}


/* ボックスサイズ */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* 行間 */
p{
  line-height: 1.7;
		font-size: 1.6rem ;
		margin: 1rem 0;
		font-family: var(--basic-font);
		font-weight: 300;
		font-style: normal;
}

@media screen and (max-width: 767px) {
	p{
		line-height: 1.6;
			  font-size: 1.4rem ;
			  margin: 1rem 0;
			  font-family: var(--basic-font);
			  font-weight: 300;
			  font-style: normal;
			  color: var(--font-color);
	  }
  }
div, h1, h2, h3, h4, h5, li {
  line-height: 1.2;
  font-family: var(--basic-font);
  font-weight: 600;
  font-style: normal;
  color: var(--font-color);
}
/* リンク */
a {
  text-decoration: none;
  -webkit-transition: .3s;
  transition: .3s;
  font-family: hiragino-kaku-gothic-pron, sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #070707;
  font-size: 2.2rem;
}

@media screen and (max-width: 1536px) {
	a {
		text-decoration: none;
		-webkit-transition: .3s;
		transition: .3s;
		font-family: var(--basic-font);
		font-weight: 300;
		font-style: normal;
		color: #070707;
		font-size: 1.6rem;
	  }
}
@media screen and (max-width: 767px) {
	a{
		font-size: 1.5rem;
	}
}
  a:hover {
    opacity: .7;
  }

.en{
	font-family: var(--english-font);
}
.txt_center{
	text-align: center;
	display: block;
}
.txt_center p{
	text-align: left;
	display: inline-block;
}


/*  パンくずリスト　*/
.breadcrumbs{
	background-color: rgba(157, 119, 163, 10%);
	color: #9D77A3;
	padding-top: 1rem;
	padding-bottom: 1rem;
	font-weight: 400;
}
.breadcrumbs  span{
	color: #9D77A3;
	font-weight: 400;
}
/* img */
img {
  max-width: 100%;
  height: auto;
}

.object_fit_img {
  -o-object-fit: cover;
     object-fit: cover;
 font-family: 'Noto Sans JP', sans-serif;
}
/* flex */
.flex_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 1020px) {
  .flex_wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
/* pc & sp */
.pc {
  display: inline-block;
}

.sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none!important;
  }
  .sp {
    display: inline-block;
  }
}

.btn_area {
  z-index: 3;
  position: relative;
}

.btn_area p {
  text-align: center;
}


.btn {
	color: #000;
	background-color: transparent;
	border: 1px solid #000;
	border-radius: 51px;
  position: relative;
  min-width: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0rem auto;
  width: 20rem;
  height: 4.5rem;
  z-index: 50;
}
.btn_txt{
	font-size: 1.3rem;
	font-weight: 500;
}

@media screen and (max-width: 767px){
	.btn {
		width: 16rem;
		height: 3rem;
	}
	.btn_txt {
		font-size: 1rem;
	}
}

  /*fadein*/
  
  .fadein {
	opacity: 0;
	transition-duration: 1000ms;
	transition-property: opacity, transform;
	transform: translate(0, 3rem);
  }
  
  .scroll-in {
	opacity: 1;
	transform: translate(0, 0);
  }
  /*ページナビ*/
.wp-pagenavi .pages{
	background-color: transparent;
	margin: 0;
	font-weight: 400;
	border: none;
}
.wp-pagenavi{
	text-align: center;
    margin: 9rem 0 14rem;
}
.wp-pagenavi span.current {
	background-color: #fff;
	font-weight: initial;
}
.wp-pagenavi a, .wp-pagenavi span{
    text-decoration: none;
    margin: 0 1rem;
	font-size: 2rem;
	padding: 2rem 2.5rem;
    border-radius: 100px;
	background-color: #fff;
	font-family: initial;
}
.wp-pagenavi .extend{
	display: none;
}

.wp-pagenavi .nextpostslink,.wp-pagenavi .previouspostslink{
    padding: 2rem;
}
@media screen and (max-width: 767px){
	.wp-pagenavi .pages {
		padding: 0 1rem;
	}
	.wp-pagenavi a, .wp-pagenavi span {
		font-size: 1.7rem;
		padding: 1.5rem 2rem;
		margin: 0 0.5rem;

	}
	.wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink {
		padding: 1.5rem 1.5rem;
	}
	.wp-pagenavi {
		text-align: center;
		margin: 6rem 0 5rem;
	}
}
/* ===================================================================
// ヘッダー
// ===================================================================*/


/*ナビゲーション*/

#header{
	width: 8rem;
	height: 100vh;
	  position: fixed;
	  z-index: 99;
	  background-color:#F2F0E9;
	  padding-top: 3rem;
  }
  #header .header_logo{
    width: 80%;
    margin: 0 auto;
    display: block;
  }
  #header .header_logo img{
	width: 100%;
  }
  #header .header_txt{
	margin: 0 auto;
    padding-top: 5rem;
    margin-bottom: 2.5rem;
    width: 3.5rem;
    display: block;
  }
  @media screen and (max-width: 767px) {
	#header{
		width: 100%;
		height:4.5rem;
		  position: fixed;
		  z-index: 99;
		  background: url(images/nav_back.svg);
		  background-size: cover;
		  background-repeat: no-repeat;
		  background-color: #fff;
		  padding: 0;
	  }
	  #header .header_logo {
		width: 9rem;
		margin: 1rem 1rem;
	}
	  #header .header_txt{
		display: none;
	  }
}
/* 
ハンバーガーメニュー　
*/
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
	top: 0;
    /*ナビのスタート位置と形状*/
	visibility: hidden;
	opacity: 0;
	width: 100%;
    height: 100vh;/*ナビの高さ*/
	background:var(--bodyback-color);
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    top: 0;
	background-color: rgb(252, 252, 252,90%);
    height: 100%;
	visibility:visible;
	opacity: 1;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
	position: relative;
    z-index: 999;
    width: 100%;
    height: 100%;
}


/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
	position: absolute;
    z-index: 999;
    width: 100%;
	height: 100vh;
	flex-wrap: wrap;
	background-image: url(images/nav_back.svg);
	background-color: #fff;
	object-fit: cover;
}

/*リストのレイアウト設定*/
#g-nav .g-nav_ul{
	padding: 9.5rem 4rem;
}
#g-nav ul .nav_bottom{
	z-index: -1;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    object-fit: cover;
}
#g-nav ul .nav_logo{
	z-index: 0;
    position: absolute;
    bottom: 5%;
    right: 4%;
	width: 20%;
}
#g-nav li{
	background-color: #fff;
	overflow: hidden;
	box-shadow: 1.3px 1.3px 3.3px;
	border-radius: 15px;
	width: 48%;
	margin-bottom: 2rem;
	z-index: 1;
}
#g-nav li.nav_info{
	background-color: transparent;
	overflow: hidden;
	box-shadow: none;
	border-radius: none;
	width: 48%;
	margin-bottom: 2rem;
}
#g-nav .nav_box .nav_box_content{
	position: relative;
	padding: 1.4vw 1.4vw 1.4vw 2vw;
}
#g-nav .nav_box .nav_box_flex_txt{
	-webkit-text-stroke: 0.8px #000;
	text-stroke: 0.8px #000;
	color: #fff;
	font-size: 1.4vw;
	position: relative;
	z-index: 1;
	line-height: 1.5;
}
#g-nav .nav_box h2{
    font-size: 2.7vw;
    font-weight: 300;
    font-family: var(--english-font);
	position: relative;
}
#g-nav .nav_box h2 span.red{
	color: var(--thema-color-r);
}
#g-nav .nav_info h2::after{
    content: "";
    display: block;
	width: calc(100% - 9.2em);
    height: 0;
    position: absolute;
    z-index: 2;
    bottom: 50%;
    right: 4%;
    border-bottom: 2px solid;
	}
#g-nav .nav_box p{
	font-size: 1.4vw;
		position: relative;
	z-index: 1;
	font-weight: 400;
	margin: 0.5rem 0 0;
}
#g-nav .nav_box p::after{
content: "";
    display: block;
    width: calc(100% - 18.5em);
    height: 3em;
    position: absolute;
    z-index: 2;
    bottom: 50%;
    right: 1%;
    border-right: 1px solid #000;
    border-bottom: 1px solid;
}
#g-nav .nav_ctc p::after{
	content: "";
		display: block;
		width: calc(100% - 14.3em);
		height: 3em;
		position: absolute;
		z-index: 2;
		bottom: 50%;
		right: 1%;
		border-right: 1px solid #000;
		border-bottom: 1px solid;
	}
#g-nav .nav_service p::after{
	content: "";
		display: block;
		width: calc(100% - 17.5em);
		height: 3em;
		position: absolute;
		z-index: 2;
		bottom: 50%;
		right: 1%;
		border-right: 1px solid #000;
		border-bottom: 1px solid;
	}
	#g-nav .nav_info p::after{
		content: "";
		display: none;
		}
#g-nav .nav_news p::after{
	content: "";
		display: block;
		width: calc(100% - 24em);
		height: 3em;
		position: absolute;
		z-index: 2;
		bottom: 50%;
		right: 1%;
		border-right: 1px solid #000;
		border-bottom: 1px solid;
	}

	#g-nav .nav_box .btn{
		width: 13.9vw;
	}
#g-nav .nav_box .flex_wrap{
	align-items: baseline;
    gap: 1rem;
    position: relative;
    z-index: 1;
    justify-content: flex-start;
    flex-wrap: nowrap;
}
#g-nav .nav_box .flex_wrap img{
	height: 2.5vw;
}
#g-nav .nav_box .nav_box_back{
	position: absolute;
    top: -44%;
    right: -2%;
    width: 35%;
}
#g-nav .nav_box .nav_box_flex{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}
@media screen and (max-width: 1020px) {
	#g-nav .nav_box .nav_box_flex {
		gap: 0.5rem;
		flex-direction: column;
		justify-content: flex-start;
		align-items: start;
	}
	#g-nav .nav_box .btn_area {
		display: block;
		margin: 0 0 0 auto;
	}
	#g-nav .nav_box .nav_box_flex_txt {
		-webkit-text-stroke: 0.6px #000;
		text-stroke: 0.6px #000;
		font-size: 1.5rem;
	}
	#g-nav .nav_box p {
		font-size: 1.5rem;
	}
	#g-nav .nav_news p::after {
		content: "";
		display: block;
		width: calc(100% - 17em);
		height: 5em;
		position: absolute;
		z-index: 2;
		bottom: 25%;
		right: 1%;
		border-right: 1px solid #000;
		border-bottom: 1px solid;
	}
}
@media screen and (max-width: 767px) {
	#g-nav .g-nav_ul {
		padding: 5rem 2.2rem;
		align-items: flex-start;
		flex-direction: column;
		justify-content: flex-start;
		gap: 2rem;
		flex-wrap: nowrap;
	}
	#g-nav li {
		width: 100%;
		margin: 0;
	}
	#g-nav .nav_box .nav_box_flex {
		align-items: normal;
		flex-direction: row;
	}
	#g-nav .nav_ctc p::after {
		display: none;
	}
	#g-nav .nav_box p::after {
		display: none;
	}
	#g-nav .nav_service p::after {
		display: none;
	}
	#g-nav .nav_news p::after {
		display: none;
	}
	#g-nav .nav_info h2::after {
		display: none;
	}
	#g-nav .nav_box .nav_box_content{
		padding: 1rem;
	}
	#g-nav .nav_box .nav_box_flex_txt{
		-webkit-text-stroke: 0.6px #000;
		text-stroke: 0.6px #000;
		font-size: 1.5rem;
	}
	#g-nav .nav_box h2{
		font-size: 2.3rem;
	}
	#g-nav .nav_box p{
		font-size: 1.5rem;
	}
	#g-nav .nav_box .flex_wrap{
		gap: 0.5rem;
	}
	#g-nav .nav_box .flex_wrap img{
		height: 2em;
		padding-top: 0.5rem;
	}

	#g-nav .nav_box .nav_box_back {
		position: absolute;
		top: -13%;
		right: -1%;
		width: 20%;
	}
	#g-nav li.nav_info {
		width: 100%;
		display: none;
	}
	#g-nav .nav_box .btn{
		width: 16rem;
		height: 3.5rem;
		min-width: 0;
		margin: 0 0 0 auto;
	}
	#g-nav .nav_box h2 span.red {
		color: #000;
	}
	#g-nav ul .nav_bottom {
		height: 11rem;
	}
	#g-nav ul .nav_logo {
		z-index: 0;
		position: absolute;
		bottom: 3rem;
		right: 4%;
		width: 20%;
	}
}
@media screen and (max-width: 560px) {
	#g-nav .nav_box .nav_box_flex {
		flex-direction: column;
	}
	#g-nav .nav_box .nav_box_back{
		position: absolute;
		top: -24%;
		right: -5%;
		width: 38%;
	}
}
@media screen and (max-width: 380px) {
	#g-nav .nav_box .nav_box_flex {
		flex-direction:row;
	}
}
/*========= ボタンのためのCSS ===============*/
.openbtn {
    display: block;
    cursor: pointer;
    width: 100px;
    height: 50px;
    border-radius: 10px;
	position: relative;
	transform: 1s;
}


/*×に変化*/
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 12px;
    height: 3px;
    border-radius: 2px;
	background-color: #000;
  	width: 60%;
  }
.openbtn span:nth-of-type(1) {
	top:17px;	
}

.openbtn span:nth-of-type(2) {
	top:30px;
}

.openbtn span:nth-of-type(3) {
	top:44px;
}

.openbtn.active {
    transform: rotate(-90deg);
    bottom: initial;
    position: fixed;
    z-index: 9999;
    top: 2%;
    left: 0;
}
@media screen and (max-width: 767px) {
	.openbtn {
		position: absolute;
		right: 1rem;
		top: 0.3rem;
		width: 5rem;
		height: 4rem;
	}
	.openbtn span {
		height: 1.5px;
	}
	.openbtn span:nth-of-type(1) {
		top: 12px;
	}
	.openbtn span:nth-of-type(2) {
		top: 18px;
	}
	.openbtn span:nth-of-type(3) {
		top: 24px;
	}
	.openbtn.active {
		transform: initial;
		bottom: initial;
		position: fixed;
		z-index: 9999;
		right: 1rem;
		top: 0.3rem;
		left: initial;
	}
}


/*画面固定ボタン*/
.fixed_btn{
	position: fixed;
	right: 2%;
	z-index: 98;
	bottom: 4%;
	transition: .3s;
	display: block;
}
.fixed_btn img{
	width: 27rem;
}
@media screen and (max-width: 1536px) {
	.fixed_btn img{
		width: 18rem;
	}
}
@media screen and (max-width: 767px) {
	.fixed_btn{
		visibility: hidden;
		opacity: 0;
	}
}
/* ===================================================================
// TOPページ
// ===================================================================*/
/*FV*/
.fv{
	padding: 0 0 0 8rem;
	position: relative;
	overflow: hidden;
}
.fv .object_fit_img{
    z-index: -1;
    position: relative;
    height: 105vh;
    width: 100%;
    object-fit: cover;
}
.fv .fv_txt{
	position: absolute;
	top: 15%;
	left: 9em;
}
.fv .fv_txt h1{
	font-size: 4.85vw;
	font-family: var(--english-font);
	font-weight: 300;
}
.fv .fv_txt h1 img{
	width: 51vw;
}
.fv .fv_txt h2{
	font-size: 2.78vw;
	font-family: var(--english-font);
	font-weight: 400;
}
.fv .fv_txt h2 img{
	width: 67vw;
}
.fv .fv_txt h2 span{
	font-weight: 200;
	padding-left: 2rem;
}
.fv .fv_box{
	position: absolute;
	bottom: 18%;
	left: 9em;
	background-color: #fff;
	overflow: hidden;
	box-shadow: 1.3px 1.3px 3.3px;
	border-radius: 15px;
}
.fv .fv_box .fv_box_content{
	position: relative;
	padding: 2rem 2rem 3rem 3rem;
}
.fv .fv_box .fv_box_flex_txt{
	-webkit-text-stroke: 0.8px #000;
	text-stroke: 0.8px #000;
	color: #fff;
	font-size: 2rem;
		position: relative;
	z-index: 1;
}
.fv .fv_box h3{
    font-size: 4rem;
    font-weight: 300;
    font-family: var(--english-font);
}
.fv .fv_box p{
	font-size: 2rem;
		position: relative;
	z-index: 1;
	font-weight: 400;
}
.fv .fv_box p::after{
content: "";
    display: block;
    width: 42%;
    height: 7rem;
    position: absolute;
    z-index: 2;
    bottom: 50%;
    right: 1%;
    border-right: 1px solid #000;
    border-bottom: 1px solid;
}
.fv .fv_box .flex_wrap{
	align-items: center;
	gap: 1rem;
	position: relative;
	z-index: 1;
	justify-content: flex-start;
}
.fv .fv_box .flex_wrap img{
	height: 2.5em;
}
.fv .fv_box .flex_wrap h3 img{
	width: auto;
	height:4rem;
	margin: 0;
	object-fit: contain;
}
.fv .fv_box .fv_box_back{
	position: absolute;
    top: -44%;
    right: -2%;
    width: 35%;
}
.fv .fv_box .fv_box_flex{
	display: flex;
	align-items: center;justify-content: space-between;
	gap: 2rem;
}
@media screen and (max-width: 1020px) {

.fv .fv_box .fv_box_content {
    padding: 1rem 1rem 1rem 2rem;
}
.fv .fv_box .flex_wrap img {
    height: 1.5em;
}
.fv .fv_box h3 {
    font-size: 2.3rem;
}
.fv .fv_box p {
	font-size: 1.5rem;
}
.fv .fv_box p::after {
    content: "";
    display: block;
	width: calc(100% - 18.5em);
    height: 4rem;
    position: absolute;
    z-index: 2;
    bottom: 50%;
    right: 1%;
    border-right: 1px solid #000;
    border-bottom: 1px solid;
}
.fv .fv_box .flex_wrap{
	gap: 0.5rem;
}
.fv .fv_box .fv_box_flex {
    gap: 0rem;
	align-items: normal;
	flex-direction: column;
}
.fv .fv_box .fv_box_flex_txt {
    -webkit-text-stroke: 0.6px #000;
    text-stroke: 0.6px #000;
    font-size: 1.6rem;
}
.fv .fv_box .fv_box_flex .btn {
	width: 16rem;
    height: 3.5rem;
    min-width: 0;
    margin: 1rem 0 0 auto;
}
.fv .fv_box .fv_box_flex .btn_txt {
    font-size: 1rem;
}
.fv .fv_box .fv_box_back {
    position: absolute;
    top: -24%;
    right: -5%;
    width: 38%;
}
.fv .fv_box .flex_wrap h3 img{
	width: auto;
	height:2.1rem;
	margin-top: 0.2rem;
}
}
@media screen and (max-width: 767px) {
	.fv {
		padding: 0;
		position: relative;
		overflow: hidden;
		height: 105vh;
	}
	.fv .fv_box {
		position: absolute;
		bottom: 10%;
		left: 1rem;
		right: 1rem;
		border-radius: 10px;
		width: max-content;
}
.fv .fv_txt {
    position: absolute;
    top: 12%;
    left: 5%;
}
.fv .fv_txt h1 {
    font-size: 2.7rem;
	margin-bottom: 0.5rem;
}
.fv .fv_txt h1 img{
	width: 77vw;
}
.fv .fv_txt h2 {
    font-size: 1.4rem;
}
.fv .fv_txt h2 img{
	width: 90%;
}
.fv .fv_txt h2 span {
    font-weight: 200;
    padding-left: 1rem;
}
.fv .fv_box .flex_wrap h3 img{
	width: auto;
	height:2.1rem;
	margin-top: 0.2rem;
}
}
@media screen and (min-width: 1021px) {
	.br_1020{
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.pc_br{
		display: none;
	}
	.br_1020{
		display: contents;
	}
}
  @media screen and (min-width: 767px) {
	.sp_br{
		display: none;
	}
  }
/*intro*/
.top_intro::before {
    content: "";
    display: block;
    background-color: #fff;
    width: 100%;
    height: 10rem;
    z-index: -1;
    border-radius: 80px 80px 0 0;
    position: absolute;
    top: -6rem;
}
.top_intro{
	padding-bottom: 10rem;
	position: relative;
}
.top_intro .top_intro_back{
	position: absolute;
	top: 27%;
	width: 100%;
	object-fit: cover;
	z-index: -1;
}
.top_intro h2{
	font-size: 4rem;
	font-weight: 200;
	text-align: center;
	font-style: oblique;
	margin-bottom: 6rem;
}
.top_intro h2 span{
	font-size: 6rem;
}
.top_intro h2 .comma{
	font-size: 6rem;
}
.top_intro h2 .bold{
	font-weight: 400;
}
.top_intro h2 .fire{
	color: red;
	font-weight: 400;
}
.top_intro h2 .line{
	background:linear-gradient(transparent 50%, #fff000 50%);
}
.slick-initialized .slick-slide {
    display: block;
    margin: 1rem;
}
.slider1 .slick-dots li {
    margin: 0 7px;
}
.slider1 .slick-dots {
    bottom: -59px;
}
.slider1 .slick-dots li button:before {
    font-family: 'slick';
    font-size: 17px;
}

.top_intro p{
	font-size: 3rem;
	font-weight: 200;
	text-align: center;
	margin-top: 9rem;
}
.top_intro p span{
	color: #EA6000;
}
@media screen and (max-width: 767px) {
	.top_intro::before {
		content: "";
		display: block;
		background-color: #fff;
		width: 100%;
		height: 10rem;
		z-index: -1;
		border-radius: 30px 30px 0 0;
		position: absolute;
		top: -3rem;
	}
	.top_intro h2 {
		font-size: 1.6rem;
		margin-bottom: 4rem;
	}
	.slider1 .slick-dots li button:before {
		font-size: 9px;
	}
	.slider1 .slick-dots {
		bottom: -36px;
	}
	.slider1 .slick-dots li {
		margin: 0;
	}
	.top_intro p {
		font-size: 1.5rem;
		margin-top: 3rem;
	}
	.top_intro h2 span {
		font-size: 2.5rem;
	}
	.top_intro h2 .comma {
		font-size: 2.5rem;
	}

}
/*pr*/
.top_pr{
	background-color: #000;
	overflow:hidden;
	border-radius: 100px 100px 0 0;
	position: relative;
	z-index: 0;
	margin-top: -5rem;
	padding-top: 8rem;
	padding-bottom: 15rem;

}
.top_pr .top_pr_back{
	position: absolute;
	top: 27%;
	width: 100%;
	object-fit: cover;
	z-index: -1;
}
.top_pr h2{
	font-size: 4rem;
	font-weight: 200;
	text-align: center;
	font-style: oblique;
	margin-bottom: 6rem;
	color: #fff;
}
.top_pr h2 span{
	font-size: 6rem;
}
.top_pr h2 .green{
	color: var(--thema-color-g);
	font-weight: 400;
}
.top_pr h2 .comma{
	font-size: 6rem;
}
.top_pr .txt_center{
	margin-top: 9rem;
}
.top_pr p{
	font-size: 2.7rem;
	font-weight: 200;
	color: #fff;
	margin: 0;
}
.top_pr .slider1 .slick-dots li button:before {
	color: #fff;
}
.top_pr .slick-dots li button:before {
    opacity: 0.75;
}
.top_pr .slick-dots li.slick-active button:before {
    opacity: 1;
}
@media screen and (max-width: 767px) {
	.top_pr {
		border-radius: 30px 30px 0 0;
		margin-top: -5rem;
		padding-top: 4rem;
		padding-bottom: 5rem;
	}
	.top_pr h2 {
		font-size: 1.6rem;
		margin-bottom: 3rem;
	}
	.top_pr h2 .comma {
		font-size: 2.5rem;
	}
	.top_pr h2 span {
		font-size: 2.5rem;
	}
	.top_pr p {
		font-size: 1.5rem;
		text-align: center;
	}
	.top_pr .txt_center {
		margin-top: 6rem;
		padding-bottom: 9rem;
	}
	.top_pr .top_pr_back {
		height: 38rem;
	}
}
/*service*/
.sub_ttl{
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
	gap: 1rem;

}
.sub_ttl img{
	height: 6rem;
	padding-top: 1rem;
}
.sub_ttl h2{
	font-size: 6rem;
	font-weight: 300;
	z-index: 1;
}
.subttl_lead{
	font-size: 3.3rem;
	font-weight: 400;
	margin-top: 1rem;
	z-index: 1;
    position: relative;
}
.subttl_lead::after{
    content: "";
    display: block;
    background-color: transparent;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    width: calc(100% - 27em);
    height: 11rem;
    position: absolute;
    bottom: 50%;
    right: 4%;
}
.top_service{
	position: relative;
	border-radius: 100px 100px 0 0;
	margin-top: -11rem;
	overflow: hidden;
	width: 100%;
	background: #fff;
}
.top_service .subttl_lead::after{
    content: "";
    display: block;
    background-color: transparent;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    width: calc(100% - 20em);
    height: 11rem;
    position: absolute;
    bottom: 50%;
    right: 4%;
}
.top_service_txt{
	position: absolute;
	top: 10%;
	left:0;
	display: block;
	z-index: 1;
	width: 100%;
}
.top_service_txt h4, .top_service_h4_sp h4{
	-webkit-text-stroke: 0.8px #000;
    text-stroke: 0.8px #000;
    color: #fff;
    font-size: 2.4rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.7rem;
}
.top_service_txt h4::before, .top_service_h4_sp h4::before{
	content: "";
	background-color: var(--thema-color-g);
	height: 2.5em;
	width: 1rem;
	display: block;
}
.top_service_txt .btn, .top_service_h4_sp .btn{
	border: var(--thema-color-g) 1px solid;
	margin: 2rem 0;
}
.top_service ul li{
	position: relative;
}
.top_service ul li img{
	width: 37%;
    margin: auto 0 auto auto;
    padding: 10rem 15rem 12rem 0;
	z-index: 1;
    position: relative;
	object-fit: cover;
}

.top_service ul li:first-of-type::before{
	content: "";
	position: absolute;
	background: url(images/top_service1.png);
	background-repeat: no-repeat;
	background-size: cover;
    filter: blur(5px);
	top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
	background-position: 0 30%;
}
.top_service ul li:nth-of-type(2)::before{
	content: "";
	position: absolute;
	background: url(images/top_service2.png);	
	background-repeat: no-repeat;
	background-size: cover;
	filter: blur(5px);
	top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
	background-position: 0 15%;
}
.top_service ul li:nth-of-type(3)::before{
	content: "";
	position: absolute;
	background: url(images/top_service3.png);	
	background-repeat: no-repeat;
	background-size: cover;
	filter: blur(5px);
	top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
	background-position: 0 30%;
}
.top_service .slick-initialized .slick-slide {
    display: block;
    margin: 0;
}
.top_service .prev-arrow{
	content: "";
    z-index: 1;
    position: absolute;
    top: 42%;
    right: 39%;
    width: 4rem;
    height: 10rem;
    background: url(images/top_service_prev.svg);
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
    padding: 0;
}
.top_service .next-arrow{
	content: "";
    z-index: 1;
    position: absolute;
    top: 42%;
    right: 8rem;
    width: 4rem;
    height: 10rem;
    background: url(images/top_service_next.svg);
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
    padding: 0;
}
.top_service_insta{
	position: absolute;
	left: 5rem;
	bottom: 17%;
}
.top_service_insta .flex_wrap{
	flex-direction: column;
	justify-content: flex-start;
	margin-bottom: 1rem;
}
.top_service_insta .flex_wrap span{
	font-size: 1rem;
	font-weight: 200;
}
.top_service_insta .flex_wrap img{
	width: 2rem;
}
.top_service .service_g{
	position: absolute;
	top: 0;
	right: 0;
	width: 32%;
	z-index: 1;
	margin: 0;
    padding: 0;
}
@media screen and (max-width: 767px) {
	.top_service_txt {
		top: 6%;
	}
	.sub_ttl{
		gap: 0.5rem;
	}
	.sub_ttl img{
		height: 3rem;
		padding-top: 0.5rem;
	}
	.sub_ttl h2{
		font-size: 3rem;
	}
	.subttl_lead{
		font-size: 1.75rem;
	    margin-top: 0.5rem;
	}
	.top_service {
		border-radius: 30px 30px 0 0;
	}
	.top_service ul li:first-of-type::before{
		content: "";
		background: none;
	}
	.top_service ul li:nth-child(2)::before{
		content: "";
		background: none;
	}
	.top_service ul li:nth-child(3)::before{
		content: "";
		background: none;
	}
	.top_service .slick-initialized .slick-slide {
		margin: 0;
	}
	.top_service ul li img{
		width: 100%;
		margin:  0 ;
		padding: 0;
		z-index: 1;
		position: relative;
		object-fit: cover;
	}
	.top_service_txt {
    position: absolute;
    top: 6%;
    left: 0;
    display: block;
    z-index: 1;
    width: 100%;
}
.top_service .service_g{
	position: absolute;
	top: 0;
	right: 0;
	width: 35%;
	z-index: 2;
	margin: 0;
    padding: 0;
}
.top_service_h4_sp h4 {
    font-size: 1.5rem;
}
.top_service_h4_sp{
	position: absolute;
	bottom: 7%;
}
.top_service_insta{
	left: 2.2rem;
	bottom: 23%;
}
.top_service_h4_sp .btn {
    margin: 1rem 0;
}
.top_service_h4_sp .btn_txt {
    color: #fff;
}
.top_service .prev-arrow {
    content: "";
    z-index: 1;
    position: absolute;
    top: 34%;
    left: 5%;
    right: initial;
    width: 3rem;
    height: 8rem;
    background: url(images/top_service_prev.svg);
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
    padding: 0;
}
.top_service .next-arrow {
	content: "";
    z-index: 1;
    position: absolute;
    top: 34%;
    right: 5%;
    width: 3rem;
    height: 8rem;
    background: url(images/top_service_next.svg);
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
    padding: 0;
}
.subttl_lead::after{
	display: none;
}
.top_news .slick-slide .news_li_img {
    border-radius: 10px;
    width: 100%;
    height: 18rem;
    object-fit: cover;
}
.top_service .subttl_lead::after {
	display: none;
}
}
/*news*/
.top_news {
    padding-top: 7rem;
    padding-bottom: 6rem;
    margin-top: -9rem;
    background-color: #fff;
    position: relative;
	border-radius: 100px 100px 0 0 ;
}
.sub_ttl h2 span.red{
	color: var(--thema-color-r);
}
.top_news .news_red{
	position: absolute;
	top: 0;
	right: 0;
	width: 32%;
    border-radius: 0 100px 0 0;
}
.top_news .news_back{
	position: absolute;
	top: 66%;
	width: 100%;
}
.top_news .subttl_lead{
	margin-bottom: 7rem;
}
.top_news .slick-list{
	overflow: visible;
}
.top_news .slick-slide{
	border-radius: 30px;
	box-shadow: 4.5px 4.5px 6.4px rgb(51, 51, 51,70%);	
	position: relative;
}
.top_intro .slick-slide a img,
.top_pr .slick-slide a img{
	border-radius: 30px;
}
.top_news .slick-slide .news_li_img{
	border-radius: 30px;
    width: 100%;
    height: 29vw;
    object-fit: cover;
	background: #fff;
}
.top_news li .news_txt{
	position: absolute;
	bottom: 5%;
	left: 5%;
}
.top_news li .news_flex{
	display: flex;
	justify-content: flex-start;
	gap: 3rem;
	align-items: center;
	margin-bottom: 1.5rem;
}
.top_news li .news_flex img{
	width: 4.5rem;
}
.top_news li .news_flex span{
	padding: 1.3rem 0;
    width: 22rem;
    text-align: center;
    border: #000 2px solid;
    border-radius: 40px;
	text-shadow:0px 0px 3px #fff;
	box-shadow: 0px 0px 3px #fff;
}
.top_news li h4{
	font-size: 3.5rem;
	font-weight: 400;
	text-shadow:0px 0px 3px #fff;
}
.top_news .slider1 .slick-dots li button:before {
	color: var(--thema-color-r);
}
.top_news .slick-dots li button:before {
    opacity: 0.75;
}
.top_news .slick-dots li.slick-active button:before {
    opacity: 1;
}
.top_news .btn{
	border: var(--thema-color-r) 1px solid;
	width: 35rem;
	height: 6.5rem;
}
.top_news .btn_area{
	margin-top: 10rem;
}
.top_news .btn_txt{
	font-size: 2rem;
}
@media screen and (max-width: 1020px) {
	.top_news .subttl_lead::after {
		content: "";
		display: block;
		background-color: transparent;
		border-bottom: 2px solid #000;
		border-right: 2px solid #000;
		width: calc(100% - 19em);
		height: 11rem;
		position: absolute;
		bottom: 25%;
		right: 4%;
	}
}
@media screen and (max-width: 767px) {
	.top_news {
		padding-top: 4rem;
		padding-bottom: 3rem;
		margin-top: -3rem;
		border-radius: 30px 30px 0 0 ;
	}
	.top_news .news_red{
		border-radius: 0 30px 0 0;
	}
	.sub_ttl h2 span.red{
		color: #000;
	}
	.top_news .subttl_lead{
		margin-bottom: 2rem;
	}
	.top_news .slick-slide .news_li_img {
		border-radius: 10px;
		height: 40vw;
	}
	.top_news li .news_flex span {
		padding: 0.5rem 0;
		width: 12rem;
		text-align: center;
		border: #000 1px solid;
		border-radius: 40px;
		text-shadow: 0px 0px 3px #fff;
		box-shadow: 0px 0px 3px #fff;
		font-size: 1rem;
	}
	.top_news li .news_flex img {
		width: 2.5rem;

	}
	.top_news li .news_flex {
		gap: 1rem;
		margin-bottom: 0.5rem;
	}
	.top_news li h4 {
		font-size: 2rem;
		text-shadow: 0px 0px 3px #fff;
	}
	.top_news .btn {
		width: 16rem;
   		height: 3rem;
	}
	.top_news .btn_txt {
		font-size: 1rem;
	}
	.top_news .btn_area {
		margin-top: 6rem;
	}
	.top_news .news_back {
		position: absolute;
		top: 58%;
		width: 100%;
		height: 43rem;
		object-fit: cover;
	}	
	.top_news .subttl_lead::after {
		display: none;
	}
}
/*ctc*/
.top_ctc{
	padding-bottom: 45rem;
}
.top_ctc .ctc_box{
	background-color: #fff;
	overflow: hidden;
	box-shadow: 1.3px 1.3px 3.3px;
	border-radius: 15px;
	width: 100%;
	margin-bottom: 3rem;
	z-index: 2;
}
.top_ctc .ctc_box .nav_box_content{
	position: relative;
	padding: 4rem 4rem 5rem 5rem;
	background-color: #fff;
}
.top_ctc .ctc_box .nav_box_flex_txt{
	-webkit-text-stroke: 1px #000;
	text-stroke: 1px #000;
	color: #fff;
	font-size: 3rem;
	position: relative;
	z-index: 1;
}
.top_ctc .ctc_box h2{
    font-size: 6rem;
    font-weight: 300;
    font-family: var(--english-font);
	position: relative;
}
.top_ctc .ctc_box p{
	font-size: 3rem;
		position: relative;
	z-index: 1;
	line-height: 1.2;

}
.top_ctc .ctc_box p::after{
	content: "";
		display: block;
		width: calc(100% - 15em);
		height: 10rem;
		position: absolute;
		z-index: 2;
		bottom: 50%;
		right: 1%;
		border-right: 2px solid #000;
		border-bottom: 2px solid;
	}
.top_ctc .ctc_box .flex_wrap{
	align-items: baseline;
	gap: 1rem;
	position: relative;
	z-index: 1;
	justify-content: flex-start;
	flex-wrap: nowrap;
}
.top_ctc .ctc_box .flex_wrap img{
	height: 7rem;
	padding-top: 1em;
}
.top_ctc .ctc_box .nav_box_back{
	position: absolute;
    top: -44%;
    right: -2%;
    width: 28%;
}
.top_ctc .ctc_box .nav_box_flex{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}
.top_ctc .ctc_box .btn {
    width: 27rem;
    height: 5.5rem;
	border: 1px solid #000;
}
.top_ctc .btn_txt {
    font-size: 1.5rem;
}
@media screen and (max-width: 1135px) {
	.top_ctc .ctc_box p::after {
		width: calc(100% - 15em);
		height: 10rem;
		position: absolute;
		z-index: 2;
		bottom: 50%;
		right: 1%;
		border-right: 2px solid #000;
		border-bottom: 2px solid;
	}
	.top_ctc .ctc_box h2 {
		font-size: 4rem;
	}
	.top_ctc .ctc_box .flex_wrap img {
		height: 4rem;
		padding-top: 0.3em;
	}
}

@media screen and (max-width: 1020px) {
	.top_ctc .ctc_box .nav_box_back {
		position: absolute;
		top: -14%;
		right: -2%;
		width: 33%;
	}
}

@media screen and (max-width: 767px) {
	.top_ctc {
		padding-bottom: 15rem;
	}
	.top_ctc .ctc_box{
		border-radius: 10px;
		width: 100%;
		margin: 0 auto;
	}
	.top_ctc .ctc_box .nav_box_content{
		padding: 1rem 1rem 1rem 2rem;
	}
	.top_ctc .ctc_box .nav_box_flex_txt{
		-webkit-text-stroke: 0.6px #000;
		text-stroke: 0.6px #000;
		font-size: 1.6rem;
	}
	.top_ctc .ctc_box h2{
		font-size: 2.3rem;
	}
	.top_ctc .ctc_box p{
		font-size: 1.5rem;
	}
	.top_ctc .ctc_box p::after {
		content: "";
		display: block;
		width: calc(100% - 14.5em);
		height: 4rem;
		position: absolute;
		z-index: 2;
		bottom: 50%;
		right: 1%;
		border-right: 1px solid #000;
		border-bottom: 1px solid;
	}
	.top_ctc .ctc_box .flex_wrap{
		gap: 0.5rem;
	}
	.top_ctc .ctc_box .flex_wrap img{
		height: 2em;
	}
	.top_ctc .ctc_box .nav_box_back{
		position: absolute;
		top: -13%;
		right: -1%;
		width: 20%;
	}
	.top_ctc .ctc_box .nav_box_flex{
		gap: 0rem;
		align-items: normal;
		flex-direction: column;
	}
	.top_ctc .ctc_box .btn {
		width: 16rem;
		height: 3.5rem;
		min-width: 0;
		margin: 1rem 0 0 auto;
		border: 1px solid #000;
	}
	.top_ctc .btn_txt {
		font-size: 1rem;
	}
}
@media screen and (max-width: 567px) {
	.top_ctc .ctc_box .nav_box_back{
		position: absolute;
		top: -24%;
		right: -5%;
		width: 38%;
	}
}
/*----------------------TOPIX----------------------*/
/*intro*/
.topix_intro{
	padding-top: 5rem;
	padding-bottom: 15rem;
	position: relative;
}
.topix_intro .topix_y{
    position: absolute;
    top: 0;
    right: 0;
    width: 32%;
	z-index: -1;
	
}
.topix_intro .subttl_lead::after{
	content: "";
    display: block;
    background-color: transparent;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    width: calc(100% - 21.5em);
    height: 11rem;
    position: absolute;
    bottom: 50%;
    right: 4%;
}
.topix_intro h4{
	font-size: 5.5rem;
	-webkit-text-stroke: 1.5px #000;
	text-stroke: 1.5px #000;
	margin-top: 8rem;
	color: #fff;
	line-height: 1.5;
}
.topix_intro p{
	font-weight: 500;
	margin-top: 3rem;
}
@media screen and (max-width: 1020px) {
	.topix_intro .subttl_lead::after {
		content: "";
		display: block;
		background-color: transparent;
		border-bottom: 2px solid #000;
		border-right: 2px solid #000;
		width: calc(100% - 13.5em);
		height: 16rem;
		position: absolute;
		bottom: 25%;
		right: 4%;
	}
}
@media screen and (max-width: 767px) {

	.topix_intro .subttl_lead::after {
		display: none;
	}
	.topix_intro .topix_y {
		position: absolute;
		top: 3%;
		right: 0;
		width: 42%;
		z-index: -1;
	}
	.topix_intro {
		padding-top: 6.5rem;
		padding-bottom: 3rem;
	}
	.topix_intro h4 {
		font-size: 2.8rem;
		-webkit-text-stroke: 1px #000;
		text-stroke: 1px #000;
		margin-top: 6rem;
	}
}
/*main_top*/
.topix_main{
	background-color: var(--thema-color-y);
	border-radius: 100px 100px 0 0;
	padding-top: 5rem;
	padding-bottom: 15rem;
}
.topix_main .topix_main_top{
	align-items: center;
}
.topix_main .topix_main_top img{
	width: 40%;
}
.topix_main .topix_main_top div{
	width: 55%;
}
.topix_main .topix_main_top div p{
	font-weight: 500;
}
.topix_main .topix_main_top div h2{
	font-size: 5.5rem;
	-webkit-text-stroke: 1.5px #000;
	text-stroke: 1.5px #000;
	color: #fff;
	line-height: 1.5;
	margin-bottom: 3rem;
}
@media screen and (max-width: 1020px) {
	.topix_main .topix_main_top {
		flex-direction: column;
	}
	.topix_main .topix_main_top img {
		width: 75%;
	}
	.topix_main .topix_main_top div {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.topix_main {
		background-color: var(--thema-color-y);
		border-radius: 30px 30px 0 0;
		padding-top: 3rem;
		padding-bottom: 9rem;
	}	

	.topix_main .topix_main_top div h2 {
		font-size: 2.5rem;
		-webkit-text-stroke: 0.8px #000;
		text-stroke: 0.8px #000;
		color: #fff;
		line-height: 1.7;
		margin-bottom: 1.5rem;
		margin-top: 1.3rem;
	}
}
/*main_bottom*/
.topix_main .topix_main_bottom{
	margin-top: 10rem;
}
.topix_main .topix_main_bottom li{
	background-color: #fff;
	box-shadow: 4.5px 4.5px 6.4px rgb(51, 51, 51,70%);
	border-radius: 30px;
	padding: 3rem 3rem 3rem 5rem;
	min-height: 35rem;
	margin-bottom: 3rem;
	align-items: center;
    gap: 2rem;
}
.topix_main .topix_main_bottom li .question{
	position: relative;
    width: 31rem;
    height: 29rem;
}
.topix_main .topix_main_bottom li .question img{
	position: absolute;
	z-index: 0;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 100%;
}
.topix_main .topix_main_bottom li .question h3{
    z-index: 1;
    position: absolute;
    top: 8rem;
    right: 4rem;
    left: 4rem;
    line-height: 1.7;
    font-size: 2rem;
}
.topix_main .topix_main_bottom li .answer{
	width: 70%;
}
.topix_main .topix_main_bottom li p{
	font-weight: 500;
}
.topix_main .topix_main_bottom li .answer .btn{
	border: 2px solid var(--thema-color-r);
	margin: 2rem 0;
	width: 32rem;
    height: 6rem;
}
	.topix_main .topix_main_bottom li .answer .btn .btn_txt {
    font-size: 1.6rem;
}
@media screen and (max-width: 1020px) {
	.topix_main .topix_main_bottom li .answer {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.topix_main .topix_main_bottom {
		margin-top: 2rem;
	}
	.topix_main .topix_main_bottom li {
		background-color: #fff;
		box-shadow: 4.5px 4.5px 6.4px rgb(51, 51, 51,70%);
		border-radius: 10px;
		padding: 3rem 2rem 2rem;
	}
	.topix_main .topix_main_bottom li .answer .btn .btn_txt {
		font-size: 1.4rem;
	}
	.topix_main .topix_main_bottom li .answer .btn {
		border: 1px solid var(--thema-color-r);
		width: 29rem;
		height: 5rem;
		margin: 0 auto;
	}
}
/*menu_box*/
.menu_block{
    padding-top: 4rem;
    border-radius: 100px 100px 0 0;
    margin-top: -8rem;
    background-color: #fff;
	position: relative;
}
.topix_page .menu_block{
	padding-top: 9rem;
}
.menu_block .menu_box{
	background-color: #fff;
	overflow: hidden;
	box-shadow: 1.3px 1.3px 3.3px;
	border-radius: 15px;
	width: 48%;
	margin-bottom: 2rem;
	z-index: 1;
}

.menu_block .menu_box .nav_box_content{
	position: relative;
	padding: 4rem 2rem 4rem 3rem;
	background-color: #fff;
}
.menu_block .menu_box .nav_box_flex_txt{
	-webkit-text-stroke: 1px #000;
	text-stroke: 1px #000;
	color: #fff;
	font-size: 3.5rem;
	position: relative;
	z-index: 1;
	line-height: 1.7;
}
.menu_block .menu_box h2{
    font-size: 4rem;
    font-weight: 300;
    font-family: var(--english-font);
	position: relative;
}

.menu_block .menu_box .flex_wrap{
	align-items: baseline;
	gap: 0.5rem;
	position: relative;
	z-index: 1;
	justify-content: flex-start;
	margin-bottom: 2rem;
}
.menu_block .menu_box .flex_wrap img{
	height: 2.5em;
	padding-top: 0.3em;
}
.menu_block .menu_box .nav_box_back{
	position: absolute;
    top: -44%;
    right: -2%;
    width: 60%;
}
.menu_block .news_box .white{
	color: #fff;
}
.menu_block .menu_box .nav_box_flex_txt{
	position: relative;
}
.menu_block .menu_box .nav_box_flex_txt .btn{
	position: absolute;
	bottom: 0.5rem;
	right: 0;
}

.menu_block .menu_back{
	position: absolute;
    top: 40%;
    width: 100%;
    left: 0;
}
@media screen and (max-width: 1310px) {
	.menu_block .menu_box .nav_box_flex_txt.btn_area {
		display: block;
	}
	.menu_block .menu_box .nav_box_flex_txt .btn {
		position: relative;
		bottom: initial;
		right: initial;
		margin: 0 0 0 auto;
	}
}

@media screen and (max-width: 1093px) {
	.menu_block {
		flex-wrap: wrap;
	}
	.menu_block .menu_box {
		overflow: hidden;
		width: 100%;
	}
	.menu_block .news_box .white {
		color: #000;
	}
	.menu_block .menu_box .nav_box_back {
		position: absolute;
		top: -44%;
		right: -2%;
		width: 28%;
	}
}
@media screen and (max-width: 1020px) {
	.menu_block .menu_box .nav_box_back {
		position: absolute;
		top: -14%;
		right: -2%;
		width: 33%;
	}
}
@media screen and (max-width: 767px) {
	.menu_block {
		padding-top: 4rem;
		border-radius: 30px 30px 0 0;
		margin-top: -8rem;
		background-color: #fff;
		position: relative;
	}
	.menu_block .menu_box {
		background-color: #fff;
		overflow: hidden;
		box-shadow: 1.3px 1.3px 3.3px;
		border-radius: 10px;
		width: 100%;
		margin-bottom: 2rem;
		z-index: 1;
	}
	.menu_block .menu_box .nav_box_content{
		padding: 1rem ;
	}
	.menu_block .menu_box .nav_box_flex_txt{
		-webkit-text-stroke: 0.6px #000;
		text-stroke: 0.6px #000;
		font-size: 1.6rem;
	}
	.menu_block .menu_box h2{
		font-size: 2.3rem;
	}
	.menu_block .menu_box .flex_wrap{
		gap: 0.5rem;
	    flex-wrap: nowrap;
   		align-items: baseline;
		margin-bottom: 1rem;
	}
	.menu_block .menu_box .flex_wrap img {
		height: 2em;
		padding-top: 0.5rem;
	}
	.menu_block .menu_box .nav_box_back{
		position: absolute;
		top: -13%;
		right: -1%;
		width: 20%;
	}
	.menu_block .menu_box .nav_box_flex_txt .btn{
		width: 16rem;
		height: 3.5rem;
		min-width: 0;
		margin: 1rem 0 0 auto;
		border: 1px solid #000;
		position: relative;
	}
	.menu_block .menu_box .nav_box_flex_txt .btn .btn_txt {
		font-size: 1rem;
	}
	.menu_block .menu_back {
		position: absolute;
		top: 14%;
		width: 100%;
		left: 0;
		height: 54rem;
		object-fit: cover;
	}
}
@media screen and (max-width: 560px) {
	.menu_block .menu_box .nav_box_back{
		position: absolute;
		top: -24%;
		right: -5%;
		width: 38%;
		
	}
}
/*----------------------Service----------------------*/
/*intro*/
.service_intro .service_g{
	position: absolute;
    top: 0;
    right: 0;
    width: 32%;
	z-index: 0;
}
.service_intro{
	width: 100%;
	position: relative;
	height: 100vh;
}
.service_intro .service_intro_back{
	width: 100%;
	object-fit: cover;
	z-index: -1;
	position: absolute;
	height: 100%;
}
.service_intro .sub_ttl{
	padding-top: 4rem;
	z-index: 1;
}
.service_intro .sub_ttl h2{
	color: #fff;
}
.service_intro .subttl_lead{
	color: #fff;
	z-index: 1;
}
.service_intro .subttl_lead::after{
    content: "";
    display: block;
    background-color: transparent;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    width: calc(100% - 20.5em);
    height: 9rem;
    position: absolute;
    bottom: 50%;
    right: 4%;
}
.service_intro h4{
    position: absolute;
	bottom: 17%;
    left: 0;
    color: #fff;
    font-size: 3.2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.7rem;
}
.service_intro h4::before{
	content: "";
	background-color: var(--thema-color-g);
	height: 2.5em;
	width: 1rem;
	display: block;
}
@media screen and (max-width: 767px) {
	.service_intro {
		width: 100%;
		position: relative;
		height: 100vh;
		padding-top: 3rem;
	}
	.service_intro .subttl_lead::after {
		display: none;
	}
	.service_intro .service_g {
		position: absolute;
		top: 3%;
		right: 0;
		width: 42%;
		z-index: 0;
	}
	.service_intro h4 {
		bottom: 9%;
		left: 0;
		font-size: 1.5rem;
		gap: 0.5rem;
		margin-top: 1.7rem;
	}
	.service_intro h4::before {
		content: "";
		background-color: var(--thema-color-g);
		height: 2.5em;
		width: 0.7rem;
		display: block;
	}
}
/*pr*/
.service_page .service_pr{
	border-radius: 100px 100px 0 0;
	padding-top: 6rem;
	margin-top: -9rem;
}
.service_pr .slider1 .slick-dots li button:before {
	color: var(--thema-color-g);
}
@media screen and (max-width: 767px) {
	.service_page .service_pr{
		border-radius: 30px 30px 0 0;
		padding-top: 3rem;
		margin-top: -5rem;
		padding-bottom: 0rem;
	}

}
/*detail_intro*/
.service_detail {
    padding-top: 1rem;
    border-radius: 100px 100px 0 0;
    margin-top: -10rem;
    background: #fff;
    z-index: 1;
    position: relative;
	padding-bottom: 2rem;
}
.service_detail .detail_intro{
	align-items: center;
	gap: 1rem;
}
.service_detail .detail_intro .intro_txt{
	width: 65%;
}
.service_detail .detail_intro img{
	width: 30%;
}
.service_detail .detail_intro .intro_txt h2{
	font-size: 3.2rem;
	font-weight: 600;
	display: flex;
    align-items: center;
    gap: 1rem;
	-webkit-text-stroke: 1px #000;
	text-stroke: 1px #000;
	color: #fff;
}
.service_detail .detail_intro .intro_txt h2::before{
	content: "";
    background-color: var(--thema-color-g);
    height: 1.5em;
    width: 1.6rem;
    display: block;
}
.service_detail .detail_intro .intro_txt p{
	font-weight: 400;
	margin-top: 2rem;
}
@media screen and (max-width: 1150px) {
	.service_detail {
		padding-top: 6rem;
	}
}
@media screen and (max-width: 767px) {
	.service_detail {
		padding-top: 4rem;
		border-radius: 30px 30px 0 0;
		margin-top: -4rem;
	}
	.service_detail h2.sp{
		font-size: 2rem;
		font-weight: 600;
		display: flex;
		align-items: center;
		gap: 1rem;
		-webkit-text-stroke: 1px #000;
		text-stroke: 1px #000;
		color: #fff;
	}
	.service_detail h2.sp::before{
		content: "";
		background-color: var(--thema-color-g);
		height: 1.5em;
		width: 1rem;
		display: block;
	}
	.service_detail .detail_intro {
		gap: 0rem;
		flex-direction: column-reverse;
	}
	.service_detail .detail_intro img {
		width: 80%;
	}
	.service_detail .detail_intro .intro_txt {
		width: 100%;
	}
	.service_detail .detail_intro .intro_txt p {
		margin-top: 0rem;
		margin-bottom: 3.5rem;
	}
}
/*detail_ul*/
.service_detail ul li.flex_wrap{
	flex-direction: column;
	margin-bottom: 5rem;
}
.service_detail ul li.flex_wrap .detail_li_txt{
	width: 100%;
}
.service_detail ul li.flex_wrap .detail_li_txt h3 img{
	height: 1.2em;
}
.service_detail ul li.flex_wrap .detail_li_txt h3{
	font-size: 4rem;
	font-weight: 300;
	align-items: center;
    display: flex;
    gap: 1rem;
}
.service_detail ul li.flex_wrap dl{
	width: 100%;
	background-color: #F2F2F2;
	border-radius: 50px;
}
.service_detail ul li.flex_wrap dl .flex_wrap{
	justify-content: flex-start;
	align-items: center;
}
.service_detail ul li.flex_wrap dl .flex_wrap dt{
	width: 10%;
	text-align: center;
}
.service_detail ul li.flex_wrap dl .flex_wrap dd{
	width: 90%;
}
.service_detail ul li.flex_wrap dl .flex_wrap dd div{
	display: flex;
	justify-content: flex-start;
	padding: 1rem 1rem 1rem 2rem;
	width: 100%;
}
.service_detail ul li.flex_wrap dl .flex_wrap dd div:first-of-type{
	border-radius: 25px; 
	background-color: #CCCCCC;
}
.service_detail ul li.flex_wrap dl .flex_wrap dd div:nth-of-type(2){
	border-radius: 25px; 
	background-color: #B3B3B3;
}
.service_detail ul li.flex_wrap dl .flex_wrap dd div:nth-of-type(3){
	border-radius: 25px; 
	background-color: #999999;
}
.service_detail ul li.flex_wrap dl .flex_wrap:first-of-type{
	margin-bottom: 1rem;
}
.service_detail ul li.flex_wrap dl .flex_wrap dd p{
	font-weight: 500;
}
.service_detail ul li.flex_wrap dl .flex_wrap dd p.dd_first{
    width: 12em;
}
.service_detail ul li.flex_wrap dl .flex_wrap dd p.dd_middle{
	width: 18%;
}
.service_detail ul li.flex_wrap dl .flex_wrap dd.line3 div{
	padding: 0rem 1rem 0rem 2rem;
}
@media screen and (max-width: 1020px) {
	.service_detail ul li.flex_wrap dl .flex_wrap:first-of-type {
		flex-direction: column;
	}
	.service_detail ul li.flex_wrap dl .flex_wrap dt {
		width: 100%;
		padding: 1rem;
	}
	.service_detail ul li.flex_wrap dl .flex_wrap dd {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.service_detail ul li.flex_wrap .detail_li_txt h3 {
		font-size: 2rem;
		gap: 0.5rem;
	}
	.service_detail ul li.flex_wrap dl {
		display: none;
	}
	.service_detail ul li.flex_wrap .btn{
		border: 1px solid var(--thema-color-r);
		margin-top: 1rem;
	}
	.service_detail ul li.flex_wrap {
		margin-bottom: 3rem;
	}

}
/*news*/
.service_news{
	background-color: #1A1A1A;
	padding-top: 9rem;
	border-radius: 100px 100px 0 0;
}
.service_news h2{
    color: #fff;
    font-size: 3.2rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 7rem;
	font-weight: 500;
}
.service_news h2::before{
	content: "";
    background-color: var(--thema-color-g);
    height: 1.5em;
    width: 1.6rem;
    display: block;
}
.service_news ul li{
	width: 31%;
	position: relative;
	z-index: 1;
}
.service_news ul li span.en{
	position: absolute;
    top: -3rem;
    margin: 0 auto;
    right: 0;
    left: 0;
    z-index: 1;
    color: #fff;
    background-color: #000;
    padding: 1.8rem 3rem;
    display: inline;
    text-align: center;
    width: 10em;
    font-weight: 500;
    border-radius: 10px;
}
.service_news ul li span.en::after{
	content: "";
    background-image: url(images/news_arrow.svg);
    background-repeat: no-repeat;
    display: block;
    width: 3em;
    height: 3em;
    position: absolute;
    margin: auto 0;
    top: 0;
    bottom: 0;
    right: -6rem;
}
.service_news ul li img{
	border-radius: 50px;
	object-fit: cover;
}
@media screen and (max-width: 1020px) {
	.service_news ul li span.en::after {
		content: "";
		background-image: url(images/news_arrow.svg);
		background-repeat: no-repeat;
		display: block;
		width: 2em;
		height: 2em;
		position: absolute;
		margin: auto 0;
		top: 0;
		bottom: 0;
		right: -2.5em;
	}
}
@media screen and (max-width: 767px) {
	.service_news{
		background-color: #1A1A1A;
		padding-top: 5rem;
		padding-bottom: 5rem;
		border-radius: 30px 30px 0 0;
	}
	.service_news h2 {
		font-size: 2rem;
		gap: 0.5rem;
		margin-bottom: 6rem;
	}
	.service_news h2::before {
		content: "";
		background-color: var(--thema-color-g);
		height: 1.5em;
		width: 1rem;
		display: block;
	}
	.service_news ul li img {
		border-radius: 20px;
	}
	.service_news ul li span.en {
		position: absolute;
		top: -1.5rem;
		padding: 0.5rem;
		display: flex;
		text-align: center;
		width: 18vw;
		border-radius: 5px;
		font-size: 2vw;
		justify-content: center;
		gap: 0.5rem;
		align-items: center;
	}
	.service_news ul li span.en::after {
		content: "";
		background-image: url(images/news_arrow.svg);
		background-repeat: no-repeat;
		display: block;
		width: 1.5em;
		height: 1.5em;
		position: relative;
		margin: auto 0;
		top: initial;
	    bottom: initial;
   		right: initial;
	}
	
}

/*menu_box*/
.service_page .menu_block{
	background-color: #1A1A1A;
	border-radius: 0;
	margin-top: -1px;
}
.service_page .menu_block .menu_back {
    position: absolute;
    top: -17%;
    width: 100%;
    left: 0;
}
.service_page .top_ctc{
	background-color: #1A1A1A;
}
/*----------------------news----------------------*/
.news_page .sub_ttl{
	padding-top: 4rem;
	position: relative;
}
.news_page .news_r,.news_single .news_r{
	width: 100%;
	position: relative;
}
.news_page .news_r img,.news_single .news_r img{
	position: absolute;
	top: 0;
    right: 0;
    width: 32%;
	z-index: -1;
}

.news_page .news_news .flex_wrap{
	flex-wrap: wrap;
}
.news_page .news_news .flex_wrap li{
	width: 31.5%;
	box-shadow: 10px 10px 30px #00000029;
	border-radius: 20px;
	display: block;
	margin-top: 7rem;
	background-color: #fff;
	z-index: 1;
}
.news_page .news_news .flex_wrap::after{
	content: "";
	display: block;
	width: 31.5%;
}
.news_page .news_news .flex_wrap li img{
	border-radius: 15px;
	width: 100%;
	height: 20.6rem;
	object-fit: cover;
}

.news_page .menu_block{
	margin-top: 0;
    border-radius: 0;
    background: transparent;
}
.news_page .menu_block .menu_back {
    position: absolute;
    top: 0%;
    width: 100%;
    left: 0;
}
@media screen and (max-width: 1020px) {
	.news_page .subttl_lead::after {
		content: "";
		display: block;
		background-color: transparent;
		border-bottom: 2px solid #000;
		border-right: 2px solid #000;
		width: calc(100% - 19em);
		height: 13rem;
		position: absolute;
		bottom: 25%;
		right: 4%;
	}
	.news_page .news_news .flex_wrap li {
		width: 48%;
}
}
@media screen and (max-width: 767px) {
	.news_page .sub_ttl{
		padding-top: 6.5rem;
	}
	.news_page .news_news .flex_wrap li {
		width: 100%;
		margin-top: 3rem;
	}

.news_page .news_news .flex_wrap li img {
    border-radius: 15px;
    width: 100%;
    height: 47vw;
    object-fit: cover;
}
	.news_page .subttl_lead::after {
		display: none;
	}
	
}
/*----------------------single-news------------------*/
.news_single .sub_ttl{
	padding-top: 5rem;
}
.single_main{
	padding-top: 4rem;
	padding-bottom: 25rem;
}
.single_main .date{
	color: var(--thema-color-r);
	font-size: 2.4rem;
}
.single_main .news_ttl{
	font-size: 4.5rem;
	margin: 0.5rem 0 3rem;
	font-weight: 400;
}
.single_main h1{
	font-size: 4.5rem;
	margin: 3rem 0;
}
.single_main h2{
	font-size: 3.5rem;
	margin: 3.2rem 0rem ;
	-webkit-text-stroke: 1.3px #000;
    text-stroke: 1.3px #000;
    color: #fff;
    position: relative;
    z-index: 1;
    line-height: 1.5;
}
.single_main h3{
	font-size: 2.8rem;
	margin: 2.25rem 0;
	display: flex;
    align-items: center;
    gap: 1rem;
}
.single_main h3::before{
	content: "";
    background-color: var(--thema-color-g);
    height: 2em;
    width: 1rem;
    display: block;
}
.single_main h4{
	font-size: 2.5rem;
	margin: 3.2rem 0 ;
	border-left: 6px solid var(--service-color);
}
.single_main p{
	margin: 1.5rem 0;
}
.single_main .single_box{
	padding-bottom: 5rem;
}
.single_main .flex_btn{
	display: flex;
	justify-content: space-between;
	margin-bottom: 4rem;
}
.single_main .flex_btn .btn{
	background-color: transparent;
	width: 24.6rem;
	height: 7rem;
	margin: 0;
	border: 2px solid var(--thema-color-r);
}
.single_main .flex_btn a{
	color: #000;
    font-size: 2rem;
    width: 100%;
    display: block;
    height: 100%;
    text-align: center;
    padding: 2rem;
	font-weight: 500;
}
.single_main .back_archive{
	margin: 0 auto;
	height: 7rem;
	width: 36.4rem;
	font-size: 2rem;
	font-weight: 600;
	border: 2px solid var(--thema-color-r);
	font-weight: 500;
}
.single_thumbnail{
	border-radius: 30px;
}
.single_thumbnail img{
	width: 100%;
	border-radius: 30px;
	margin-bottom: 3.5rem;
	max-height: 50rem;
	object-fit: contain;
}
@media screen and (max-width: 767px){
	.news_single .sub_ttl {
		padding-top: 6.5rem;
	}
	.single_main {
		padding-top: 3rem;
		padding-bottom: 15rem;
	}
	.single_main .single_box {
		padding-bottom: 2rem;
	}
	.single_main .news_ttl {
		font-size: 3.5rem;
		margin: 0.5rem 0 2rem;
	}
	.single_main .flex_btn .btn{
		width: 30rem;
		height: 6rem;
		margin: 0 auto;
		border-width: 1px;
	}
	.single_main .flex_btn a{
		font-size: 1.5rem;
		width: 100%;
		display: block;
		height: 100%;
		text-align: center;
		padding: 1.9rem;

	}
	.single_main .back_archive {
		height: 6rem;
		font-size: 1.5rem;
		width: 30rem;
		border-width: 1px;
	}
	.single_main .flex_btn {
		margin-bottom: 1rem;
		flex-direction: column;
		gap: 1rem;
	}
	.single_main .date{
		font-size: 1.4rem;
	}
	.single_main h1{
		font-size: 3.5rem;
		margin: 2rem 0;
	}
	.single_main h2{
		font-size: 3rem;
		margin: 1.5rem 0;
	}
	.single_main h3{
		font-size: 2.5rem;
		margin: 1rem 0;
	}
	.single_main h4{
		font-size: 2rem;
		margin: 1rem 0;
	}
}
/*----------------------Contact----------------------*/

.contact_mainttl{
	padding-top: 5rem;
	position: relative;
}
.contact_page .contact_b{
	position: absolute;
    top: 0;
    right: 0;
    width: 32%;
	z-index: 0;
}
.contact_page .subttl_lead::after {
    content: "";
    display: block;
    background-color: transparent;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    width: calc(100% - 17em);
    height: 11rem;
    position: absolute;
    bottom: 50%;
    right: 4%;
}
.contact_page .contact_contact{
	margin-top: 5rem;
	position: relative;
}
.contact_page .contact_contact .flex_wrap{
	border: 1px solid #000;
	border-bottom: none;
}
.contact_page .contact_contact .flex_wrap{
	position: relative;
	padding:1rem ;
	align-items: center;
	width: 55rem;
	background-color: #fff;
}
.contact_page .contact_contact .flex_wrap dt,.contact_page .contact_contact .flex_wrap dd input,.contact_page .contact_contact .message_flex dd textarea{
	font-size: 1.9rem;
}
.contact_page .contact_contact .flex_wrap dt{
	width: 5em;
}
.contact_page .contact_contact .flex_wrap dd{
	width: 90%;
}
.contact_page .contact_contact .flex_wrap dd input{
	width: 100%;

}
.contact_page .contact_contact input,.contact_page .contact_contact textarea{
	border: none;
}
.contact_page .contact_contact textarea{
	width: 100%;
}
.contact_page .contact_contact .message_flex{
	flex-direction: column;
	width: 100%;
	border-bottom: 1px solid #000;
	padding-bottom: 7rem;
}
.contact_page .contact_contact .message_flex dd{
	width: 100%;
}
.contact_page .contact_contact .flex_wrap dt.cf_message {
    width: 100%;
    padding-bottom: 0.5rem;
}
.contact_page .contact_contact .textarea.flex_wrap dt,.contact_page .contact_contact .textarea.flex_wrap dd{
	width: 100%;
}
.contact_page .menu_block {
    margin-top: 0rem;
}

.contact_page .contact_contact .btn_area{
	position: absolute;
	bottom: 1.5rem;
	right: 0.5rem;
}
.contact_page .contact_contact .btn_area .ctc_btn{
	border: 1px solid #000;
	border-radius: 30px;
	padding: 1rem 6.5rem;
	background: transparent;
}
.wpcf7 form.invalid .wpcf7-response-output{
    border-color: #00FFFF;
	position: absolute;
	bottom: -7rem;
	z-index: 1;
	right: 5rem;
}
.contact_page .top_ctc .ctc_box p::after {
    content: "";
    display: block;
    width: calc(100% - 18.5em);
    height: 10rem;
    position: absolute;
    z-index: 2;
    bottom: 50%;
    right: 1%;
    border-right: 2px solid #000;
    border-bottom: 2px solid;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #46b450;
    position: absolute;
    z-index: 1;
}
@media screen and (max-width: 1093px){
	.contact_page .top_ctc .ctc_box p::after {
    width: calc(100% - 18.5em);
    height: 2.5em;
    position: absolute;
    z-index: 2;
    bottom: 50%;
    right: 1%;
    border-right: 2px solid #000;
    border-bottom: 2px solid;
	}
}
@media screen and (max-width: 1020px) {
	.contact_page .top_ctc .ctc_box p::after {
		width: calc(100% - 10.5em);
		height: 3.5em;
		position: absolute;
		z-index: 2;
		bottom: 25%;
		right: 0%;
		border-right: 2px solid #000;
		border-bottom: 2px solid;
	}
}
@media screen and (max-width: 829px) {
	.contact_page .top_ctc .ctc_box p::after {
		width: calc(100% - 10.5em);
		height: 5em;
		position: absolute;
		z-index: 2;
		bottom: 25%;
		right: 1%;
		border-right: 2px solid #000;
		border-bottom: 2px solid;
	}
}
@media screen and (max-width: 767px) {
	.contact_mainttl {
		padding-top: 6.5rem;
	}
	.contact_page .subttl_lead::after {
		display: none;
	}
	.contact_page .contact_contact .flex_wrap {
		padding: 0.5rem 1rem;
		width: 100%;
	}
	.contact_page .contact_contact .flex_wrap dt, .contact_page .contact_contact .flex_wrap dd input, .contact_page .contact_contact .message_flex dd textarea {
		font-size: 1.5rem;
		font-weight: 500;
	}

	.contact_page .contact_contact .flex_wrap dd {
		width: 76%;
	}
	.contact_page .contact_contact .message_flex {
		flex-direction: column;
		width: 100%;
		border-bottom: 1px solid #000;
		padding-bottom: 0rem;
	}
	.contact_page .contact_contact .btn_area {
		position: relative;
		bottom: initial;
		right: initial;
	}
	.contact_page .contact_contact .btn_area .ctc_btn {
		padding: 1rem 8rem;
		margin: 2rem 0 0 auto;
		display: block;
	}
	.contact_page .menu_block {
		padding-top: 1rem;
	}
	.contact_page .top_ctc .ctc_box p::after {
		content: "";
		display: block;
		width: calc(100% - 18.5em);
		height: 4rem;
		position: absolute;
		z-index: 2;
		bottom: 50%;
		right: 1%;
		border-right: 1px solid #000;
		border-bottom: 1px solid;
	}
	.contact_page .contact_contact .message_flex dd {
		width: 100%;
	}
	.contact_page .contact_contact textarea {
		height: 7em;
	}
	.wpcf7 form .wpcf7-response-output {
		margin: -1.5em 0.5em 1em;
		padding: 0.2em 1em;
		border: 2px solid #00a0d2;
	}
	.wpcf7 form.invalid .wpcf7-response-output {
		border-color: #00FFFF;
		position: absolute;
		right: initial;
		bottom: initial;
		top: -2rem;
	}
}
/* ===================================================================
// フッター
// ===================================================================*/
#footer{
	background-color: var(--thema-color-y);
	z-index: 1;
	margin-left: 8rem;
	position: relative;
	padding: 0;
}
#footer .footer_back{
	position: absolute;
	z-index: -1;
    top: -80%;
    object-fit: cover;
    width: 100%;
}
#footer .footer_logo{
    position: absolute;
    z-index: 2;
    top: -16rem;
    right: 4%;
    width: 31rem;
}
#footer .footer_logo img{
	width: 100%;
}
#footer .footer_footer {
	padding: 5rem 10rem;
	border-top: 2px solid #000;
}
#footer .footer_footer p{
	font-weight: 400;
}
#footer .footer_footer p:first-of-type{
	font-weight: 400;
	margin-bottom: 2rem;
}
@media screen and (max-width: 767px){
	#footer {
		background-color: var(--thema-color-y);
		z-index: 1;
		margin-left: 0;
		position: relative;
		padding: 0;
	}
	#footer .footer_back {
		position: absolute;
		z-index: -1;
		top: -13rem;
		object-fit: cover;
		width: 100%;
	}
	#footer .footer_logo {
		position: absolute;
		z-index: 2;
		top: -8rem;
		right: 4%;
		width: 15rem;
	}
	#footer .footer_footer {
		padding: 5rem 2.2rem;
		border-top: 1px solid #000;
	}
}
/* ===================================================================
// indexページ
// ===================================================================*/

.index_main p{
	font-size: 1.7rem;
}
.index_main h1{
	font-size: 3.5rem;
	margin: 3rem 0;
}
.index_main h2{
	font-size: 4.5rem;
	padding: 3.2rem 4rem ;
	background-color: var(--service-color);
	border-radius: 15px;

}
.index_main h3{
	font-size: 2.8rem;
	padding: 2.25rem 0 2.25rem 4rem;
	border-bottom: 6px solid var(--service-color);
}
.index_main h4{
	font-size: 2.5rem;
	padding: 3.2rem 0 3.2rem 3.5rem;
	border-left: 6px solid var(--service-color);
}
.index_main p{
	margin: 5.6rem 0;
}

@media screen and (max-width: 767px){

	.index_main h1{
		font-size: 2.5rem;
		margin: 3rem 0;
	}
	.index_main h2{
		font-size: 3rem;
		padding: 2.7rem 2rem 2.7rem ;
		background-color: var(--service-color);
	}
	.index_main h3{
		font-size: 2.5rem;
		border-bottom: 6px solid var(--service-color);
		padding: 2.25rem 0 2.25rem 2rem;
	}
	.index_main h4{
		font-size: 2rem;
		border-left: 6px solid var(--service-color);
		padding: 3.2rem 0rem 3.2rem 2rem;
	}
}
/*プライバシーポリシー*/
.pp_page .privacy_policy{
	margin: 5rem 0;
}
.pp_page .privacy_policy div{
	padding: 3rem 0;
}
.pp_page .privacy_policy h2{
	font-size: 2.5rem;
	margin: 2rem 0;
}
.pp_page .privacy_policy p{
	font-size: 1.7rem;
}
@media screen and (max-width: 767px){
	.pp_page .privacy_policy p {
		font-size: 1.5rem;
	}
	.pp_page .privacy_policy h2{
		font-size: 2rem;
	}
	.pp_page .mainttl h1{
		font-size: 3rem;
	}
	.pp_page .mainttl h2{
		font-size: 2rem;
	}
}
	/*404*/
	.page_404 .content_404{
		text-align: center;
		padding-top: 10rem;
		padding-bottom: 10rem;
	}
	.page_404 h2{
		font-size: 3rem;
		color: var(--thema-color);
		margin-bottom: 2rem;
	
	}
	.page_404 p{
		margin-bottom: 5rem;
	}

/*==================================================
スタート時は要素自体を透過0にするためのopacity:0;を指定する
===================================*/



/*==================================================
動かしたい動き（今回は” ふわっ” を採用）
===================================*/

.fadeUp {
	animation-name:fadeUpAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity: 0;
	}
	
	@keyframes fadeUpAnime{
	  from {
		opacity: 0;
		transform: translateY(100px);
	  }
	
	  to {
		opacity: 1;
		transform: translateY(0);
	  }
	}


