@charset "UTF-8";

.com_kuru1 img {
  animation: kuru1 2.6s ease-in-out infinite;
}
@keyframes kuru1 {
  4%   { transform: rotate(0deg); }
  46%  { transform: rotate(13deg); }
  54%  { transform: rotate(13deg); }	
  96% { transform: rotate(0deg); }
}

.com_kuru2 img {
  animation: kuru2 2.6s ease-in-out infinite;
}
@keyframes kuru2 {
  4%   { transform: rotate(0deg); }
  46%  { transform: rotate(-13deg); }
  54%  { transform: rotate(-13deg); }	
  96% { transform: rotate(0deg); }
}

/* 文字サイズ
---------------------------------------------------------*/
.fs22{
	font-size: min(115%,2.2vw);
	line-height: 1.4em;
}
.fs23{
	font-size: min(120%,1.8vw);
	line-height: 1.4em;
}
.fs24{
	font-size: min(125%,1.9vw);
	line-height: 1.4em;
}
.fs25{
	font-size: min(125%,2.4vw);
	line-height: 1.6em;
}
.fs29{
	font-size: min(153%,2.4vw);
	line-height: 1.5em;
}
.fs30{
	font-size: min(160%,2.7vw);
	line-height: 1.4em;
}
.fs31{
	font-size: min(165%,2.6vw);
	line-height: 1.4em;
}
.fs33{
	font-size: min(173%,2.7vw);
	line-height: 1.4em;
}
.fs36{
	font-size: min(190%,2.9vw);
	line-height: 1.7em;
}
.fs40{
	font-size: min(210%,3.5vw);
	line-height: 1.5em;
}
.fs41{
	font-size: min(218%,3.6vw);
	line-height: 1.3em;
}
.fs42{
	font-size: min(220%,3.7vw);
	line-height: 1.7em;
}
.fs46,
.fs47{
	font-size: min(250%,3.9vw);
	line-height: 1.5em;
}
.fs50{
	font-size: min(270%,4.2vw);
	line-height: 1.5em;
}
.fs55{
	font-size: min(290%,5vw);
	line-height: 1.5em;
}
.fs60{
	font-size: min(320%,5.2vw);
	line-height: 1.6em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
.fs22{
	letter-spacing: normal;
}
.fs23{
	letter-spacing: normal;
}
.fs24{
	letter-spacing: normal;
}
.fs25{
	letter-spacing:normal;
}
.fs29{
	letter-spacing: normal;
}
.fs30{
	letter-spacing:normal;
}
.fs31{
	letter-spacing:normal;
}
.fs33{
	letter-spacing: normal;
}
.fs36{
	letter-spacing:normal;
}
.fs40{
	letter-spacing: normal;
}
.fs41{
	letter-spacing: normal;
}
.fs42{
	letter-spacing: normal;
}
.fs46,
.fs47{
	letter-spacing: normal;
}
.fs50{
	letter-spacing: normal;
}
.fs55{
	letter-spacing: normal;
}
.fs60{
	letter-spacing: normal;
}
}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.fs22{
	letter-spacing: normal;
}
.fs23{
	letter-spacing: normal;
}
.fs24{
	letter-spacing: normal;
}
.fs25{
	letter-spacing:normal;
}
.fs29{
	letter-spacing: normal;
}
.fs30{
	letter-spacing:normal;
}
.fs31{
	letter-spacing:normal;
}
.fs33{
	letter-spacing: normal;
}
.fs36{
	letter-spacing:normal;
}
.fs40{
	letter-spacing: normal;
}
.fs41{
	letter-spacing: normal;
}
.fs42{
	letter-spacing: normal;
}
.fs46,
.fs47{
	letter-spacing: normal;
}
.fs50{
	letter-spacing: normal;
}
.fs55{
	letter-spacing: normal;
}
.fs60{
	letter-spacing: normal;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.fs22{
	font-size: 100%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs23{
	font-size: 95%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs24{
	font-size: 105%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs25{
	font-size:110%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs29{
	font-size: 105%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs30{
	font-size: 120%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs31{
	font-size: 120%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs33{
	font-size: 135%;
	line-height: 1.3em;
	letter-spacing: normal;
}
	
.fs36{
	font-size: 135%;
	line-height: 1.4em;
	letter-spacing: normal;
}
.soudan_index .fs36{
	font-size:102%;
	line-height: 1.5em;
}
#start .flt_r .fs36{
	font-size: 140%;
	line-height: 1.7em;
}
.fs40{
	font-size: 140%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.message .fs40{
	font-size: 130%;
}
.fs41{
	font-size: 160%;
	line-height: 1.2em;
	letter-spacing: normal;
}
.fs42{
	font-size: 160%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs46{
	font-size: 140%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs47{
	font-size: 145%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs50{
	font-size: 160%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs55{
	font-size: 200%;
	line-height: 1.5em;
	letter-spacing: normal;
}
.fs60{
	font-size: 200%;
	line-height: 1.2em;
	letter-spacing: normal;
}
#nayami .nayami_index1 .fs60{
	font-size: 220%;
	line-height: 1.4em;
}
#nayami .tit2 .fs60{
	line-height: 1.4em;
}
.fs60.com_serif.type2{
	font-size: 180%;
	line-height: 1.5em;
	margin-top: .1em;
}
}




/* m_img_erea
---------------------------------------------------------*/
.m_img_erea .max_1500{
	position: relative;
}
.m_img_erea .m_img{
	position: relative;
	z-index: 3;
	width: 92%;
	max-width: 1380px;
	margin: 0 auto;
	padding-top: min(120px,8vw);
	padding-bottom: min(120px,8vw);
}

.m_img_abs .abs1{
	position: absolute;
	top: 0.9%;
	left: -4%;
	aspect-ratio: 183 / 167;
	width: 14%;
	max-width: 183px;
}
.m_img_abs .abs2{
	position: absolute;
	top: 4%;
	left: 32.5%;
	aspect-ratio: 65 / 71;
	width: 5%;
	max-width: 65px;
}

.m_img_erea .m_copy1,
.m_img_erea .m_nav{
	display: inline-block;
	margin-left: 3%;
	box-sizing: border-box;
}
.m_img_erea .m_copy1{
	position: relative;
	z-index: 2;
	width: 43%;
	max-width: 487px;
	margin-bottom: min(50px,3vw);
}
.m_img_erea .m_copy2{
	display: flex;
    justify-content: space-between;
	width: 80%;
	max-width: 1030px;
	margin-left: 0;
	margin-right: auto;
	margin-bottom: min(70px,5vw);
}
.m_img_erea .m_copy2 h3{
	position: relative;
	width: 32%;
}
.m_img_erea .m_copy2 h3::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/m_copy2_abs.svg")no-repeat top left;
	background-size: 100% auto;
	width: 12%;
	max-width: 39px;
	height: 30px;
	top: 3%;
	left: 10%;
	aspect-ratio: 39 / 30;
	z-index: 2;
}
.m_img_erea .m_copy2 h3:last-child::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/m_copy2_3_abs@2x.png")no-repeat top right;
	background-size: 100% auto;
	width: 33%;
	max-width: 110px;
	height: 110px;
	top: 10%;
	right: -5%;
	aspect-ratio: 110 / 110;
	z-index: 2;
}
.m_img_erea .m_copy2 h3 img{
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.2));
}
.m_img_erea .m_nav{
	width:70%;
	max-width: 680px;
	display: flex;
    justify-content: space-between;
}
.m_img_erea .m_nav .title{
	width: 7%;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	color: #153373;
	line-height: 2.9em;
	text-align: left;
	font-size:85%;
}
.m_img_erea .m_nav .m_nav_flex{
	width: 93%;
	display: flex;
    justify-content: space-between;
}
.m_img_erea .m_nav .m_nav_flex > ul{
	width: 50%;
	border-left: 3px solid #fff;
	padding-left: 1.4em;
	box-sizing: border-box;
	font-size: min(108%,1.8vw);
	letter-spacing: 0.05em;
	line-height: 1.5em;
	color: #153373;
}
.m_img_erea .m_nav .m_nav_flex > ul li{
	margin-bottom: 1em;
}
.m_img_erea .m_nav .m_nav_flex > ul li:last-child{
	margin-bottom: 0;
}
.m_img_erea .m_nav .m_nav_flex > ul li a:hover{
	color: #0fb2c0;
}

/*m_img_en*/
.m_img_en{
	position: absolute;
	display: block;
	width: 76%;
	max-width: 1140px;
	right: -14%;
	top:0;
	aspect-ratio: 1140 / 1148;
}
.m_img_en > div{
	position: absolute;
}
.m_img_en .abs1{/*緑の機械*/
	width: 26%;
	top: 3%;
	left: 37%;
}
.m_img_en .abs2{/*青の花*/
	width: 8.5%;
	top:0;
	left: 49%;
}
.m_img_en .abs3{/*薄緑の花*/
	width: 8%;
	top: 25%;
	left: 38%;
}
.m_img_en .abs4{/*黄色の蝶*/
	width: 15%;
	top: 0;
	left: 62%;
	z-index: 2;
}
.m_img_en .abs5{/*男の子*/
	width: 22%;
	top: 11%;
	left: 62%;
}
.m_img_en .abs6{/*ひも*/
	width: 21%;
	top: 26%;
	left: 52%;
}
.m_img_en .abs7{/*リボン*/
	width: 29%;
	top: 24%;
	left: 70%;
}
.m_img_en .abs8{/*半月*/
	width: 20.5%;
	top: 38%;
	left: 79%;
}
.m_img_en .abs9{/*鳥*/
	width: 13.5%;
	top: 53%;
	left: 66%;
}
.m_img_en .abs10{/*薄緑の花*/
	width: 6%;
	top: 75%;
	left: 85%;
}
.m_img_en .abs11{/*緑の花*/
	width:8%;
	top: 65%;
	left: 58.5%;
	z-index: 2;
}
.m_img_en .abs12{/*女の子*/
	width: 24%;
	top: 67%;
	left:59.5%;
}
.m_img_en .abs13{/*半月と花*/
	width: 20%;
	top:85%;
	left:42%;
}
.m_img_en .abs14{/*赤の機械*/
	width: 31%;
	top:66%;
	left:28%;
}
.m_img_en .abs15{/*リボン*/
	width: 25%;
	top:80%;
	left:17%;
}
.m_img_en .abs16{/*青の花*/
	width: 11%;
	top: 58%;
	left: 27%;
}
.m_img_en .abs17{/*赤の花*/
	width: 7.5%;
	top: 74%;
	left: 12%;
	z-index: 2;
}
.m_img_en .abs18{/*半月と花*/
	width: 24%;
	top: 47%;
	left:2%;
}
.m_img_en .abs19{/*ひもと花*/
	width: 36%;
	top: 35%;
	left: 0;
}
.m_img_en .abs20{/*青の機械*/
	width: 27.5%;
	top: 23.5%;
	left: 10%;
}
.m_img_en .abs21{/*鳥*/
	width: 11%;
	top:18.5%;
	left: 4%;
}
.m_img_en .abs22{/*黄色の花*/
	width: 9.5%;
	top: 21%;
	left: 16%;
}
.m_img_en .abs23{/*半月*/
	width: 25%;
	top: 9%;
	left: 12%;
}
.m_img_en .abs24{/*赤の花*/
	width: 6.5%;
	top: 5%;
	left: 24.5%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.m_img_erea .m_img{
	width: 92%;
	padding-top: 4.5vw;
	padding-bottom: 6vw;
}
	
.m_img_abs .abs1{
	top: -1%;
	left: -4%;
	width: 10%;
}
.m_img_abs .abs2{
	position: absolute;
	top: 4%;
	left: 32.5%;
	width: 3%;
}
	
.m_img_erea .m_copy1,
.m_img_erea .m_nav{
	margin-left: 0;
}
.m_img_erea .m_copy1{
	margin-bottom: 3vw;
}
.m_img_erea .m_copy2{
	margin-left: -2%;
	margin-bottom: 4vw;
}
.m_img_erea .m_copy2 h3 img{
	filter: drop-shadow(0 0 8px rgba(0,0,0,0.2));
}
.m_img_erea .m_nav .title{
	font-size:80%;
}
.m_img_erea .m_nav .m_nav_flex > ul{
	padding-left: 1.2em;
	letter-spacing:normal;
}
.m_img_erea .m_nav .m_nav_flex > ul li{
	margin-bottom: .5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.m_img_erea .m_img{
	padding-top: 8vw;
	padding-bottom: 0.5vw;
}
.m_img_abs .abs1{
	top: 3%;
	left: 75%;
	width:27%;
}
.m_img_abs .abs2{
	top: -4%;
	left: 85%;
	width: 11%;
}
	
.m_img_erea .m_copy1,
.m_img_erea .m_nav{
	margin-left:0;
}
.m_img_erea .m_copy1{
	width: 92%;
	margin-bottom: 4vw;
}
.m_img_erea .m_copy2{
	display: block;
	width: 50%;
	margin-bottom: 5vw;
}
.m_img_erea .m_copy2 h3{
	width: 100%;
	margin-bottom: 2vw;
}
.m_img_erea .m_copy2 h3:last-child{
	margin-bottom: 0;
}
.m_img_erea .m_copy2 h3 img{
	filter: drop-shadow(0 0 6px rgba(0,0,0,0.2));
}
.m_img_erea .m_nav{
	display: none;
}

/*m_img_en*/
.m_img_en{
	width:130%;
	right: -64%;
	top:auto;
	bottom: -2vw;
}
	
/*位置入れ替え*/
.m_img_en .abs12{/*女の子*/
	width: 24%;
	top: 63%;
	left:27%;
}
.m_img_en .abs14{/*赤の機械*/
	display: none;
}
}





/* nayami
---------------------------------------------------------*/
#nayami .bg{
	background: url("../images/top/nayami_bg@2x.png")no-repeat top center;
	background-size: 100% auto;
}
#nayami .w1320{
	position: relative;
	text-align: center;
	padding-top: min(200px,15vw);
	padding-bottom: 100px;
}
#nayami .abs{
	position: absolute;
	top:min(75px,-5vw);
	left: 1%;
	width:23%;
}
#nayami .abs .abs1{
	width: 74%;
	margin-left: 0;
	margin-right: auto;
}
#nayami .abs .abs2{
	width: 22%;
	max-width: 74px;
	position: absolute;
	top: 22%;
	right: 0;
	aspect-ratio: 74 / 71;
}
#nayami .nayami_col4{
	max-width: 1280px;
	margin: 70px auto 60px;
}
#nayami .nayami_col4 li{
	position: relative;
	width: 24%;
	max-width: 280px;
	aspect-ratio: 280 / 280;
	background: url("../images/top/nayami_moya1@2x.png")no-repeat center center;
	background-size: 100% 100%;
}
#nayami .nayami_col4 li:nth-child(even){
	background-image: url("../images/top/nayami_moya2@2x.png");}

