@charset "utf-8";

.lightbox { display: none; }
.pop .ft_w_box {
	width: auto;
}

.voice_list{}

.voice_list > dl{border-bottom: 1px dotted #333;padding: 30px 0;
display: flex;justify-content: space-between;
}

.voice_list > dl > .left_area{width: 15%;font-weight: bold;}
.voice_list > dl > .left_area dd{margin-bottom: 10px;}
.voice_list > dl > .left_area dd figure{border-radius: 50%;box-shadow: var(--shadow2);overflow: hidden;}
.voice_list > dl > .left_area dt{font-size: 1.8rem;text-align: center;}
.voice_list > dl > .left_area dt .age{font-size: 1.4rem;padding-left: 15px;}

.voice_list > dl > .right_area{width: 80%;}
.voice_list > dl > .right_area dt{color: var(--main);
	margin-bottom: 20px;font-weight: bold;font-size: 2.4rem;}
.voice_list > dl > .right_area dd{}

@media screen and (max-width: 767px) {
	.voice_list > dl{flex-wrap: wrap;}
.voice_list > dl > .left_area{width: 100%;text-align: center;margin-bottom: 20px;}
	.voice_list > dl > .left_area dd figure{width: 150px;margin: 0 auto 15px;}
.voice_list > dl > .right_area{width: 100%;}
.voice_list > dl > .right_area dt{}
.voice_list > dl > .right_area dd{}	
}




.infinite-slider{width: 100%;overflow: hidden;padding-bottom: 30px;}

.infinite-slider .swiper-wrapper {
  transition-timing-function: linear;
}

.fortune_roop{position: relative;padding: 80px 0 0 0;}

@media screen and (max-width: 767px) {
.fortune_roop{position: relative;padding: 30px 0 0 0;}
}

.fortune_roop_list{
/*display: flex;justify-content: center;*/}

.fortune_roop_list > li{max-width: 295px;height: auto;margin: 0 10px;border-radius: 10px;background-color: var(--bgw);padding: 20px;box-shadow: var(--shadow2);text-align: center;}

.fortune_roop_list > li figure {margin-bottom: 10px;}
.fortune_roop_list > li figure img{border-radius: 50%;}