#nayami .nayami_col4 li div{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
}
#nayami .nayami_col4 .fs23:has(+ .fs33){
	margin-bottom: .5rem;
}
#nayami .nayami_col4 .fs33:has(+ .fs23){
	margin-bottom: .5rem;
}

.com_serif{
	position: relative;
	display: inline-block;
	padding: 0 1.5em;
	box-sizing: border-box;
}
.com_serif::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/serif_l@2x.png")no-repeat bottom left;
	background-size: 100% auto;
	width: .9em;
	max-width: 35px;
	height: 59px;
	bottom:0;
	left: 0;
	aspect-ratio:32 / 59;
}
.com_serif::after{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/serif_r@2x.png")no-repeat bottom right;
	background-size: 100% auto;
	width: .9em;
	max-width: 35px;
	height: 59px;
	bottom:0;
	right: 0;
	aspect-ratio:32 / 59;
}
.com_soudan .com_serif{
	padding: 0 1.2em;
}
.com_soudan .com_serif::before,
.com_soudan .com_serif::after{
	bottom: .1em;
}

#nayami .nayami_col2{
	max-width: 1160px;
	margin: 40px auto 70px;
}
#nayami .nayami_col2 ul li{
	position: relative;
	width: 49%;
	background: #78a9e7;
	border-radius: 40px;
	padding: 40px 0;
}
#nayami .nayami_col2 ul li::before{
	position: absolute;
	display: block;
	content: "";
	background: #eee664;
	background-size: 100% 100%;
	width: 100%;
	height: 100%;
	border-radius: 40px;
	top:0;
	left: 0;
	transform: rotate(-5deg);
	z-index: -2;
}
#nayami .nayami_col2 ul li .abs1,
#nayami .nayami_col2 ul li .abs2{
	position: absolute;
	width: 30%;
	max-width: 167px;
}
#nayami .nayami_col2 ul li .abs1{
	top:-23%;
	left: -15%;
	aspect-ratio:167 / 198;
}
#nayami .nayami_col2 ul li .abs2{
	bottom:-19%;
	right: -15%;
	aspect-ratio:167 / 228;
}

#nayami .line{
	position: relative;
}/*
#nayami .line::before{
	position: absolute;
	display: block;
	content: "";
	background: #eee664;
	background-size: 100% auto;
	width: 100%;
	height: 10px;
	left: 0;
	z-index: -1;
}
#nayami .line.rotate5::before{
	transform: rotate(-5deg);
	bottom: 8px;
}
#nayami .line.rotate2::before{
	transform: rotate(-2deg);
	bottom: 5px;
}*/

.anime_line_box{
	position: relative;
}
.anime_line_box .anime_line{
    position: absolute;
    width: 100%;
    height: 10px;
    overflow: hidden;
    left:0;
	z-index: -5;
}
.anime_line_box.rotate5 .anime_line{
	transform: rotate(-5deg);
	bottom: 8px;
}
.anime_line_box.rotate2 .anime_line{
	transform: rotate(-2deg);
	bottom: 5px;
}
.anime_line_box .anime_line::before{
    content: '';
    display: block;
	width: 0%;
	height: 100%;
    background-color: #eee664;
}
.anime_on .anime_line_box .anime_line::before{
    animation: anime_line .8s forwards;
    animation-delay: 0.5s;
}
@keyframes anime_line {
  0% {
    width: 0%;
  } 
  100% {
    width: 100%;
  }
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#nayami .nayami_col2 ul li .abs1{
	left: -10%;
}
#nayami .nayami_col2 ul li .abs2{
	right: -10%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#nayami .w1320{
	padding-top: 13vw;
	padding-bottom: 8vw;
}
#nayami .abs{
	top: -3vw;
}
#nayami .nayami_col4{
	margin: 4vw auto 4vw;
}
#nayami .nayami_col4 .fs23:has(+ .fs33){
	margin-bottom: .2rem;
}
#nayami .nayami_col4 .fs33:has(+ .fs23){
	margin-bottom: .2rem;
}

.com_serif{
	padding: 0 1.2em;
}
.com_serif::before{
	width: .8em;
}
.com_serif::after{
	width: .8em;
}
#nayami .nayami_col2{
	margin: 3vw auto 5vw;
}
#nayami .nayami_col2 ul li{
	padding: 3.5vw 0;
}
#nayami .nayami_col2 ul li .abs1,
#nayami .nayami_col2 ul li .abs2{
	width: 25%;
}
#nayami .nayami_col2 ul li .abs1{
	left: -8%;
}
#nayami .nayami_col2 ul li .abs2{
	right:-8%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#nayami .w1320{
	padding-top: 18vw;
	padding-bottom: 12vw;
}
#nayami .abs{
	top: -8vw;
	width: 35%;
}
	
#nayami .nayami_index1 .fs36{
	margin-bottom: .2em;
}
	
#nayami .nayami_col4{
	flex-wrap: wrap;
	margin: 3vw auto 5vw;
}
#nayami .nayami_col4 li{
	width: 50%;
	background-size: 90% 90% ;
}
#nayami .nayami_col4 .fs23:has(+ .fs33){
	margin-bottom: .2rem;
}
#nayami .nayami_col4 .fs33:has(+ .fs23){
	margin-bottom: .2rem;
}

.com_serif{
	padding: 0 1em!important;
}
.com_serif::before{
	width: .7em;
}
.com_serif::after{
	width: .7em;
}

#nayami .nayami_col2{
	margin: 7vw auto 9vw;
}
#nayami .nayami_col2 ul{
	display: block;
}
#nayami .nayami_col2 ul li{
	width: 90%;
	margin-bottom: 5vw;
	padding: 4.5vw 0 5vw;
}
#nayami .nayami_col2 ul li:nth-child(1){
	margin-left: auto;
	margin-right: 0;
}
#nayami .nayami_col2 ul li:nth-child(2){
	margin-bottom: 0;

}
#nayami .nayami_col2 ul li .abs1,
#nayami .nayami_col2 ul li .abs2{
	width: 28%;
}
}








/* start
---------------------------------------------------------*/
#start .bg_gray{
	background: url("../images/top/start_bg@2x.png")no-repeat top center #f1f1f1;
	background-size: 100% auto;
	padding-top: 180px;
}
#start .w1200{
	position: relative;
}
#start .w1200 .start_abs1{
	position: absolute;
	top: -220px;
	left: -9%;
	width:21.5%;
	max-width: 290px;
	aspect-ratio: 290 / 290;
}

/*start_index*/
#start .start_index{
	position: relative;
	width:80%;
	max-width: 786px;
	margin: 0 auto 60px;
}
#start .start_index .com_chon{
	position: absolute;
	width: 18%;
	top: 49%;
	transform: translateY(-50%);
	left: 42.8%;
}
.com_chon{
	position: absolute;
}

/*4本のちょんちょんが伸びる*/
.anime_chon{
    position: absolute;
    width: 3px;
    height: 2.2rem;
    overflow: hidden;
    transform: rotate(135deg);
}
.anime_chon.type1{
    transform: rotate(135deg);
    top: -1.8rem;
    left:-1.5rem;
}
.anime_chon.type2{
    transform: rotate(-135deg);
    top: -1.8rem;
    right:-1.5rem;
}
.anime_chon.type3{
    transform: rotate(45deg);
    bottom: -1.8rem;
    left:-1.5rem;
}
.anime_chon.type4{
    transform: rotate(-45deg);
    bottom: -1.8rem;
    right:-1.5rem;
}
.anime_chon::before{
    content: '';
    display: block;
    width: 100%;
    height: 0;
    background-color: #0fb2c0;
}
.anime_on .anime_chon::before{
    animation: anime_com_chon .8s forwards;
    animation-delay: 0.5s;
}
@keyframes anime_com_chon {
  0% {
    height: 0;
  } 
  60% {
    height: 100%;
  }
  100% {
    height: 60%;
  }
}
.com_chon.white .anime_chon::before{
    background-color: #fff;
}
#ortho .com_chon .anime_chon.type1{
    top: -2.2rem;
    left:-1rem;
}
#ortho .com_chon .anime_chon.type2{
	top: -2.2rem;
    right: -1rem;
}
#ortho .com_chon .anime_chon.type3{
    bottom: -2.2rem;
    left:-1rem;
}
#ortho .com_chon .anime_chon.type4{
    bottom: -2.2rem;
    right:-1rem;
}

/*fltbox1*/
#start .fltbox1{
	margin-bottom: 60px;
}
#start .fltbox1 .flt_l{
	position: relative;
	width: 45.5%;
	max-width: 540px;
}
#start .fltbox1 .flt_l .abs1{
	position: absolute;
	top:0;
	left: 46%;
	width: 14%;
	max-width: 75px;
	aspect-ratio: 75 / 83;
}
#start .fltbox1 .flt_l .abs2{
	position: absolute;
	bottom:0;
	left: 0;
	width: 26.5%;
	max-width: 140px;
	aspect-ratio: 140 / 152;
}
#start .fltbox1 .flt_r{
	width: 50%;
	padding-top: 1em;
}
#start .fltbox1 .flt_r .fs36{
	margin-bottom: .7em;
}
#start .fltbox1 .flt_r .fs36 .erea{
	margin: 0 -0.3em 0 -0.5em;
}

/*sign*/
#start .sign{
	position: relative;
	padding: 0 4% 45px;
	box-sizing: border-box;
	z-index: 2;
}
#start .sign::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 3rem);
	bottom: 0;
	left: 0;
	border-radius: 40px;
}
#start .sign_inbox{
	position: relative;
	z-index: 2;
	max-width: 1027px;
	margin: 0 auto;
}
#start .sign h3{
	margin-bottom: 1em;
}
#start .sign ul{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
	margin-bottom: .8em;
}
#start .sign ul li{
	width: 47.8%;
	border-bottom: dotted 3px #3d362e;
	padding-bottom: 1.2em;
	margin-bottom: 1.2em;
	line-height: 1.4em;
}
#start .sign ul li.flex_box .img{
	width: 28.5%;
}
#start .sign ul li.flex_box .fs24{
	width: 68%;
}
#start .sign ul li .fs24{
	position: relative;
	padding-left: 1.8em;
	box-sizing: border-box;
}
#start .sign ul li .fs24::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/start_check@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 1.3em;
	height: 1.3em;
	top: .2em;
	left: 0;
}
#start .sign .red dt{
	font-size:113%;
	font-weight: bold;
	line-height: 1.6em;
	margin-bottom: .2em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#start .sign::before{
	height: calc(100% - 3vw);
}
#start .sign .red dd{
	letter-spacing: normal;
	font-feature-settings: "palt" 1;
		
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#start .bg_gray{
	padding-top: 18vw;
}
#start .w1200 .start_abs1{
	top: -20vw;
	left: -7%;
}

/*start_index*/
#start .start_index{
	margin: 0 auto 7vw;
}

/*fltbox1*/
#start .fltbox1{
	margin-bottom: 4vw;
}
#start .fltbox1 .flt_r{
	padding-top: 0;
}
#start .fltbox1 .flt_r .fs36{
	margin-bottom: .5em;
}

/*sign*/
#start .sign{
	padding: 0 4% 3vw;
}
#start .sign::before{
	height: calc(100% - 2.5vw);
}
#start .sign h3{
	margin-bottom: .7em;
}
#start .sign ul{
	margin-bottom: .2em;
}
#start .sign ul li{
	border-bottom: dotted 2px #3d362e;
	padding-bottom: 1em;
	margin-bottom: 1em;
}
#start .sign .red{
	line-height: 1.8em;
}
#start .sign .red dt{
	margin-bottom: .1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#start .bg_gray{
	padding-top: 25vw;
}
#start .w1200 .start_abs1{
	top: -30vw;
	left: -5%;
	width: 25%;
}

/*start_index*/
#start .start_index{
	width: 103%;
	margin: 0 auto 7vw ;
}