.fortune_roop_list > li .en{font-family: var(--poppins);color: var(--sub);}
.fortune_roop_list > li .jp{font-size: 2.0rem;font-weight: bold;margin-bottom: 10px;}
.fortune_roop_list > li ul.cat{position: relative;
display: flex;justify-content: center;}
.fortune_roop_list > li ul.cat li{}
.fortune_roop_list > li ul.cat li a{margin: 2px;border-radius: 5px;display: block;font-size: 1.2rem;color: #fff;padding: 5px 5px;background: var(--gradation);}
.fortune_roop_list > li ul.cat li a:hover{opacity: 1;cursor: default;}
.fortune_roop_list > li .txt{text-align: left;}
.bg_01 {
	background:var(--bg);
}
/*-----------------------------------*/
.top01_photo_wrap {
	height:500px;
}
.top01_photo_01 {
	position:absolute;
	top: 100px;
	left:0;
}
.top01_photo_02 {
	position:absolute;
	top: 700px;
	left: 300px;
}
.top01_photo_03 {
	position:absolute;
	top: 700px;
	left: 690px;
}
@media screen and (max-width: 767px) {
.top01_photo_01,.top01_photo_02,.top01_photo_03 {
	position:inherit;
}
.top01_photo_02,.top01_photo_03 {
	position:inherit;
	    display: inline-block;
    width: 48%;
    vertical-align: top;
    margin-top: 5px;
}
	.top01_photo_wrap {
		height:auto;
	}
}
.concept_txt {
	background:var(--bg);
	padding:30px;
	position: relative;
    z-index: 2;
}
@media screen and (max-width: 767px) {
.concept_txt {
	padding:10px;
}
}

.gallery {
	display:flex;
	justify-content: center;
	background: var(--bg);
	padding-bottom:80px;
}
.gallery.concept {
	background:none;
}
@media screen and (max-width: 767px) {
.gallery {
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
	padding-bottom:50px;
}
	.gallery figure {
		width:50%;
	}
}
/*----------------title-------------------*/
.bg_ttl{
	background:var(--bg);
	padding: 60px 0;
	color: var(--main);
}

@media screen and (max-width: 767px) {
.bg_ttl{
	padding: 30px 15px;
}
}


.bg_ttl > .en{
	font-size: 4rem;
	font-weight: bold;
	letter-spacing:4px;
	text-transform: uppercase;
}
.bg_ttl > .ja{
	font-size: 2.4rem;
	font-weight: bold;
	letter-spacing: 3px;
}

.menu_list{
	border-bottom: #C9C8C8 1px solid;
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 30px;
}
.menu_list::before{
	content: "";
	border-bottom: #333333 1px solid;
	height: 1px ;
	width: 65px;
	position: absolute;
	bottom: -1px;
	left: 0;
	
}

.menu_list dt{
	float: left;
	width: 50%;
	font-size: 2rem;
}
@media screen and (max-width: 767px) {
	.menu_list dt{
	width: 65%;
	font-size: 1.6rem;
}

}
.menu_list dd{
	float: right;
	width: 50%;
	text-align: right;
	font-size: 2.6rem;
	font-weight: bold;
}
.pr_1em {
	padding-right:1em;
}
@media screen and (max-width: 767px) {
.menu_list dd{
	width: 35%;
	font-size: 1.8rem;
}	
}
.pc_pl15{
		padding-left: 15px;
}
@media screen and (max-width: 767px) {
.pc_pl15{
		padding-left: 0px;
	}
}


.law_box{clear: both;border-top: 1px solid var(--gray2);}
.law_box *{box-sizing: border-box;}
.law_box > dl{border-bottom: 1px solid var(--gray2);
display: flex;}
.law_box > dl > dt{width: 30%;padding: 15px;background-color:var(--third);color: #fff;font-weight: bold;}
.law_box > dl > dd{width: 70%;padding: 15px;font-weight: bold;}

@media screen and (max-width: 767px) {
.law_box{border-top: none;}
.law_box > dl{flex-wrap: wrap;border-bottom: none;}
    .law_box > dl > dt,.law_box > dl > dd{width: 100%;}
}

.bl_ol{
    list-style: decimal;
    padding-left: 1.6rem;
}
.bl_ol > li{margin-bottom: 20px;}



.link_btn_arae{
 display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    }
    
.link_btn_arae li{
        width: 30%;margin-top: 4%;  
        display: flex;
}

.link_btn_arae li a{
        display: flex;align-items: center;width: 100%;
        padding: 7px 35px 7px 10px;
        border: solid 2px var(--sub);
        position: relative;font-weight: bold;font-size: 1.8rem;
        line-height: 1.3;
        color: #fff;
        background-color: var(--sub);
    
    }
.link_btn_arae li a::after{
            content: "";
            position: absolute;
            top: 39%;
            right: 10px;
            width: 6px;
            height: 6px;
            transform: rotate(45deg);
            border-bottom: solid 2px #fff;
            border-right: solid 2px #fff;
}
.link_btn_arae li a:hover{
            background-color: #fff;
            color: var(--sub);
}
.link_btn_arae li a:hover:after{
                border-color: var(--sub);
}
   
@media screen and (max-width: 767px) {
.link_btn_arae li{
        width: 48%;margin-top: 4%;
}
    .link_btn_arae li a{font-size: 1.4rem;}
}

/*about
----------------------------------*/
.bg_01{
	background:var(--bg_o);
}
.bg_02{
	background:var(--bg_y);
}
.box_01{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 50px;
}

.box_01 > div{
	width: 48%;
}
@media screen and (max-width: 767px) {
.box_01 > div{
	width: 100%;
	margin-bottom: 15px;
}
}
.box_01 > div a{
	background: #fff;
	padding: 50px;
	box-sizing: border-box;
	position: relative;
	box-shadow: 0 8px 20px rgb(0 0 0 / 10%);
	display: flex;
	justify-content: space-between;
	border-radius: 15px;
	
}
@media screen and (max-width: 767px) {
.box_01 > div a{
	padding: 20px;	
}	
}

.txt_01{
	color: var(--main);
	font-size: 2rem;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.txt_01{
	font-size: 1.5rem;
}
}
.txt_02{
	color: var(--main);
	font-size: 4.6rem;
	line-height: 1.2;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.txt_02{
	font-size: 3rem;
}
}

.box_01 > div figure{
	margin-top: -100px;
}
@media screen and (max-width: 767px) {
.box_01 > div figure{
	margin-top: -30px;
	width: 90px;
}
}
.box_01 > div:last-child .txt_01{
	color: var(--sub);
}
.box_01 > div:last-child .txt_02{
	color: var(--sub);
}
.box_02{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.box_02 li{
	background: #fff;
	padding:60px 40px 40px;
	width: 49%;
	border-radius: 15px;
	margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
	.box_02 li{
	padding:30px;
	width: 100%;
	margin-bottom: 30px;
}
}
.txt_03{
	display: flex;
}
.txt_03 p:first-child{
	margin-top: -25px;
	margin-right: 20px;
}
@media screen and (max-width: 767px) {
.txt_03 p:first-child{
	margin-top: -10px;
	margin-right: 20px;
}
.txt_03 p:first-child img{
	height: 40px;
}
}


.faq_list dl{
		background: #fff;
	border-radius: 15px;
	padding: 15px 30px;
	margin-bottom: 20px;
}
.faq_list dt, .faq_list dd {
  position: relative;
  padding-left: 40px;
}
.faq_list dt::before, .faq_list dd::before {
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}
.faq_list dt::before {
  content: 'Q.';
  color: var(--main); /* 「Q」の文字色 */
}

.faq_list dd::before {
  content: 'A.';
  color: var(--third); /* 「A」の文字色 */
}
.faq_list dl dt{color: var(--main);
	margin-bottom: 20px;font-weight: bold;font-size: 2.4rem;border-bottom: 1px dashed #ddd;}
.faq_list dl dd{}


.flow_box{
	display: flex;
	flex-wrap: wrap;
	gap:24px;
}
@media screen and (max-width: 767px) {
.flow_box{
	gap:10px;
}
	
}
.flow_box > li{
	width: calc(50% - 12px);
	border:#F4BD40 2px solid;
	border-radius: 15px;
	padding: 40px 20px;
	text-align: center;
	
}
@media screen and (max-width: 767px) {
.flow_box > li{
	width: calc(100%);
	padding: 20px;
	
}
.flow_box > li figure{
	width: 40%;
	margin: 0 auto;
	margin-bottom: 15px;
	
}	
}
.flow_box > li:last-child{
	width: calc(100%);
	
}
.flow_box > li p.txt_000{
	color: #FD7500;
	font-weight: bold;
	font-size: 6.2rem;
	line-height: 1;
}
@media screen and (max-width: 767px) {
.flow_box > li p.txt_000{
	font-size: 3.2rem;
}
}
.flow_box > li p.txt_001{
	color: #FD7500;
	font-weight: bold;
	font-size: 2.4rem;
	margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
.flow_box > li p.txt_001{
	font-size: 2rem;
}
}
.flow_box > li:last-child{
	display: flex;
	padding: 40px 100px;
	gap:90px; 
}
@media screen and (max-width: 767px) {
.flow_box > li:last-child{
	display: block;
	padding: 20px;
	gap:10px; 
}
}
.flow_box > li:last-child div{
	text-align: left;
}
@media screen and (max-width: 767px) {
.flow_box > li:last-child div{
	text-align: center;
}
	
}
.btn_000{
	display: flex;
	gap:24px;
	width: 80%;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
.btn_000{
	gap:10px;
	width: 100%;
}
}
.btn_000 > li{
	width: calc(50% - 12px);
}
@media screen and (max-width: 767px) {
.btn_000 > li{
	width: calc(100%);
}
}
.btn_000 > li a{
	display: block;
	padding:15px;
	font-size: 1.8rem;
	color: var(--main);
	text-align: center;
	border: var(--main) 1px solid;
	font-weight: bold;
	border-radius: 50px;
	background: #fff;
}