/*fltbox1*/
#start .fltbox1{
	margin-bottom: 6vw;
}
#start .fltbox1 .flt_l{
	float: none;
	width: 85%;
	margin: 0 auto;
}
#start .fltbox1 .flt_r{
	float: none;
	width: 100%;
	padding-top: 5%;
}
#start .fltbox1 .flt_r .fs36{
	margin-bottom: .4em;
}

/*sign*/
#start .sign{
	padding: 0 5% 6%;
}
#start .sign::before{
	height: calc(100% - 5vw);
}
#start .sign h3{
	margin-bottom: .7em;
}
#start .sign ul{
	display: block;
}
#start .sign ul li{
	width: 100%;
	border-bottom: dotted 2px #3d362e;
	padding-bottom: 1em;
	margin-bottom: 1em;
}
#start .sign ul li .fs24{
	padding-left: 1.6em;
}
#start .sign .red dt{
	font-size:110%;
}
#start .sign .red dd{
	text-align: left;
}
	
/*4本のちょんちょんが伸びる*/
.anime_chon{
    width: 2px;
    height: 2rem;
}
.anime_chon.type1{
    top: -1.5rem;
    left:-1.2rem;
}
.anime_chon.type2{
    top: -1.5rem;
    right:-1.2rem;
}
.anime_chon.type3{
    bottom: -1.5rem;
    left:-1.2rem;
}
.anime_chon.type4{
    bottom: -1.5rem;
    right:-1.2rem;
}
#ortho .com_chon .anime_chon.type1{
    top: -2.2rem;
    left:-0.8rem;
}
#ortho .com_chon .anime_chon.type2{
	top: -2.2rem;
    right: -0.8rem;
}
#ortho .com_chon .anime_chon.type3{
    bottom: -2.2rem;
    left:-0.8rem;
}
#ortho .com_chon .anime_chon.type4{
    bottom: -2.2rem;
    right:-0.8rem;
}
}






/*com_soudan
---------------------------------------------------------*/
.com_soudan{
	position: relative;
	background: #eee664;
	border-radius: 40px;
	padding: 75px 5% 60px;
	box-sizing: border-box;
	max-width: 1200px;
	margin: 70px auto 0;
}
#select .com_soudan{
	margin-top: 90px;
}
.soudan_index{
	text-align: center;
	margin-bottom: 20px;
}
.com_soudan .txtbox{
	position: relative;
	padding-left: 22.5%;
	box-sizing: border-box;
	margin-top: 30px;
	margin-bottom: 20px;
}
.com_soudan .txtbox .img{
	position: absolute;
	bottom: 0;
	left: -9.5%;
	width: 25%;
}
.com_soudan .txtbox .img .abs1{
	position: absolute;
	top: -1%;
	transform: translateY(-50%);
	left: 48%;
	width: 30%;
	max-width: 80px;
	aspect-ratio: 80 / 70;
}
.com_soudan .txtbox .img .abs2{
	position: absolute;
	top: 8%;
	transform: translateY(-50%);
	left: 80%;
	width: 30%;
	max-width: 80px;
	aspect-ratio: 80 / 75;
}
.com_soudan .reservation{
	max-width: 810px;
	margin: 0 auto;
	padding-top: 1em;
}
.com_soudan .reservation .ft_ub{
	font-size: 410%;
	letter-spacing: 0.08em;
	line-height: 1em;
	color: #fff;
	opacity: .5;
	text-align: center;
	margin-bottom: -.4em;
}
.com_soudan .reservation div{
	position: relative;
	margin-bottom: -.5em;
	z-index: 2;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.3));
}
.com_soudan .reservation li{
	width: 49%;
	background: #3d362e;
	border-radius: 40px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.3));
}
.com_soudan .reservation li:nth-child(2){
	background: #ea6e66;
	transition: 0.4s;
}
.com_soudan .reservation li:nth-child(2):hover{
	background: #a62f27;
	transition: 0.4s;
}

.com_soudan .aki{
	display: flex;
    justify-content: space-between;
    align-items: center;	
	margin: 50px auto 0;
	background: #8aa8c3;
}
.com_soudan .aki .title,
.com_soudan .aki .content{
	padding: 1rem 5% .5rem;
	box-sizing: border-box;
}
.com_soudan .aki .title{
	display: block;
	height: 100%;
	background: #8aa8c3;
	width: 37%;
	text-align: center;
}
.com_soudan .aki .title p{
	position: relative;
	padding-top: 1.8em;
}
.com_soudan .aki .title p::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/icon_calendar@2x.png") no-repeat top center;
	background-size: 100% auto;
	width: 1.3em;
	height: 2em;
	top:0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.com_soudan .aki .content{
	width: 63%;
	background: #fff;
}
.com_soudan .aki .content iframe{
	border:none!important;
	width: 100%;
	aspect-ratio: 548 / 146!important;
}
.com_soudan .aki_txt{
	font-size:95%;
	text-align: center;
	margin-top: .8em;
}

/*com_en*/
.com_en{
	width: 50%;
	max-width: 596px;
	aspect-ratio: 596 / 589;
}
.com_en img{
	animation: spin 80s linear infinite;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

#start .com_soudan .com_en{
	position: absolute;
	top:-22%;
	right: -34%;
}
#select .com_soudan .com_en{
	position: absolute;
	top:-31%;
	left: -31%;
}
#qa .com_soudan .com_en{
	position: absolute;
	top:-8%;
	right: -30%;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
.com_soudan .aki .title,
.com_soudan .aki .content{
	padding: 1rem 1% .5rem;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_soudan{
	padding:5vw 5% 5vw;
	margin: 6vw auto 0;
}
#select .com_soudan{
	margin-top: 8vw;
}
.soudan_index{
	margin-bottom: 2vw;
}
.com_soudan .txtbox{
	margin-top: 0;
	margin-bottom: 1vw;
}

.com_soudan .aki{
	margin: 5vw auto 0;
}
.com_soudan .aki .title,
.com_soudan .aki .content{
	padding: 1vw 3%;
}
.com_soudan .aki .title{
	width: 30%;
}
.com_soudan .aki .content{
	width: 70%;
}
.com_soudan .aki_txt{
	margin-top: 1.2em;
}
	
/*com_en*/
#start .com_soudan .com_en{
	top:-16%;
}
#select .com_soudan .com_en{
	top:-22%;
}
#qa .com_soudan .com_en{
	top:0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_soudan{
	padding: 8% 4% 6%;
	margin: 7% auto 0;
	border-radius: 30px;
}
#select .com_soudan{
	margin-top: 9%;
}
.soudan_index{
	margin-bottom: 4%;
}
.soudan_index .fs36{
	position: relative;
	z-index: 2;
	margin-bottom: .6em;
}
.com_soudan .txtbox{
	padding-left:0;
	margin-top: 0;
	padding-top: 4%;
	margin-bottom: 3%;
}
.com_soudan .txtbox .img{
	position: relative;
	width: 38%;
	float: left;
	margin-bottom: .5rem;
}
.com_soudan .txtbox .txt{
	width: 100%;
}
.com_soudan .reservation{
	padding-top: 1em;
}
.com_soudan .reservation .ft_ub{
	font-size: 10vw;
}
.com_soudan .reservation div{
	width: 40vw;
	margin: 0 auto -2.5vw;
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.3));
}
.com_soudan .reservation ul{
	display: block;
	width: 90%;
	margin: 0 auto;
}
.com_soudan .reservation li{
	width:100%;
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.3));
}
.com_soudan .reservation li:nth-child(2){
	margin-top: 4%;
}

.com_soudan .aki{
	display: block;	
	margin: 10% auto 0;
}
.com_soudan .aki .title{
	width: 100%;
	padding: 5%;
}
.com_soudan .aki .content{
	width: 100%;
	padding: 3% 0 0;
	overflow-y: hidden!important;
}
.com_soudan .aki .content iframe{
	display: block!important;
	width:75vw!important;
	height:60vw!important;
	margin: 0 auto!important;
	overflow-y: hidden!important;
}

/*com_en*/
.com_en{
	width:65%;
}
#start .com_soudan .com_en{
	top:-5%;
	right: -34%;
}
#select .com_soudan .com_en{
	top:-5%;
	left: -45%;
}
#qa .com_soudan .com_en{
	top:-5%;
	right: -30%;
}
}







/* select
---------------------------------------------------------*/
#select .bg_navy{
	background: url("../images/top/sele_bg@2x.png")no-repeat bottom -1px left #153373;
	background-size: 100% auto;
}
#select .w1580{
	position: relative;
	padding-top: 250px;
	margin-top: -100px;
	padding-bottom: 50px;
}
#select .w1580 .sele_abs1{
	position: absolute;
	top: 100px;
	right: -2.5%;
	width:21.5%;
	max-width: 321px;
	aspect-ratio: 321 / 293;
}

#select .sele_index1{
	position: relative;
	margin: 0 auto 70px;
	width: 70%;
	max-width: 670px;
}
#select .sele_index1 .com_chon{
	position: absolute;
	top: 52%;
	transform: translateY(-50%);
	left: 31%;
	max-width: 141px;
	width: 20%;
	aspect-ratio: 141 / 133;
}

#select .sele_number{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	width: 116%;
	max-width: 1580px;
	margin-left: -8%;
}
#select .sele_number > li{
	margin-bottom: 40px;
	padding: 0 0 70px;
	box-sizing: border-box;
	width: 92.5%;
	padding-left: 12.5%;
	padding-right: 4.5%;
}
#select .sele_number > li:last-child{
	margin-bottom: 0;
}

/*half*/
#select .sele_number_box.half_l,
#select .sele_number_box.half_r{
	width: 48%;
	padding-bottom: 40px;
} 
#select .sele_number_box.half_l{
	padding-right: 4%;
	padding-left: 12%;
}
#select .sele_number_box.half_r{
	padding-right: 8.5%;
	padding-left: 7.5%;
}
#select .sele_number_box.half_l .img,
#select .sele_number_box.half_r .img{
	width: 107%;
	margin-bottom: 30px;
}
#select .sele_number_box.half_l .img{
	margin-left: -7%;
}

#select .sele_number_box{
	position: relative;
}
#select .sele_number_box .memo{
	font-size:95%;
	position: absolute;
	top:calc(100% + 2.5em);
	left: 0;
}
#select .sele_number_box::before{
	position: absolute;
	background: #fff;
	display: block;
	content: "";
	background-size: 100% auto;
	width: 300%;
	height: calc(100% - 5rem);
	bottom: 0;
	border-radius: 40px;
} 
#select .sele_number_box.number1::before,
#select .sele_number_box.number2::before,
#select .sele_number_box.number4::before{
	right: 0;
} 
#select .sele_number_box.number3::before{
	left: 0;
} 
#select .sele_number_box.number4::before{
	border-radius: 40px 40px 0 0;
} 
#select .sele_number_inbox{
	position: relative;
	z-index: 2;
}

/*number*/
#select .sele_number .number{
	font-size: 750%;
	line-height: 1.25em;
}
#select .sele_number .number{
	margin-left: -.3em;
}
#select .sele_number .half .number{
	margin-left: 0;
}

/*fs29*/
#select .sele_number .fs29 p{
	background: #3d362e;
	display: inline-block;
	margin-bottom: .15em;
	padding: .1em .5em .15em;
	box-sizing: border-box;
}

/*fs50*/
#select .sele_number .fs50{
	line-height: 1.4em;
	margin-top: .4em;
	margin-bottom: .3em;
}
#select .half_l .fs50,
#select .half_r .fs50{
	margin-bottom: .5em;
}

/*fltbox*/
#select .fltbox{
	position: relative;
}
#select .fltbox .imgbox{
	position: absolute;
	top:160px;
	right: -9.5%;
	width: 43.5%;
	max-width: 522px;
}
#select .fltbox .imgbox .abs{
	position: absolute;
	top:28%;
	transform: translateY(-50%);
	left: 1%;
	width: 36%;
	max-width: 199px;
	aspect-ratio: 199 / 127;
}
#select .fltbox .imgbox .abs1{
	position: absolute;
	top:19%;
	transform: translateY(-50%);
	left:-1%;
	width: 25%;
	max-width: 124px;
	aspect-ratio: 124 / 139;
}
#select .fltbox .imgbox .abs2{
	position: absolute;
	top: 99%;
	transform: translateY(-50%);
	left: 12%;
	width: 36%;
	max-width: 183px;
	aspect-ratio: 183 / 146;
}
#select .fltbox .sele_txtbox{
	width: 60%;
}

/*advice*/
#select .advice{
	border-top:dotted 2px #3d362e;
	padding-top: 30px;
	margin-top: 30px;
}
#select .advice .img{
	width:14.5%;
}
#select .advice .txt{
	width:82.5%;
	padding-top: .5rem;
}
#select .advice .txt .fs22{
	display: inline-block;
	background: #0fb2c0;
	border-radius: 50px;
	padding: .5em 1em;
	box-sizing: border-box;
	margin-bottom: .6em;
}

/*com_btn1*/
.com_btn1 a{
	background: #78a9e7;
	display: inline-block;
	padding: .75em 1.5em .85em;
	border-radius: 50px;
	box-sizing: border-box;
	max-width: 400px;
	width: 100%;
	text-align: center;
	margin-top: 1.5em;
	line-height: 1.5em;
}
.com_btn1 a:hover{
	background: #3d362e;
}
.com_btn1 a i{
	margin-left: .5em;
}

/*com_btn2*/
.com_btn2 a{
	display: inline-block;
	font-size:115%;
	line-height: 1.4em;
	margin-top: .7em;
}
.com_btn2 a:hover{
	color: #a62f27;
}
.com_btn2 a i{
	font-size:120%;
	margin-right: .2em;
}

/*rel_slide*/
#select .rel_slide li{
	width: 420px;
}

/*deco_list*/
#select .deco_list{
	position: relative;
	z-index: 2;
	display: flex;
    justify-content: space-between;
	align-items: flex-end;	
	width: 76%;
	margin-left: auto;
	margin-right: 0;
	margin-top: -92px;
}
#select .deco_list li{
	width: 17%;
}
#select .deco_list li:nth-child(1){
	width: 30%;
} 

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
#select .w1580 .sele_abs1{
	right: -7%;
}
#select .sele_number > li{
	padding-left: 8%;
	padding-right: 5%;
}
#select .sele_number_box.half_l{
	padding-right: 2%;
	padding-left: 9%;
}
#select .sele_number_box.half_r{
	padding-right: 6%;
	padding-left: 5%;
}
#select .fltbox .sele_txtbox{
	width: 62%;
}	
#select .sele_number .number{
	margin-left: -.1em;
}
#select .sele_number_box .memo{
	letter-spacing: normal;
}
	
/*deco_list*/
#select .deco_list{
	margin-top: -7vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#select .w1580{
	padding-top: 23vw;
	margin-top: -10vw;
	padding-bottom: 5vw;
}
#select .w1580 .sele_abs1{
	top: 10vw;
	right: -6%;
}
#select .sele_index1{
	margin: 0 auto 4vw;
}
#select .sele_number > li{
	margin-bottom: 4vw;
	padding: 0 0 5vw;
	padding-left: 7%;
	padding-right: 4%;
}

/*half*/
#select .sele_number_box.half_l,
#select .sele_number_box.half_r{
	width: 49%;
	padding-bottom: 4vw;
} 
#select .sele_number_box.half_l{
	padding-right: 2.5%;
	padding-left: 7%;
}
#select .sele_number_box.half_r{
	padding-right: 5.5%;
	padding-left: 3.5%;
}
#select .sele_number_box.half_l .img,
#select .sele_number_box.half_r .img{
	margin-bottom: 3vw;
}
#select .sele_number_box .memo{
	font-size:90%;
	letter-spacing: normal;
}
#select .sele_number_box::before{
	height: calc(100% - 3.5rem);
} 

/*number*/
#select .sele_number .number{
	font-size: 550%;
}
#select .sele_number .number{
	margin-left: 0;
}
#select .sele_number .half .number{
	margin-left: 0;
}

/*fltbox*/
#select .fltbox .imgbox{
	top:15vw;
}
#select .fltbox .sele_txtbox{
	width: 63%;
}

/*advice*/
#select .advice{
	padding-top: 4vw;
	margin-top: 4vw;
}
#select .advice .txt{
	padding-top: 0;
}

/*com_btn1*/
.com_btn1 a{
	margin-top: 1em;
}
.com_btn1 a i{
	margin-left: .3em;
}

/*com_btn2*/
.com_btn2 a{
	font-size:110%;
}

/*rel_slide*/
#select .rel_slide li{
	width: 40vw;
}

/*deco_list*/
#select .deco_list{
	margin-top: -6vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#select .w1580{
	padding-top: 33vw;
	margin-top: -10vw;
	padding-bottom: 5vw;
}
#select .w1580 .sele_abs1{
	top: 8vw;
	right: -8%;
	width: 25%;
}
#select .sele_index1{
	margin: 0 auto 8%;
	width: 95%;
}
#select .sele_number{
	display: block;
	width: 100%;
	margin: 0 auto 10%;
}
#select .sele_number > li{
	margin-bottom: 3%;
	padding: 0 0 5%;
	width: 100%;
	padding-left:5%;
	padding-right: 5%;
}
#select .sele_number > li:nth-child(2){
	margin-bottom: calc(3% + 2em);
}
#select .sele_number_box.number1::before{
	right: auto;
	left: 0;
}
	
/*half*/
#select .sele_number_box.half_l,
#select .sele_number_box.half_r{
	width: 100%;
	padding-bottom: 5%;
} 
#select .sele_number_box.half_l{
	padding-right: 5%;
	padding-left:5%;
}
#select .sele_number_box.half_r{
	padding-right: 5%;
	padding-left:5%;
}
#select .sele_number_box.half_l .img,
#select .sele_number_box.half_r .img{
	width: 106%;
	margin-bottom: 3%;
}
#select .sele_number_box.half_l .img{
	margin-left:-4%;
}

#select .sele_number_box .memo{
	font-size: 88%;
	top:calc(100% + 2em);
	left: 0;
}
#select .sele_number_box::before{
	height: calc(100% - 10vw);
	border-radius: 30px!important;
} 

/*number*/
#select .sele_number .number{
	font-size: 400%;
}
#select .sele_number .number{
	margin-left: 0;
}

/*fs50*/
#select .sele_number .fs50{
	line-height: 1.5em;
	margin-top: .2em;
	margin-bottom: .3em;
}
#select .half_l .fs50,
#select .half_r .fs50{
	margin-bottom: .5em;
}

/*fltbox*/
#select .fltbox .imgbox{
	width: 70%;
	top: 14vw;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#select .fltbox .sele_txtbox{
	width: 100%;
}
#select .number1 .fltbox .sele_txtbox .fs29{
	padding-top: 48vw;
}
#select .number4 .fltbox .sele_txtbox .fs29{
	padding-top: 60vw;
}

/*advice*/
#select .advice{
	padding-top: 5%;
	margin-top: 5%;
	display: block;
}
#select .advice .img{
	width: 35%;
	margin: 0 auto;
}
#select .advice .txt{
	width:100%;
	padding-top: 4%;
}
#select .advice .txt .fs22{
	margin-bottom: .5em;
	display: block;
	text-align: center;
}

/*com_btn1*/
.com_btn1 a{
	margin-top: 1.2em;
}

/*com_btn2*/
.com_btn2 a{
	font-size:110%;
	margin-top: .5em;
}

/*rel_slide*/
#select .rel_slide li{
	width: 50vw;
}

/*deco_list*/
#select .deco_list{
	width: 100%;
	margin-top: -9vw;
}
}







/* ortho
---------------------------------------------------------*/
#ortho .bg_gray{
	padding-top: 150px;
	padding-bottom: 120px;
}
#ortho .ortho_index1{
	position: relative;
	margin: 0 auto 90px;
	width: 80%;
	max-width: 775px;
}
#ortho .ortho_index1 .com_chon{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 25%;
	width:42.5%;
}
#ortho .ortho_inbox{
	margin-bottom: 140px;
}
#ortho .ortho_inbox:last-of-type{
	margin-bottom: 0;
}
#ortho .ortho_index2{
	background: #153373;
	text-align: center;
	margin-bottom: 80px;
	border-radius: 100px;
	padding: .5em 1em .6em;
	box-sizing: border-box;
}
#ortho .ortho_index2_box{
	max-width: 1200px;
	margin: 0 auto;
}
#ortho .col3{
	display: flex;
    justify-content: space-between;
	margin-bottom: 70px;
}
#ortho .col3 li{
	width: 33.333%;
}
#ortho .step{
	display: flex;
    justify-content: space-between;
	margin-bottom: 50px;
}
#ortho .step ol{
	width: 48%;
	max-width: 545px;
}
#ortho .step ol li{
	position: relative;
	padding-left: 3.8rem;
	box-sizing: border-box;
	padding-bottom: 3rem;
}
#ortho .step ol li:last-child{
	margin-bottom: 0;
}
#ortho .step ol li::before{
	position: absolute;
	display: block;
	content: "";
	background: #0fb2c0;
	background-size: 100% auto;
	width: 2px;
	height: 100%;
	top:0;
	left: .65em;
}
#ortho .step ol li.last::before{
	display: none;
}
#ortho .step ol li .number{
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	position: absolute;
	top:0;
	left: 0;
	font-size:130%;
	line-height: 1em;
	background: #f1f1f1;
	padding-top: .5em;
	padding-bottom: .3em;
}
#ortho .step ol li .txt .fs40{
	margin-bottom: .2em;
}

/*hoken*/
#ortho .hoken{
	position: relative;
	padding: 0 5% 70px;
}
#ortho .hoken::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 2rem);
	bottom: 0;
	left: 0;
	border-radius: 40px;
}
#ortho .hoken_inbox{
	position: relative;
	z-index: 2;
}
#ortho .hoken .hoken_index{
	position: relative;
	text-align: center;
	margin-bottom: 50px;
}
#ortho .hoken .hoken_index::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/ortho_serif@2x.png")no-repeat top center;
	background-size: 100% auto;
	width: 30px;
	height: 20px;
	top:100%;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#ortho .hoken .hoken_index h4{
	display: inline-block;
	margin: 0 auto;
	background: #8aa8c3;
	padding: .4em .2em;
	box-sizing: border-box;
}
#ortho .hoken .sp_txt_l{
	margin-bottom: 50px;
}
#ortho .hoken h5{
	text-align: center;
	color: #8aa8c3;	
}
#ortho .hoken h5 span{
	display: inline-block;
	padding-bottom: .8em;
	margin-bottom: 1em;
	border-bottom: 2px solid #8aa8c3;
}
#ortho .hoken ol{
	margin: 2em 0;
}
#ortho .hoken ol li{
	position: relative;
	padding-left: 2.5em;
	box-sizing: border-box;
	border-bottom: dotted 2px #3d362e;
	padding-bottom: .8em;
	margin-bottom: 1em;
	font-size:115%;
	font-weight: bold;
}
#ortho .hoken ol li:last-child{
	margin-bottom: 0;
}
#ortho .hoken ol li div:nth-child(2){
	font-weight: bold!important;
}
#ortho .hoken ol li .ft_ub{
	display: inline-block;
	border-radius: 50%;
	background: #8aa8c3;
	color: #fff;
	line-height: 1em;
	padding: .38em .5em .38em .6em;
	box-sizing: border-box;
	position: absolute;
	top:0;
	left: -0.2em;
	font-size:110%;
}

/*com_line*/
.com_line{
	font-weight: bold;
	background:linear-gradient(transparent 55%, #eee664 55%);
}

/*ortho_list*/
#ortho .ortho_list > li{
	border-bottom: dotted 2px #3d362e;
	padding-bottom: 50px;
	margin-bottom: 50px;
	display: flex;
    justify-content: space-between;
}
#ortho .ortho_list > li:last-child{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
#ortho .ortho_list .img_l{
	width: 48%;
	max-width: 550px;
}
#ortho .ortho_list .txt_r{
	width: 48%;
}
#ortho .ortho_list .txt_r h4{
	margin-bottom: .5em;
}
#ortho .ortho_list dl{
	margin-bottom: .5em;
	display: flex;
    justify-content: space-between;
	line-height: 1.6em;
}
#ortho .ortho_list dl:last-of-type{
	margin-bottom: 1em;
}
#ortho .ortho_list dt{
	width: 7em;
	background: #fff;
	text-align: center;
	font-weight: bold!important;
	border-radius: 50px;
}
#ortho .ortho_list dd{
	width: calc(100% - 7.8em);
	font-weight: bold!important;
}
#ortho .memo{
	margin: 60px auto 0;
	border: 2px solid #153373;
	padding: 30px 4%;
	box-sizing: border-box;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#ortho .bg_gray{
	padding-top: 12vw;
	padding-bottom: 12vw;
}
#ortho .ortho_index1{
	margin: 0 auto 7vw;
}
#ortho .ortho_inbox{
	margin-bottom: 8vw;
}
#ortho .ortho_index2{
	margin-bottom: 4vw;
	padding: .4em 1em .5em;
}
#ortho .col3{
	margin-bottom: 5vw;
}
#ortho .step{
	margin-bottom: 0;
}
#ortho .step ol li{
	padding-left: 2.8rem;
	padding-bottom: 2rem;
}
#ortho .step ol li .number{
	padding-top: .2em;
}

/*hoken*/
#ortho .hoken{
	padding: 0 5% 5%;
}
#ortho .hoken::before{
	height: calc(100% - 2vw);
}
#ortho .hoken .hoken_index{
	margin-bottom: 4vw;
}
#ortho .hoken .sp_txt_l{
	margin-bottom: 5vw;
}
#ortho .hoken ol{
	margin: 1.5em 0;
}
#ortho .hoken ol li{
	font-size:105%;
	line-height: 1.8em;
}

/*ortho_list*/
#ortho .ortho_list > li{
	padding-bottom: 5%;
	margin-bottom: 5%;
}
#ortho .ortho_list dl{
	font-size:95%;
}
#ortho .memo{
	margin: 5% auto 0;
	padding: 4%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#ortho .bg_gray{
	padding-top: 18vw;
	padding-bottom: 12vw;
}
#ortho .ortho_index1{
	margin: 0 auto 10vw;
	width: 100%;
}
#ortho .ortho_inbox{
	margin-bottom: 10%;
}
#ortho .ortho_index2{
	margin-bottom: 5%;
	padding: .25em 1em .3em;
}
#ortho .col3{
	flex-wrap: wrap;
	margin-bottom: 5%;
}
#ortho .col3 li{
	width: 50%;
}
#ortho .col3 li:nth-child(3){
	width: 65%;
	margin-left: 17.5%;
}
#ortho .step{
	display: block;
	margin-bottom: 5%;
}
#ortho .step ol{
	width: 100%;
	max-width: 100%;
}
#ortho .step ol li{
	padding-left: 3rem;
	padding-bottom: 2rem;
}
#ortho .step ol li::before{
	left: .5em;
}
#ortho .step ol li .number{
	font-size:110%;
}
#ortho .step ol li .txt .fs40{
	margin-bottom: .1em;
}

/*hoken*/
#ortho .hoken{
	padding: 0 5% 8%;
}
#ortho .hoken::before{
	height: calc(100% - 5vw);
	border-radius: 30px;
}
#ortho .hoken .hoken_index{
	margin-bottom: 5%;
}
#ortho .hoken .hoken_index h4{
	padding: .4em .5em;
}
#ortho .hoken .sp_txt_l{
	margin-bottom: 5%;
}
#ortho .hoken h5 span{
	padding-bottom: .6em;
	margin-bottom: .8em;
}
#ortho .hoken ol{
	margin: 1.5em 0;
}
#ortho .hoken ol li{
	font-size:100%;
	line-height: 1.7em;
}
#ortho .hoken ol li .ft_ub{
	padding: .31em .5em .31em .6em;
}
	
/*ortho_list*/
#ortho .ortho_list > li{
	padding-bottom: 8%;
	margin-bottom: 8%;
	display: block;
}
#ortho .ortho_list .img_l{
	width: 75%;
	margin: 0 auto 4%;
}
#ortho .ortho_list .txt_r{
	width: 100%;
}
#ortho .ortho_list .txt_r h4{
	margin-bottom: .6em;
	text-align: center;
}
#ortho .memo{
	margin: 5% auto 0;
	padding: 5%;
}
}






/* case
---------------------------------------------------------*/
#case .bg{
	padding: 120px 0 130px;
}
.com_index1{
	text-align: center;
	margin-bottom: 60px;
}
.com_index1 .ft_ub{
	font-size:120%;
}

.slide_inner {
	position: relative;
	margin: 0 auto;
}
.slide_inner::before{
	position: absolute;
	display: block;
	content: "";
	background: #f3f6f9;
	background-size: 100% auto;
	width: calc(100% - 7rem);
	height: calc(100% - 3rem);
	bottom:0;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: -1;
	border-radius: 40px;
}
.slick-prev,
.slick-next{
    font-size: 0;
    line-height: 0;
    position: absolute;
	z-index: 1;
    display: block;
	top: 50%;
	transform: translateY(-50%);
	width: 10%;
    max-width:80px;
    height: 104px;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
	background-color: transparent;/**/
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	transition: opacity 1.0s;
}
.slick-prev:hover,
.slick-next:hover{
	opacity: 0.5;
}
.slick-prev{
    left: 1rem;
	background-image: url("../images/top/arrow_l@2x.png");
}
.slick-next{
    right: 1rem;
	background-image: url("../images/top/arrow_r@2x.png");
}

.case_box{
	padding-left: 3.5rem;
	padding-right: 3.5rem;
	box-sizing: border-box;
}
.case_inbox{
	position: relative;
	padding: 0 6.8% 40px;
	box-sizing: border-box;
}
.slide_inner .number{
	font-size: 450%;
	line-height: 1em;
	text-align: center;
	margin-bottom: .6em;
}
.slide_inner .img{
	display: flex;
    justify-content: space-between;
}
.slide_inner .img.col2 > li{
	width: 48%;
}
.slide_inner .img.col2_2{
	width: 55%;
	max-width: 670px;
	margin: 0 auto;
}
.slide_inner .img.col2_2 > li{
	width: 48%;
}
.slide_inner .img.col3 > li{
	width: 31.5%;
}
.slide_inner .img > li{
	position: relative;
	text-align: center;
}
.slide_inner .img > li::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/top/ortho_arrow@2x.png")no-repeat top left;
	background-size: 100% auto;
	width: 6%;
	max-width: 20px;
	top: 45%;
	transform: translateY(-50%);
	left: 102%;
	aspect-ratio: 20 / 45;
}
.slide_inner .img.col2 > li::before,
.slide_inner .img.col2_2 > li::before{
	width: 6%;
	max-width: 20px;
	height: 45px;
}
.slide_inner .img > li:last-child::before{
	display: none;
}
.slide_inner .txt{
	background: #cccccc;
	display: inline-block;
	margin: .5em auto 0;
	font-weight: bold;
	width: 100%;
	border-radius: 50px;
	max-width: 240px;
	text-align: center;
}
.slide_inner .img > li:nth-child(2) .txt{
	background: #6fd1d9;
}
.slide_inner .img > li:last-child .txt{
	background: #0fb2c0!important;
}

.slide_inner table{
	width: 100%;
	margin: 50px auto 0;
}
.slide_inner table th{
	width: 12em;
	background: #fff;
	border-radius: 10px;
	text-align: center;
}
.slide_inner table tr th,
.slide_inner table tr td{
	border-bottom: 5px solid #f3f6f9;;
}
.slide_inner table td{
	width: calc(100% - 12em);
	padding-left: 1.5em;
	box-sizing: border-box;
}

/*メッセージ*/
#case .message{
	position: relative;
	max-width: 1200px;
	margin: 120px auto 0;	
}
#case .message::before{
	position: absolute;
	display: block;
	content: "";
	background: #faf7d0;
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 2em);
	bottom: 0;
	left: 0;
	border-radius: 40px;
}
#case .message_inbox{
	position: relative;
	z-index: 2;
	padding: 0 5% 50px;
	box-sizing: border-box;
}
#case .message .fs40{
	text-align: center;
	margin-bottom: 20px;
}
#case .message .flt_r{
	width: 42%;
} 
#case .message .flt_l{
	width: 54%;
	padding-top: 1.7em;
} 

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#case .bg{
	padding: 10vw 0 10vw;
}
.com_index1{
	margin-bottom: 4vw;
}
.slide_inner::before{
	width: calc(100% - 2rem);
	height: calc(100% - 4vw);
}
.slick-prev,
.slick-next{
	width: 8%;
}
.slick-prev{
    left: -2%;
}
.slick-next{
    right: -2%;
}
.case_box{
	padding-left: 2.5rem;
	padding-right: 2.5rem;
}
.case_inbox{
	padding: 0 4% 4%;
}
.slide_inner .number{
	font-size: 400%;
	margin-bottom: .3em;
}
.slide_inner table{
	margin:5% auto 0;
	font-size:90%;
}

/*メッセージ*/
#case .message{
	margin: 5% auto 0;	
}
#case .message::before{
	height: calc(100% - 2vw);
}
#case .message_inbox{
	padding: 0 5% 5%;
}
#case .message .fs40{
	margin-bottom:1%;
}
#case .message .flt_r{
	margin-left: 4%;
	margin-bottom: 1rem;
} 
#case .message .flt_l{
	width: 100%;
	padding-top: 1em;
	float: none;
} 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#case .bg{
	padding: 12% 0;
}
.com_index1{
	margin-bottom: 5%;
}
.slide_inner {
	touch-action: pan-y pinch-zoom!important;
}
.slide_inner::before{
	display: none;
}
	
.slick-prev,
.slick-next{
	width: 7.5vw;
}
.slick-prev{
    left: -3vw;
}
.slick-next{
    right: -3vw;
}

.case_box{
	padding-left: 0;
	padding-right:0;
	margin-bottom: 6%;
}
.case_box:last-of-type{
	margin-bottom: 0;
}
.case_inbox{
	position: relative;
	padding: 0 4% 5%;
}
.case_inbox::before{
	position: absolute;
	display: block;
	content: "";
	background: #f3f6f9;
	background-size: 100% auto;
	width: 100%;
	height: calc(100% - 6vw);
	bottom:0;
	left: 0;
	z-index: -1;
	border-radius: 30px;
}
.slide_inner .number{
	font-size: 300%;
	margin-bottom: .3em;
}
.slide_inner .img{
	display: block;
	width: 100%!important;
}
.slide_inner .img > li{
	margin: 0 auto 7vw!important;
}
.slide_inner .img > li:last-child{
	margin-bottom: 0!important;
}
.slide_inner .img > li::before{
	width: 3vw!important;
	top:100%!important;
	transform: translateY(0) rotate(90deg)!important;
	left: 0!important;
	right: 0!important;
	margin: 0 auto!important;
}	
.slide_inner .img.col2 > li::before,
.slide_inner .img.col2_2 > li::before{
	height: auto;
}
.slide_inner .img.col2_2{
	width: 100%;
	max-width: 100%;
}
.slide_inner .img.col2 > li{
	width: 90%;
}
.slide_inner .img.col2_2 > li{
	width: 60%;
}
.slide_inner .img.col3 > li{
	width:60%;
}
	
.slide_inner .txt{
	font-size:90%;
}
.slide_inner table{
	margin: 7% auto 0;
	font-size:75%;
	letter-spacing: normal;
}
.slide_inner table th{
	width:9em;
	border-radius: 5px;
}
.slide_inner table tr th,
.slide_inner table tr td{
	border-bottom: 3px solid #f3f6f9;;
}
.slide_inner table td{
	width: calc(100% - 9em);
	padding-left: .8em;
	line-height: 1.5em;
}

/*メッセージ*/
#case .message{
	margin: 8% auto 0;	
}
#case .message::before{
	height: calc(100% - 1em);
	border-radius: 30px;
}
#case .message_inbox{
	padding: 0 5% 5%;
}
#case .message .fs40{
	margin-bottom: 4%;
}
#case .message .flt_r{
	width: 70%;
	float: none;
	margin: 0 auto;
} 
#case .message .flt_l{
	width: 100%;
	float: none;
	padding-top: 4%;
} 
}






/* price
---------------------------------------------------------*/
#price .bg{
	background: #3d362e;
	padding: 110px 0 80px;
}
#price .com_index1{
	margin-bottom: 90px;
}

#price .listbox{
	display: flex;
    justify-content: space-between;
}
#price .listbox li{
	background: #fff;
	border-radius: 40px;
	margin-bottom: 18px;
	padding: 20px 1.5rem 20px 2.7rem;
	box-sizing: border-box;
} 
#price .listbox li:last-child{
	margin-bottom: 0;
}
#price .listbox > div{
	width: 48.5%;
}
#price .listbox .list_r_inbox{
	background:rgba(255,255,255,0.2);
	padding: 20px 3.5% 30px;
	box-sizing: border-box;
}
#price .listbox .list_r_inbox .title{
	text-align: center;
	font-size:105%;
	letter-spacing: 0.05em;
	background: #0fb2c0;
	border-radius: 50px;
	line-height: 1.5em;
	padding: .2em 1.5em;
	margin-bottom: 15px;
}

#price .listbox dl{
	display: flex;
    justify-content: space-between;
    align-items: center;	
}
#price .listbox dt{
	width: 50%;
	font-size: min(160%,2.6vw);
	line-height: 1.4em;
}
#price .listbox dd{
	width: 50%;
	text-align: right;
	font-size: min(160%,2.6vw);
	line-height: 1.4em;
}
#price .listbox dd span{
	font-size:130%;
}
#price .attention{
	text-align: right;
	margin-top: 1.2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#price .bg{
	padding: 8vw 0 9vw;
}
#price .com_index1{
	margin-bottom: 5vw;
}
#price .listbox li{
	margin-bottom: 2vw;
	padding: 2vw .5rem 2vw 1rem;
	border-radius: 20px;
} 
#price .listbox .list_r_inbox{
	padding: 2vw 3% 2vw;
}
#price .listbox .list_r_inbox .title{
	font-size:100%;
	letter-spacing:normal;
	line-height: 1.4em;
	padding: .3em 1.5em;
	margin-bottom: 2vw;
}

#price .listbox dt{
	letter-spacing: normal;
}
#price .listbox dd{
	letter-spacing: normal;
}
#price .listbox dd span{
	font-size:120%;
}
#price .listbox dd p{
	font-size:88%;
	letter-spacing: normal;
}
#price .attention{
	margin-top: 1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#price .bg{
	padding: 10% 0 12%;
}
#price .com_index1{
	margin-bottom: 8%;
}

#price .listbox{
	display: block;
}
#price .listbox li{
	border-radius: 20px;
	margin-bottom: 2vw;
	padding: 5% 5%;
} 
#price .listbox li:last-child{
	margin-bottom: 2vw;
}
#price .listbox > div{
	width: 100%;
}
#price .listbox .list_r_inbox{
	padding: 4%;
}
#price .listbox .list_r_inbox .title{
	font-size:100%;
	letter-spacing: normal;
	padding: .4em 1.5em;
	margin-bottom: 2vw;
}

#price .listbox dt{
	font-size: 120%;
}
#price .listbox dd{
	font-size: 120%;
}
#price .listbox dd span{
	font-size:120%;
}
#price .listbox p{
	font-size:90%;
	letter-spacing: normal;
	margin-top: .2em;
}
}







/* qa
---------------------------------------------------------*/
#qa .bg{
	padding-top: 110px;
}
#qa .qa_list li{
	position: relative;
	margin-bottom: 10px;
	background: #f3f6f9;
	border-radius: 40px;
	padding: 30px 4%;
	box-sizing: border-box;
}
#qa .qa_list li:last-child{
	margin-bottom:0;
}
#qa .qa_list li .icon_open{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: .7em;
}
#qa .qa_list li .open_btn,
#qa .qa_list li .open_box{
	padding-left: 3em;
	padding-right: 3em;
	box-sizing: border-box;
}
#qa .qa_list li .open_box{
	padding-top: 1.7em;
}
#qa .qa_list li .open_btn,
#qa .qa_list li .open_box > div{
	position: relative;
}
#qa .qa_list li .open_btn::before,
#qa .qa_list li .open_box > div::before{
	position: absolute;
	display: block;
	content: "Q";
	top:-.15em;
	left: -.2em;
	font-family: "Ubuntu", sans-serif!important;
	font-weight: 500!important;
	font-style: normal!important;
	color: #0fb2c0;
	font-size:280%;
	line-height: 1em;
}
#qa .qa_list li .open_box > div::before{
	content: "A";
	left: 0;
}
#qa .qa_list li .open_box > div{
	padding-left: 3.5em;
	box-sizing: border-box;
}
#qa .com_soudan{
	margin-top: 120px;
}
#qa .com_soudan .fs36{
	position: relative;
	z-index: 2;
	margin-bottom: .5em;
}
#qa .com_soudan .fs60{
	line-height: 1.4em;
}

.f_bg{
	height:min(630px,40vw);
	background: url("../images/top/f_img@2x.jpg")no-repeat center center;
	background-size: cover;
	margin-top: -120px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#qa .bg{
	padding-top: 8vw;
}
#qa .qa_list li{
	margin-bottom: 1vw;
	border-radius:20px;
	padding: 4vw 4%;
}
#qa .qa_list li .icon_open{
	right: .5em;
}
#qa .qa_list li .open_btn,
#qa .qa_list li .open_box{
	padding-left: 2em;
	padding-right: 2em;
}
#qa .qa_list li .open_box{
	padding-top: 1.5em;
}
#qa .qa_list li .open_btn::before,
#qa .qa_list li .open_box > div::before{
	top:-.15em;
	left: -.2em;
	font-size:220%;
}
#qa .qa_list li .open_box > div{
	padding-left: 1.8em;
}
#qa .com_soudan{
	margin-top: 8%;
}

.f_bg{
	margin-top: -7vw;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#qa .bg{
	padding-top: 12%;
}
#qa .qa_list li{
	margin-bottom: 2vw;
	border-radius: 20px;
	padding: 6% 5%;
}
#qa .qa_list li .icon_open{
	right: .6em;
}
#qa .qa_list li .open_btn{
	padding-left: 2em;
	padding-right: 2em;
}
#qa .qa_list li .open_box{
	padding-left: 0;
	padding-right: 0;
}
#qa .qa_list li .open_box{
	padding-top: 1.2em;
}
#qa .qa_list li .open_btn::before,
#qa .qa_list li .open_box > div::before{
	top: -0.05em;
	left: -.1em;
	font-size:200%;
}
#qa .qa_list li .open_box > div{
	padding-left: 2em;
}
	
#qa .com_soudan{
	margin-top: 12%;
}
#qa .com_soudan .fs36{
	margin-bottom: .2em;
}
#qa .com_soudan .fs60{
	line-height: 1.4em;
}
#qa .com_soudan .fs60.com_serif{
	padding: 0!important;
}
#qa .com_soudan .fs60.com_serif::before{
	left: -1em;
}
#qa .com_soudan .fs60.com_serif::after{
	right: -1em;
}	
.f_bg{
	height: 42vw;
	margin-top: -8vw;
}
}





/* bnr_line
---------------------------------------------------------*/
.bnr_line {
	position: fixed;
	z-index: 500;
	bottom:10px;
	right: 10px;
	transform: translateX(100%);
	opacity: 0;
    transition: all .4s ease-out;
}
.bnr_line.is-show {
	opacity: 1;
	transform: translateX(0%);
}
.bnr_line .line_btn {
	width: 1.5em;
	height: 1.5em;
	background-image: url("../images/top/side_batsu.svg") ;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.3));
	cursor: pointer;
	position: absolute;
	z-index: 5;
	right: .5em;
	top: 0;
	transform: translateY(-40%);
	transition: all 0s;
}
.bnr_line .line_box .line_inbox {
	transition: all 0s;
}
.bnr_line.close .line_btn {
	background-image: url("../images/top/side_bnr_close@2x.png") ;
	width: 130px;
	height: 70px;
	top:auto;
	bottom:-1em;
}
.bnr_line.close .line_box .line_inbox {
	display: none;
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.bnr_line {
	width: 50vw;
	bottom:19vw;
}
.bnr_line.close .line_btn {
	width: 25vw;
}
}