@charset "UTF-8";

body {
	text-align:center;
    font-family: noto-sans-cjk-jp, sans-serif,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #312626;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: .15em;
	line-height: 1.85em;
	padding:0;
	margin:0;
	background:#fff2ec;
	-webkit-text-size-adjust: 100%;
}
div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fildset,p,blockquote{
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font-style:normal;
}

img{
	display: block;
    max-width: 100%;
    height: auto;
    width: auto\9; /* ie8 */
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	vertical-align: top;
	margin: auto;
}
table {
    font-size:inherit;
    font:100%;
	border-collapse: separate;
	border-spacing: 0;
}

address{
	font-style:normal;
}

ul{
	list-style:none;
}
ul img{
	vertical-align: top;
	margin:0;
}

a{
	color:#544337;
	text-decoration:none;
	outline:0;
	transition: color 0.5s, background-color 0.5s;
}
a:hover{
	transition: color 0.2s, background-color 0.2s;
}

.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/*<group=style>*/
.fw_bold{font-weight: 700;}
.fw_normal{font-weight: 400;}	
/*</group>*/

/*<group=text_align>*/
.txt_al_l{text-align:left;}
.txt_al_r{text-align:right;}
.txt_al_c{text-align:center;}
.sp_txt_l{text-align:center;}
/*</group>*/

/*<group=float>*/
.flt_l{float:left;}
.flt_r{float:right;}	
/*</group>*/

.blocklink,
.blocklink_out {
	cursor:pointer;
}


/* スマホで電話をかけるボタン：画像対応 */
.sp_tel_btn {
	position: relative;
}
.sp_tel_btn img {
	position: relative;
	z-index: 0;
}
.sp_tel_btn span,
.sp_tel_btn a {
	display: block;
}
.sp_tel_btn a {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.ank_adjust {
    /*padding-top: 150px;
    margin-top: -150px;*/
}

.fs16{
    font-size: 88%;
    line-height: 1.8em;
}
.fs20{
    font-size:110%;
    line-height: 1.4em;
    letter-spacing: 0.15em;
    font-weight: bold;
}
.fs22{
    font-size:125%;
    letter-spacing: 0.15em;
    font-weight: bold;
}
.fs23{
    font-size:130%;
    letter-spacing: 0.15em;
    font-weight: bold;
}
.fs25{
    font-size:140%;
    letter-spacing: 0.15em;
    font-weight: bold;
}
.fs28{
    font-size:158%;
    line-height: 1.4em;
    letter-spacing: 0.13em;
    font-weight: bold;
}
.fs30{
    font-size:170%;
    line-height: 1.5em;
    letter-spacing: 0.13em;
    font-weight: bold;
}
.fs35{
    font-size: 200%;
    letter-spacing: 0.12em;
    line-height: 1.5em;
    font-weight: bold;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
.fs16,
.fs20,
.fs22,
.fs23,
.fs25,
.fs28,
.fs30,
.fs35{
    letter-spacing: normal;
}
.fs16{
    font-size: 88%;
}
.fs20{
    font-size: 2vw;
}
.fs22{
    font-size:2.1vw;
}
.fs23{
    font-size:2.2vw;
}
.fs25{
    font-size:2.3vw;
}
.fs28{
    font-size: 2.5vw;
}
.fs30{
    font-size: 2.6vw;
}
.fs35{
    font-size: 3vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
body {
	font-size: 16px;
	letter-spacing: .1em;
	line-height: 1.8em;
}
.fs16{
    font-size:85%;
    letter-spacing: 0.1em;
}
.fs20{
    font-size:105%;
    letter-spacing: 0.1em;
}
.fs22{
    font-size:109%;
    letter-spacing: 0.1em;
}
.fs23{
    font-size:110%;
    letter-spacing:0.1em;
}
.fs25{
    font-size:115%;
    letter-spacing:0.1em;
}
.fs28{
    font-size:120%;
    letter-spacing:0.1em;
}
.fs30{
    font-size:125%;
    letter-spacing:0.1em;
}
.fs35{
    font-size: 130%;
    letter-spacing:0.1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* スマホのときはビューポートを基準にサイズ調節する */
/* スマホ時：emまたは%で指定する */
/* スマホ以外でビューポート基準にするときは、その都度「vw」で指定する */
body {
	font-size: 4.1vw;
	letter-spacing: normal;
	line-height: 1.8em;
}
.fs16{
    font-size: 3.5vw;
    letter-spacing: normal;
}
.fs20{
    font-size: 4.2vw;
    letter-spacing:0.05em;
}
.fs22{
    font-size: 4.3vw;
    letter-spacing:0.05em;
}
.fs23{
    font-size: 4.4vw;
    letter-spacing:0.05em;
}
.fs25{
    font-size: 4.5vw;
    letter-spacing:0.05em;
}
.fs28{
    font-size: 4.7vw;
    letter-spacing:0.05em;
}
.fs30{
    font-size: 4.8vw;
    letter-spacing:0.05em;
}
.fs35{
    font-size: 5.1vw;
    letter-spacing:0.05em;
}
    
/*<group=text_align>*/
.sp_txt_l{text-align:left;}	
/*</group>*/
}



/*共通
---------------------------------------------------------*/
.w1500 {
	width: 94%;
	padding: 0 3%;
	max-width: 1500px;
	margin: 0 auto;
	text-align: left;
}
.w1340 {
	width: 94%;
	padding: 0 3%;
	max-width: 1340px;
	margin: 0 auto;
	text-align: left;
}
.w1280 {
	width: 94%;
	padding: 0 3%;
	max-width: 1280px;
	margin: 0 auto;
	text-align: left;
}
.w1200 {
	width: 94%;
	padding: 0 3%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: left;
}
.ft_laca {
	font-family: "laca", sans-serif;
    font-weight: 500;
    font-style: normal;
}
.bg_hover_li li {
	transition: background-color 1.0s;
}
.bg_hover_li li:hover {
	transition: background-color 0.4s;
}
/*anime*/
.fadeup {
	opacity: 0;
	transform: translateY(2.0em);
	transition: all 1.0s;
}
.fadeup.anime_on {
	opacity: 1;
	transform: translateY(0em);
}



/*wrapper
---------------------------------------------------------*/
#wrapper{
	overflow: hidden;
}



/*header
---------------------------------------------------------*/
header {
    position: absolute;
    top:0;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding-bottom: 50px;
    z-index: 10;
    overflow: hidden;
}
header .h_box{
    display: flex;
    justify-content: space-between;
    text-align: left;
}
header .h_box_l{
    width: 56%;
    margin-left: 4%;
}
header .h_box_l h1{
    font-weight: normal;
    font-size: 78%;
    line-height: 1.4em;
    letter-spacing: 0.07em;
    margin-bottom: 1.2em;
}
header .h_box_l .h_logo{
    width: 55%;
    max-width: 425px;
}
header .h_box_l,
header .h_box_r .h_contact{
    padding-top: 35px;
	padding-bottom: 35px;
}
header .h_box_r{
    width: 38%;
    max-width: 488px;
	display: flex;
	justify-content: flex-end;
	padding-right: 2%;
}
header .h_box_r .h_contact{
    width: 56%;
    max-width: 279px;
}
header .h_box_r .h_contact .sp_tel_btn{
    margin-bottom: 15px;
}
header .h_box_r .h_soudan{
    width: 41%;
    max-width: 199px;
    position: relative;
    z-index: 2;
}

/*m_nav*/
header .m_nav{
    text-align: right;
/*    margin-top: -25px;*/
}
header .m_nav .m_nav_inbox{
    display: inline-block;
    max-width: 1170px;
    width: 80%;
    background: #fff;
    border-radius: 100px;
    text-align: left;
    padding: 25px 13% 30px 7%;
    box-sizing: border-box;
    margin-right: -3.5%;
    filter: drop-shadow(0 0 10px rgba(0,0,0,0.3));
}
header .m_nav .m_nav_inbox ul{
    display: flex;
    justify-content: space-between;
}
header .m_nav .m_nav_inbox ul li,
#scl_header .scl_flex .scl_nav_area ul li{
    position: relative;
    width: 17.5%;
    text-align: center;
}
header .m_nav .m_nav_inbox ul li:nth-child(3),
header .m_nav .m_nav_inbox ul li:nth-child(5),
#scl_header .scl_flex .scl_nav_area ul li:nth-child(3),
#scl_header .scl_flex .scl_nav_area ul li:nth-child(5){
    width: 10.5%;
}
header .m_nav .m_nav_inbox ul li::before,
#scl_header .scl_flex .scl_nav_area ul li::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/nav_icon.svg")no-repeat top center;
    background-size: 100% auto;
    width: 15px;
    height: 10px;
    top:calc(100% + 7px);
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    opacity: 0;
    transition: 0.6s;
}
header .m_nav .m_nav_inbox ul li:hover::before,
#scl_header .scl_flex .scl_nav_area ul li:hover::before{
    opacity: 1;
    transition: 0s;
}
header .m_nav .m_nav_inbox ul li img,
#scl_header .scl_flex .scl_nav_area ul li img{
    margin: 0 auto;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
header .h_box_l,
header .h_box_r .h_contact{
    padding-top: 2vw;
}
header .h_box_l{
    margin-left: 3%;
}
/*m_nav*/
header .m_nav{
    margin-top: -1.5vw;
}
}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
header {
    padding-bottom: 10vw;
}
header .h_box_l{
    margin-left: 3%;
}
header .h_box_l h1{
    font-size: 1.5vw;
    margin-bottom: 1.5vw;
    letter-spacing: normal;
}
header .h_box_l,
header .h_box_r .h_contact{
    padding-top: 1.5vw;
}
header .h_box_r .h_contact .sp_tel_btn{
    margin-bottom: 1.5vw;
}

/*m_nav*/
header .m_nav{
    margin-top: -1.8vw;
}
header .m_nav .m_nav_inbox{
    width: 80%;
    padding: 2.2vw 8% 2.8vw 4%;
    margin-right: -5%;
}
header .m_nav .m_nav_inbox ul li::before,
#scl_header .scl_flex .scl_nav_area ul li::before{
    width: 1.5vw;
    top:calc(100% + 1vw);
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
header {
    padding-bottom: 0;
}
header .h_box_l{
    width: 65%;
    margin-left: 1%;
    padding-top: 2vw;
}
header .h_box_l h1{
    font-weight: normal;
    font-size: 1.9vw;
    transform: scale(1);
	transform-origin:0 0;
	display:block;
    letter-spacing: normal;
    margin-bottom: 1.5em;
    padding-left: 1em;
    box-sizing: border-box;
}
header .h_box_l .h_logo{
    width: 92%;
	padding-left: .4em;
}
header .h_box_r_sp{
    width: 40%;
    padding-top: 3.5vw;
}
header .h_box_r_sp .h_contact{  
    width:66%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 2vw;
}
header .h_box_r_sp .h_contact .sp_tel_btn{
    width: 38%;
    border-right: 1px solid #bbb4af;
}    
header .h_box_r_sp .h_contact .h_web{
    width: 62%;
}  
header .h_box_r_sp .h_soudan{
    width: 95%;
}

/*m_nav*/
header .m_nav{
    display: none;
}
}




/*スクロールメニュー
---------------------------------------------------------*/
#scl_header {
	display: none;
	position: fixed;
	z-index: 100;
	left: 0;
	top: 0;
	width: 100%;
	background: #fff;
	transform: translateY(-100%);
}
#scl_header.is-show {
	display: block;
	transform: translateY(0);
	opacity: 1;
    animation: sclAnimation 1.0s;
}
#scl_header .scl_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;	
}
#scl_header .scl_flex .scl_nav_area{
    width: 63.5%;
    padding: 0 4% 0 2%;
    box-sizing: border-box;
}
#scl_header .scl_flex .scl_nav_area ul{
    display: flex;
    justify-content: space-between;
}
#scl_header .scl_flex .scl_contact{
    width: 28%;
    max-width: 415px;
    display: flex;
    justify-content: space-between;
}
#scl_header .scl_flex .scl_contact li:first-child{
    width: 67%;
}
#scl_header .scl_flex .scl_contact li:last-child{
    width: 33%;
}
#scl_header .scl_flex .scl_contact li img{
    width: 100%;
    height: 100%;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#scl_header {
	display: none !important;
}
}

/* スクロールメニューアニメーション */
@keyframes sclAnimation {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0);
	}
}






/*共通、アニメ
---------------------------------------------------------*/
#pagebody {
	max-height: 100%;
}




/*メインイメージ
---------------------------------------------------------*/
.m_img_area {
	position: relative;
	background: url("../images/m_img@2x.jpg") no-repeat center top;
	background-size: 100% auto;
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}
.m_img_area .inbox::before {
	content: "";
	display: block;
	padding-top: 100%;/*高さ*/
}
/*
.m_img_area .m_copy{
    position: absolute;
    top: 44%;
	transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    width: 50%;
    max-width: 751px;
}*/

.m_img_area .deco1{
    position: absolute;
    top: 22%;
	transform: translateY(-50%);
    left: -3.3%;
    width: 29%;
    max-width: 423px;
}
.m_img_area .deco2{
    position: absolute;
    top: 64%;
	transform: translateY(-50%);
    right: 8.5%;
    width: 22.5%;
    max-width: 336px;
}
.m_img_area .deco3 li{
    position: absolute;
}
.m_img_area .deco3 li:nth-child(1){
    bottom: 35px;
    right: -4.5%;
    width: 20%;
}
.m_img_area .deco3 li:nth-child(2){
    width: 31%;
    bottom: -150px;
    right: 12%;
    z-index: 10;
}

/*anime*/
.m_img_area .deco1 img{
	opacity: 0;
	transform: scale(0.6);
	transition: all 0.4s;
}
.m_img_area.anime_on .deco1 img{
	opacity: 1;
	transform: scale(1);
}
.m_img_area .deco2 img{
	opacity: 0;
	transform: scale(0.6);
	transition: all 0.4s 0.3s;
}
.m_img_area.anime_on .deco2 img{
	opacity: 1;
	transform: scale(1);
}

.m_img_area .deco3 li img,
.m_img_area .deco3 li div{
    opacity: 0;/*事前に透過0にして消しておく*/
}
.m_img_area.anime_on .deco3 li img{
    animation-name:slideTextX;
    animation-fill-mode:forwards;
    opacity: 0;
}
.m_img_area.anime_on .deco3 li:nth-child(1) img{
    animation-duration: 1.3s;
}
.m_img_area.anime_on .deco3 li:nth-child(2) img{
    animation-duration: 1.5s;
}
.m_img_area.anime_on .deco3 li:nth-child(1) div{
    animation: pyonpyon 1.3s forwards;
}
.m_img_area.anime_on .deco3 li:nth-child(2) div{
    animation: pyonpyon2 1.5s forwards;
}
@keyframes slideTextX{
  from {
  transform: translateX(50%); /*要素を左の枠外に移動*/
  opacity: 0;
  }
  to {
  transform: translateX(0);/*要素を元の位置に移動*/
  opacity: 1;
  }
}
.m_img_area.anime_on .deco3 li:nth-child(2) img,
.m_img_area.anime_on .deco3 li:nth-child(2) div{
    animation-delay: 0.2s;
}
@keyframes pyonpyon {
  0% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(0, -1.2vw);
  }
  40% {
    transform: translate(0, 0);
  }
  60% {
      opacity: 1;
    transform: translate(0, -1.2vw);
  }
  80% {
    transform: translate(0, 0);
  }
  100% {
      opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes pyonpyon2 {
  0% {
    transform: translate(0, 0);
  }
  15% {
    transform: translate(0, -1.2vw);
  }
  30% {
    transform: translate(0, 0);
  }
  45% {
      opacity: 1;
    transform: translate(0, -1.2vw);
  }
  60% {
    transform: translate(0, 0);
  }
  75% {
    transform: translate(0, -1.2vw);
  }
  100% {
      opacity: 1;
    transform: translate(0, 0);
  }
}

/* 1400px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1400px) {
.m_img_area::before {
	padding-top:140vw;	/*高さ*/
}
.m_img_area .deco1{
    top: 23%;
    width: 24vw;
    left: -2%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area .inbox::before {
	padding-top: 93vw;/*高さ*/
}
.m_img_area .deco1{
    top: 25%;
    width: 25%;
    left: -2%;
}
.m_img_area .deco3 li:nth-child(1){
    bottom: 1vw;
}
.m_img_area .deco3 li:nth-child(2){
    bottom: -15vw;
}
}  

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area {
	background-image: url("../images/m_img_sp@2x.jpg");
    background-position: center bottom;
}
.m_img_area .inbox::before {
	padding-top: 130vw;/*高さ*/
}
    /*
.m_img_area .m_copy{
    top: 54%;
    width: 60%;
}    */
    
.m_img_area .deco1{
    top: 33%;
    width: 30%;
}
.m_img_area .deco2{
    top: 75%;
    right: 4%;
    width: 24%;
}
.m_img_area .deco3 li:nth-child(1){
    bottom: 0;
    right: -5%;
}
.m_img_area .deco3 li:nth-child(2){
    bottom: -13vw;
    right: 17%;
    width: 33%;
}
}







/*com_index1
---------------------------------------------------------*/
.com_index1{
    text-align: center;
    margin-bottom: 60px;
}
.com_index1 .ft_laca{
    color: #fadffe;
    font-size: 680%;
    line-height: 1em;
    letter-spacing: 0.02em;
}
.com_index1 h3{
    font-size:190%;
    line-height: 1.4em;
    letter-spacing: 0.18em;
    margin-top: .4em;
}

/*anime*/
.com_index1 .ft_laca span{
    opacity: 0;
}
.com_index1.anime_on .ft_laca span{
    display: inline-block;
    animation: poyoyon .5s cubic-bezier(0, 0, 0, 0) 1 forwards;
} 
.com_index1.type4.anime_on .ft_laca span{
    animation: poyoyon .48s cubic-bezier(0, 0, 0, 0) 1 forwards;
} 
.com_index1.type6.anime_on .ft_laca span{
    animation: poyoyon .52s cubic-bezier(0, 0, 0, 0) 1 forwards;
} 
.com_index1.type8.anime_on .ft_laca span{
    animation: poyoyon .56s cubic-bezier(0, 0, 0, 0) 1 forwards;
} 

@keyframes poyoyon {
  0% {
    transform: translateY(-40px);
    opacity: 0;
  }
  50% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
.com_index1.anime_on .ft_laca span:nth-child(2){
    animation-delay: 0.1s;}
.com_index1.anime_on .ft_laca span:nth-child(3){
    animation-delay: 0.2s;}
.com_index1.anime_on .ft_laca span:nth-child(4){
    animation-delay: 0.3s;}
.com_index1.anime_on .ft_laca span:nth-child(5){
    animation-delay: 0.4s;}
.com_index1.anime_on .ft_laca span:nth-child(6){
    animation-delay: 0.5s;}
.com_index1.anime_on .ft_laca span:nth-child(7){
    animation-delay: 0.6s;}
.com_index1.anime_on .ft_laca span:nth-child(8){
    animation-delay: 0.7s;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_index1{
    margin-bottom: 6%;
}
.com_index1 .ft_laca{
    font-size: 600%;
}
.com_index1 h3{
    font-size:130%;
    letter-spacing: 0.15em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_index1{
    margin-bottom: 5%;
}
.com_index1 .ft_laca{
    font-size:17vw;
}
.com_index1 h3{
    font-size: 4.5vw;
    letter-spacing: 0.1em;
}
}






/* このようなお悩みはありませんか？
---------------------------------------------------------*/
#nayami .w1280{
    position: relative;
    padding-top: 60px;
}
#nayami .tit{
    position: absolute;
    top: -270px;
    left: 3.5%;
    width: 46%;
    max-width: 626px;
    margin-left: 5%;
    z-index: 2;
}
#nayami .list_bg{
    position: relative;
    padding: 180px 0 60px;
    background: #fff;
    border-radius: 80px 80px 0 0;
    filter: drop-shadow(0 0 10px rgba(0,0,0,0.1));
}
#nayami .list_bg::before{
    position: absolute;
    display: block;
    content: "";
    background: #fff;
    background-size: 100% auto;
    width: 100%;
    height: 100px;
    top:100%;
    left: 0;
}
#nayami ul{
    width: 94%;
    max-width: 1048px;
    margin: 0 auto -20px;
    display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
#nayami ul li{
    position: relative;
    width: 44%;
    padding-left: 2.7em;
    padding-bottom: 16px;
    margin-bottom: 20px;
    box-sizing: border-box;
    background: url("../images/nayami_bdr.svg") repeat-x left bottom;
    background-size: 15px 4px;
}
#nayami ul li:nth-child(even){
    width: 51.5%;
}
#nayami ul li span{
    color: #f8749c;
}
#nayami ul li::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/nayami_img2.svg")no-repeat top left;
    background-size: 100% auto;
    width: 1em;
    height: 1em;
    line-height: 1em;
    top: .25em;
    left: 1em;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1500px) {
#nayami .tit{
    width: 43vw;
    top: -18vw;
}
#nayami .list_bg{
    padding-top: 12vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#nayami .w1280{
    padding-top: 12vw;
}
#nayami .tit{
    top: -13vw;
}
#nayami .list_bg{
    padding: 11vw 3% 5%;
    border-radius: 40px 40px 0 0;
}
#nayami ul{
    margin: 0 auto -1.1em;
    letter-spacing: normal;
}
#nayami ul li{
    width: 45%;
    padding-left: 1.5em;
    padding-bottom: .9em;
    margin-bottom: 1.1em;
}
#nayami ul li{
    background-size: 10px 3px;
}
#nayami ul li::before{
    top: .33em;
    left: 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#nayami .w1280{
    padding-top: 30%;
}
#nayami .tit{
    top: -0%;
    left: -2%;
    width: 70%;
    margin-left: 5%;
}
#nayami .list_bg{
    padding: 27% 3.5% 8%;
    border-radius: 30px 30px 0 0;
    filter: drop-shadow(0 0 5px rgba(0,0,0,0.1));
}
#nayami ul{
    margin: 0 auto;
    display: block;
}
#nayami ul li{
    display: block;
    width: 100%;
    padding-left: 1.5em;
    padding-bottom: .4em;
    margin-bottom: .8em;
    background-size: 11px 2px;
    letter-spacing: normal;
}
#nayami ul li:nth-child(even){
    width: 100%;
}
#nayami ul li::before{
    top: .4em;
    left: 0;
}
}







/* 歯並びを悪くする原因
---------------------------------------------------------*/
#genin .bg1{
    position: relative;
    z-index: 5;
    padding-bottom: 80px;
}
#genin .bg1::before{
    position: absolute;
    display: block;
    content: "";
    background: #2b5498;
    background-size: 100% auto;
    width: 100%;
    height: calc(100% - 60px);
    bottom: 0;
    left: 0;
    z-index: -1;
}
#genin .tit1{
    width: 65%;
    margin: 0 auto;
}
#genin .tit2_bg{
    position: relative;
    padding: 30px 0 50px;
    margin: 0 auto 40px;
}
#genin .tit2_bg::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/gen_img5@2x.png")no-repeat top center;
    background-size: 100% auto;
    width: 100%;
    max-width: 1192px;
    height: 452px;
    top:50%;
	transform: translateY(-50%); 
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -1;
}
#genin .tit2{
    position: relative;
    width: 55%;
    max-width: 592px;
    margin: 0 auto;
}
#genin .tit2 .deco li{
    position: absolute;
    top: 52%;
	transform: translateY(-50%);
    width: 36%;
    max-width: 210px;
}
#genin .tit2 .deco li:nth-child(1){
    left: -22%;
}
#genin .tit2 .deco li:nth-child(2){
    right: -22%;
}
#genin .list li{
    float: left;
    margin-right: 1.25%;
    width: 19%;
    background:url("../images/gen_bg1@2x.jpg")no-repeat top center #71c8ed;
    background-size: 100% auto;
    color: #fff;
    letter-spacing: 0.1em;
    text-align: center;
    padding: 5em 0 1em;
    box-sizing: border-box;
    border-radius: 5px;
}
#genin .list li:nth-child(2){background-image:url("../images/gen_bg2@2x.jpg");}
#genin .list li:nth-child(3){background-image:url("../images/gen_bg3@2x.jpg");}
#genin .list li:nth-child(4){background-image:url("../images/gen_bg4@2x.jpg");}
#genin .list li:nth-child(5){background-image:url("../images/gen_bg5@2x.jpg");}

#genin .list li:nth-child(even){
    margin-top: 50px;
    background-color: #c79dd8;
}
#genin .list li:nth-child(2){
    letter-spacing: 0.01em;
}
#genin .list li:last-child{
    margin-right: 0;
}
#genin .list li p{
    position: relative;
    height: 4em;
}
#genin .list li p span{
    position: absolute;
    top: 48%;
	transform: translateY(-50%);
    left: 0;
    right: 0;    
}
#genin .txt1{
    text-align: center;
    margin-top: 2.5em;
    color: #fff;
}

/*anime*/
#genin .tit1 img{
	opacity: 0;
	transform: rotate(6deg);
	transition: all 0.6s 0.3s;
}
#genin .tit1.anime_on img{
	opacity: 1;
	transform: rotate(0deg);
}

#genin .tit2.anime_on .deco li img{
    animation: pyonpyon3 3s 0.5s forwards ease-in-out;
    opacity: 0;
}
@keyframes pyonpyon3 {
  0% {
    transform: translate(0, 0);
  }
  5% {
    transform: translate(0, 0);
  }
  10% {
    transform: translate(0, 0);
  }
  20% {
    opacity: 1;
    transform: translate(0, -15px);
  }
  25% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(0, -15px);
  }
  50% {
    transform: translate(0, 0);
  }
  100% {
    opacity: 1;  
    transform: translate(0, 0);
  }
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
#genin .list li,
#genin .list li:nth-child(2){
    letter-spacing: normal;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#genin .bg1{
    padding-bottom: 8%;
}
#genin .bg1::before{
    height: calc(100% - 7vw);
}
#genin .tit2_bg{
    padding: 0;
    margin: 5% auto 8%;
}
#genin .tit2_bg::before{
    top: 90%;
}
#genin .tit2{
    width: 50%;
}
#genin .list li{
    letter-spacing: normal;
    padding: 9vw 1% 2vw;
}
#genin .list li:nth-child(even){
    margin-top: 3vw;
}
#genin .list li:nth-child(2){
    letter-spacing: normal;
}
#genin .txt1{
    margin-top: 1.5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
#genin .bg1{
    padding-bottom: 10%;
}
#genin .bg1::before{
    height: calc(100% - 5vw);
}
#genin .tit1{
    width: 95%;
}
#genin .tit2_bg{
    padding: 5% 0 5%;
    margin: 0 auto 8%;
}
#genin .tit2_bg::before{
    height: 100%;
    top:70%;
}
#genin .tit2{
    width: 65%;
}
#genin .list li{
    margin-right: 2%;
    width: 32%;
    letter-spacing: normal;
    padding: 5em 1% 1em;
    margin-bottom: 2%;
    font-size: 3.8vw;
    line-height: 1.6em;
}
#genin .list li:nth-child(even){
    margin-top: 0;
}
#genin .list li:nth-child(2){
    letter-spacing: normal;
}
#genin .list li:nth-child(3){
    margin-right: 0;
}
#genin .list li:nth-child(4){
    margin-left: 17%;
}    
#genin .list li p{
    height: 4.5em;
}
#genin .txt1{
    margin-top: 1em;
}
}







/* マイオブレース矯正
---------------------------------------------------------*/
#mrc .bg1{
    position: relative;
    background: #faac8f;
    padding-bottom: 110px;
}
#mrc .bg1::before{
    position: absolute;
    display: block;
    content: "";
    background: #2b5498;
    background-size: 100% auto;
    width: 100%;
    height: 195px;
    top:0;
    left: 0;
}
#mrc .tit1_bg{
    max-width: 1000px;
    margin: 0 auto 70px;
}
.com_shadow{
    position: relative;
}
.com_shadow::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/mrc_shadow@2x.png")no-repeat bottom center;
    background-size: 100% auto;
    width: 100%;
    height: 202px;
    bottom: -100px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
#mrc .tit1{
    position: relative;
    text-align: center;
    font-size: 195%;
    letter-spacing: 0.1em;
    font-weight: bold;
    line-height: 1.7em;
}
#mrc .tit1 h3{
    padding: .7em 0 1.6em;
}
#mrc .tit1 h3 span{
    color: #f77a4b;
    font-size:160%;
    letter-spacing: 0.03em;
    background:linear-gradient(transparent 70%, #ffff0e 70%);
}
#mrc .tit1::before{
    position: absolute;
    display: block;
    content: "";
    background: #fff;
    background-size: 100% auto;
    width: 100%;
    height: calc(100% - 35px);
    border-radius: 120px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
#mrc .tit1::after{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/mrc_img2.svg")no-repeat top center;
    background-size: 100 auto;
    width: 42px;
    height: 25px;
    top:100%;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}
#mrc .tit1_inbox{
    position: relative;
    z-index: 2;
} 
#mrc .img1{
    position: relative;
    max-width: 1126px;
    margin: 0 auto 50px;
}
#mrc .img1 .img1_2 li{
    position: absolute;
}
#mrc .img1 .img1_2 li:nth-child(1){/*左上*/
    top: 20%;
	transform: translateY(-50%);
    left: 13%;
    width: 25.5%;
}
#mrc .img1 .img1_2 li:nth-child(2){/*左下*/
    top: 77%;
	transform: translateY(-50%);
    left: 2.5%;
    width: 29.5%;
}
#mrc .img1 .img1_2 li:nth-child(3){/*右下*/
    top: 35%;
	transform: translateY(-50%);
    right: 3%;
    width: 24.5%;
}
#mrc .img1 .img1_3 li{
    position: absolute;    
    width: 13.5%;
    max-width: 149px;
}
#mrc .img1 .img1_3 li:nth-child(1){
    top: 50%;
	transform: translateY(-50%);
    left: -1%;
}
#mrc .img1 .img1_3 li:nth-child(2){
    top: 75%;
	transform: translateY(-50%);
    right: 11%;
}

#mrc .tit2{
    margin: 0 auto 65px;
    width: 80%;
}
#mrc .txt1{
    color: #fff;
    text-align: center;
    margin-bottom: 80px;
}
#mrc .txt1 span{
    position: relative;
}
#mrc .txt1 span::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/mrc_arrow.svg") no-repeat top center;
    background-size: 100% auto;
    width: .33em;
    height: .33em;
    line-height: 1em;
    top:-0.3em;
    left: 0.3em;
}

/*instagram*/
#mrc #instagram .insta_tit{
    width: 80%;
    margin: 0 auto 15px;
}
#mrc #instagram .slide_box{
    position: relative;
}
#mrc #instagram .inst_box .sbi_item{
    position: relative!important;
    margin-right: 20px!important;
    transition: 0.4s!important;
    width: 250px!important;
}
#mrc #instagram .inst_box .sbi_item:hover{
    transition: 0.2s!important;
    opacity: 0.7!important;
}
#mrc #instagram .inst_box .sbi_item .sbi_photo_wrap{
    padding: 20px 20px!important;
    background: #fde6dd!important;
    border-radius: 15px!important;
}
#mrc #instagram .inst_box .sbi_item:nth-child(even){
    padding-top: 40px!important;
}
#mrc #instagram .slide_box .deco{
    position: absolute;
    top:0;
    left: 0;
    right: 0;
    width: 94%;
    max-width: 1200px;
    margin:0 auto;
}
#mrc #instagram .slide_box .deco li{
    position: absolute;
    top:0;
    width: 14.5%;
    max-width: 168px;
}
#mrc #instagram .slide_box .deco li:nth-child(1){
    left: 0;
}
#mrc #instagram .slide_box .deco li:nth-child(2){
    left: 0;
    right: 0;
    margin:0 auto;
    margin-top: 205px;
}
#mrc #instagram .slide_box .deco li:nth-child(3){
    right: 0;
}
#mrc #instagram .slide_box .btn a{
    position: absolute;
    bottom: -0.8em;
    right: 0;
    background:rgba(247,107,55,0.85);
    border-radius: 100px 0 0 100px;
    color: #fff;
    font-size:140%;
    line-height: 1em;
    letter-spacing: 0.15em;
    padding: 1.3em 2.3em;
    box-sizing: border-box;
    transition: 0.4s;
}
#mrc #instagram .slide_box .btn a:hover{
    background:rgba(247,107,55,1);
    transition: 0.2s;
}
#mrc #instagram .slide_box .btn a span{
    position: relative;
    padding-left: 2em;
    box-sizing: border-box;
}
#mrc #instagram .slide_box .btn a span::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/insta_img5.svg")no-repeat top left;
    background-size: 100% auto;
    width: 1.25em;
    height: 1.25em;
    line-height: 1em;
    left: 0;
    top:40%;
	transform: translateY(-50%); 
}

/*anime*/
#mrc .tit1_bg .tit1_inbox div,
#mrc .toha .tit2 img{
	opacity: 0;
	transform: scale(0.6);
	transition: all 0.4s 0.3s;
}
#mrc .tit1_bg.anime_on .tit1_inbox div,
#mrc .toha.anime_on .tit2 img{
	opacity: 1;
	transform: scale(1);
}

#mrc .img1 .img1_2 li div{
	opacity: 0;
	transform: scale(0.6);
	transition: all 0.6s 0.3s;
}
#mrc .img1.anime_on .img1_2 li div{
	opacity: 1;
    transform: scale(1);
}
#mrc .img1.anime_on .img1_2 li:nth-child(2) div{
    transition-delay: 0.6s;
}
#mrc .img1.anime_on .img1_2 li:nth-child(3) div{
    transition-delay: 0.9s;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#mrc .bg1{
    padding-bottom:13%;
}
#mrc .bg1::before{
    height: 18vw;
}
#mrc .tit1_bg{
    width: 90%;
    margin: 0 auto 8%;
}
.com_shadow::before{
    bottom: -8vw;
}
#mrc .tit1{
    font-size: 150%;
    line-height: 1.9em;
}
#mrc .tit1 .tit1_inbox > div{
    width: 30vw;
    margin: 0 auto;
}
#mrc .tit1 h3{
    padding: .5em 0 1.1em;
}
#mrc .tit1::before{
    height: calc(100% - 3.5vw);
}  
#mrc .img1{
    margin: 0 auto 8%;
}
#mrc .tit2{
    margin: 0 auto 4%;
}
#mrc .txt1{
    margin-bottom: 8%;
}

/*instagram*/
#mrc #instagram .insta_tit{
    width: 60%;
    margin: 0 auto 1%;
}
#mrc #instagram .inst_box .sbi_item,
#mrc #instagram .inst_box .sbi_item .sbi_photo_wrap{
    width:200px!important; 
}   
#mrc #instagram .inst_box .sbi_item{
    margin-right: 15px!important;
    height: calc(200px + 5vw)!important;  
}
#mrc #instagram .inst_box .sbi_item .sbi_photo_wrap{
    padding: 13px 13px!important;
    height: 200px!important;  
    box-sizing: border-box!important;
}
#mrc #instagram .inst_box .sbi_item:nth-child(even){
    padding-top: 5vw!important;
}
#mrc #instagram .slide_box .deco li{
    width: 20%;
}
#mrc #instagram .slide_box .deco li:nth-child(2){
    margin-top: 20vw;
}
#mrc #instagram .slide_box .btn a{
    font-size:120%;
    padding: 1em 1.5em 1em 2em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#mrc .bg1{
    padding-bottom: 25%;
}
#mrc .bg1::before{
    height: 30vw;
}
#mrc .tit1_bg{
    margin: 0 auto 8%;
}
.com_shadow::before{
    bottom: -5vw;
}
#mrc .tit1{
    font-size:4.2vw;
    letter-spacing: 0.05em;
    line-height: 1.9em;
}
#mrc .tit1 .tit1_inbox > div{
    width: 60vw;
    margin: 0 auto;
}
#mrc .tit1 h3{
    padding: .7em 0 .9em;
}
#mrc .tit1::before{
    height: calc(100% - 7vw);
    border-radius: 30px;
}
#mrc .tit1::after{
    width: 5vw;
}
    
#mrc .img1{
    margin: 0 auto 10%;
}
#mrc .tit2{
    margin: 0 auto 8%;
    width: 90%;
}
#mrc .txt1{
    text-align: left;
    margin-bottom: 13%;
}

/*instagram*/
#mrc #instagram .insta_tit{
    width: 90%;
    margin: 0 auto 2%;
}
#mrc #instagram .inst_box .sbi_item,
#mrc #instagram .inst_box .sbi_item .sbi_photo_wrap{
    width:170px!important; 
}
#mrc #instagram .inst_box .sbi_item{
    margin-right: 15px!important;
    transition: 0.4s!important;
    height: calc(170px + 5vw)!important;  
}
#mrc #instagram .inst_box .sbi_item .sbi_photo_wrap{
    padding: 10px 10px!important;
    border-radius: 10px!important;
    box-sizing: border-box!important;
    height: 170px!important;  
}
#mrc #instagram .inst_box .sbi_item:nth-child(even){
    padding-top: 5vw!important;
}
    
#mrc #instagram .slide_box .deco li{
    width: 30%;
}
#mrc #instagram .slide_box .deco li:nth-child(2){
    margin-top: 130px;
}
#mrc #instagram .slide_box .btn a{
    position: absolute;
    bottom: -2.5em;
    font-size: 4vw;
    padding: 1em 1em 1.1em 1.5em;
}
}







/* マイオブレース矯正のメリット
---------------------------------------------------------*/
#merit .bg1{
    position: relative;
}
#merit .bg1::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/merit_img5.svg")no-repeat bottom center;
    background-size: 100% auto;
    width: 100%;
    max-width: 1500px;
    height: 79px;
    bottom: calc(100% - 1px);
    left: 0;
    right: 0;
    margin: 0 auto;
}
#merit .bg2{
    background: #fab9a0;
    padding-top: 80px;
}
#merit .list1 li{
    position: relative;
    padding: 85px 0 50px;
}
#merit .list1 li:first-child{
    padding-top: 0;
}
#merit .list1 li:last-child{
    padding-bottom: 0;
}
#merit .list1 li:nth-child(even)::after{
    position: absolute;
    display: block;
    content: "";
    background: #faac8f;
    background-size: 100% auto;
    width: 200%;
    height: 100%;
    left: -50%;
    top:0;
}
#merit .list1 li > div{
    position: relative;
    z-index: 2;
    max-width: 1238px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
#merit .list1 li:nth-child(even) > div{
    flex-flow: row-reverse;
}
#merit .list1 li:nth-child(2)::before,
#merit .list1 li:nth-child(4)::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/merit_img6.svg") no-repeat bottom right;
    background-size: 100% auto;
    width: 50%;
    height: 79px;
    max-width: 759px;
    bottom: 100%;
    right: -3%;
}
#merit .list1 li:nth-child(3)::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/merit_img7.svg") no-repeat bottom left;
    background-size: 100% auto;
    width: 50%;
    height: 79px;
    max-width: 759px;
    bottom: 100%;
    left: -3%;
}
#merit .list1 li .img{
    width: 42%;
    max-width: 515px;
}
#merit .list1 li .img img{
}
#merit .list1 li .txt{
    width: 53.5%;
}
#merit .list1 li .txt dt{
    font-weight: bold;
}
#merit .list1 li .txt dt .fs25{
    color: #ffff0e;
    margin-bottom: .2em;
}
#merit .list1 li .txt dt .fs35{
    color: #ffffff;
    line-height: 1.3em;
    margin-bottom: .6em;
}

/*osusume 森の飾りの前後関係のために、flowに入れています*/
#flow .bg3{
    background: #faac8f;
    padding-top: 45px;
}
#flow .osusume{
    position: relative;
    padding-bottom: 110px;
}
#flow .osusume::before{
    position: absolute;
    display: block;
    content: "";
    background: rgb(251,197,177); /* Old browsers */
    background: -moz-linear-gradient(top,  rgba(251,197,177,1) 0%, rgba(250,172,143,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(251,197,177,1) 0%,rgba(250,172,143,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(251,197,177,1) 0%,rgba(250,172,143,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fbc5b1', endColorstr='#faac8f',GradientType=0 ); /* IE6-9 */
    background-size: 100% auto;
    width: 100%;
    height: calc(100% - 50px);
    bottom:0;
    left: 0;
    border-radius: 150px 150px 0 0;
}
#flow .osusume .osusume_inbox{
    position: relative;
    max-width: 1130px;
    margin: 0 auto;
    z-index: 5;
}
#flow .osusume .tit{
    width:60%;
    max-width: 592px;
    text-align: left;
    margin-bottom: 40px;
}
#flow .osusume ul{
    width: 92%;
    max-width: 1014px;
    margin: 0 auto;
}
#flow .osusume ul li{
    position: relative;
    padding: .9em 1em .9em 2.2em;
    box-sizing: border-box;
    background: #fff;
    margin-bottom: 10px;
    border-radius: 0 10px 10px 0;
}
#flow .osusume ul li::before{
    position: absolute;
    display: block;
    content: "";
    background: #f77a4b;
    background-size: 100% auto;
    width: 16px;
    height: 100%;
    top:0;
    left: 0;
}
#flow .osusume ul li:last-child{
    margin-bottom: 0;
}
#flow .osusume ul li span{
    color: #f77a4b;
}

/*anime*/
#merit .list1 li .img{
    opacity: 0;
	transform: rotate(-6deg);
	transition: all 0.6s 0.3s;
}
#merit .list1 li:nth-child(odd) .img{
	transform: rotate(6deg);
}
#merit .list1 li.anime_on .img{
    opacity: 1;
    transform: rotate(0deg);
}

#flow .osusume .tit img{
	opacity: 0;
	transform: scale(0.6);
	transition: all 0.4s;
}
#flow .osusume.anime_on .tit img{
	opacity: 1;
	transform: scale(1);
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
#flow .osusume .tit{
    width: 45vw;
    margin-bottom: 2vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#merit .bg2{
    padding-top: 15%;
}
#merit .list1 li{
    padding: 8% 0 7%;
}

#flow .bg3{
    padding-top: 7%;
}
#flow .osusume{
    padding-bottom: 7%;
}
#flow .osusume::before{
    height: calc(100% - 5vw);
    border-radius: 80px 80px 0 0;
}
#flow .osusume .tit{
    width:40%;
    margin-left: 5%;
    margin-bottom: 1.5%;
}
#flow .osusume ul li{
    padding: .8em .5em .8em 1.8em;
    margin-bottom: 8px;
}
#flow .osusume ul li::before{
    width: 12px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#merit .bg2{
    padding-top: 15%;
}
#merit .list1 li{
    padding: 5% 0 12%;
}
#merit .list1 li > div{
    display: block;
}
#merit .list1 li:nth-child(2)::before,
#merit .list1 li:nth-child(4)::before,
#merit .list1 li:nth-child(3)::before{
    width: 70%;
}
#merit .list1 li .img{
    width:80%;
    margin: 0 auto 4%;
    text-align: center;
}
#merit .list1 li .txt{
    width: 100%;
}
#merit .list1 li .txt dt{
    text-align: center;
}
#merit .list1 li .txt dt .fs25{
    margin-bottom: .1em;
}
#merit .list1 li .txt dt .fs35{
    line-height: 1.5em;
}

/*osusume 森の飾りの前後関係のために、flowに入れています*/
#flow .bg3{
    padding-top: 10%;
}
#flow .osusume{
    padding-bottom: 15%;
}
#flow .osusume::before{
    height: calc(100% - 5vw);
    border-radius: 30px 30px 0 0;
}
#flow .osusume .tit{
    margin-left: 2%;
    margin-bottom: 3%;
}
#flow .osusume ul li{
    padding: .8em .5em .8em 1.3em;
}
#flow .osusume ul li::before{
    width: 10px;
}
}







/* 小児矯正治療の流れ
---------------------------------------------------------*/
#flow .bg1{
    position: relative;
    background: #faac8f;
}
#flow .bg1::before{
    position: absolute;
    display: block;
    content: "";
    background: #a1dca4;
    background-size: 100%;
    width: 100%;
    height: calc(100% - 50px);
    bottom: 0;
    left: 0;
}
#flow .bg2{
    position: relative;
}
#flow .bg2::before,
#flow .bg2::after{
    position: absolute;
    display: block;
    content: "";
    background-image: url("../images/flow_mori_l@2x.png");
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 100% auto;
    width: 30%;
    max-width: 525px;
    height: 474px;
    top: 13%;
	transform: translateY(-50%);
    z-index: 2;
}
#flow .bg2::before{
    left: 0;
}
#flow .bg2::after{
    background-image: url("../images/flow_mori_r@2x.png");
    background-position: top right;
    right: 0;
}

#flow .com_index1 .ft_laca{
    color: #ffff0e;
}
#flow .w1500{
    position: relative;
    z-index: 3;
}
#flow .list1{
    max-width: 1280px;
    margin: 0 auto;
}
#flow .list1 > li:first-child{
    position: relative;
}
#flow .list1 > li:first-child::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/flow_img1@2x.png")no-repeat bottom left;
    background-size: 100% auto;
    width: 25%;
    max-width: 258px;
    height: 108px;
    left: 6.5%;
    bottom: 100%;
}
#flow .list1 > li:nth-child(odd){
    position: relative;
    background: #fff;
    border-radius: 30px;
}
#flow .list1 > li:nth-child(odd) .inbox1{
    padding: 65px 6%;
    box-sizing: border-box;
}
#flow .list1 > li:nth-child(9) .inbox1{
    padding-bottom: 85px;
}
#flow .list1 > li:nth-child(odd) .inbox2{
    position: relative;
    padding: 60px 6% 65px;
    box-sizing: border-box;
    background: #ecf8ed;
    border-radius: 0 0 30px 30px;
}
#flow .list1 > li:nth-child(odd) .inbox2::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/flow_arrow2.svg")no-repeat bottom center;
    background-size: 100% auto;
    width: 55px;
    height: 32px;
    bottom: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}
#flow .list1 > li:nth-child(even){
    margin: 25px auto;
    text-align: center;
}
#flow .list1 > li:nth-child(even) img{
    margin: 0 auto;
}
#flow .list1 .flexbox{
    display: flex;
    justify-content: space-between;
}
#flow .list1 .flexbox .img{
    position: relative;
    width: 37.5%;
    max-width: 420px;
}
#flow .list1 .flexbox .img::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/flow_step1.svg") no-repeat top left;
    background-size: 100% auto;
    width: 23%;
    max-width: 96px;
    height: 92px;
    top: -1em;
    left:-5%;
}
#flow .list1 > li:nth-child(3) .flexbox .img::before{
    background-image: url("../images/flow_step2.svg");}
#flow .list1 > li:nth-child(5) .flexbox .img::before{
    background-image: url("../images/flow_step3.svg");}
#flow .list1 > li:nth-child(7) .flexbox .img::before{
    background-image: url("../images/flow_step4.svg");}
#flow .list1 > li:nth-child(9) .flexbox .img::before{
    background-image: url("../images/flow_step5.svg");}

/*#flow .list1 .flexbox .img.sub_img5::after{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/flow_step5_img_2@2x.png")no-repeat top left;
    background-size: 100% auto;
    width: 53%;
    max-width: 221px;
    height:161px;
    top: 48%;
	transform: translateY(-50%);
    left: -8%;
}*/


#flow .list1 .flexbox .txt{
    width: 56.5%;
}
#flow .list1 .flexbox .txt dt{
    color: #63c567;
    margin-bottom: .5em;
}
#flow .list1 .flexbox .link_list{
    display: flex;
    justify-content: space-between;
	max-width: 520px;
    margin-top: 2rem;
}
#flow .list1 .flexbox .link_list li{
    width: 45%;
}
#flow .list1 .flexbox .link_list li:first-child{
    width: 50%;
}

#flow .list1 .step5_box1{
    margin-top: 50px;
}
#flow .list1 .step5_box1 .fs28{
    color: #b58d6a;
    padding: 1em 0;
    border-top:1px solid #b58d6a;
    border-bottom:1px solid #b58d6a;
    text-align: center;
    margin-bottom: 50px;
}
#flow .list1 .step5_box1 ul{
    display: flex;
    justify-content: space-between;
}
#flow .list1 .step5_box1 ul li{
    width: 48%;
}
#flow .list1 .step5_box1 ul li dt{
    position: relative;
    text-align: center;
    margin-bottom: 1.1em;
    padding: 0 4% 1.3em;
    box-sizing: border-box;
}
#flow .list1 .step5_box1 ul li dt::before{
    position: absolute;
    display: block;
    content: "";
    background: #85c05b;
    background-size: 100% auto;
    width: 100%;
    height: calc(100% - .7em);
    bottom: 0;
    left: 0;
}
#flow .list1 .step5_box1 ul li:nth-child(2) dt::before{
    background: #5db8c4;}

#flow .list1 .step5_box1 ul li dt p{
    position: relative;
    z-index: 2;
}
#flow .list1 .step5_box1 ul li dt .ft_laca{
    font-size:260%;    
    color: #3b8c2d;
    margin-bottom: .4em;
}
#flow .list1 .step5_box1 ul li:nth-child(2) dt .ft_laca{
    color: #00789e;
}
#flow .list1 .step5_box1 ul li dt .ft_laca span{
    font-style: italic;
}
#flow .list1 .step5_box1 ul li:nth-child(2) dt .ft_laca{
    color: #00789e;
}
#flow .list1 .step5_box1 ul li dt .fs25{
    color: #fff;
}
#flow .list1 .inbox2 .fs28{
    color: #63c567;
    text-align: center;
    margin-bottom: 1.2em;
}
#flow .list1 .inbox2 .flexbox2{
    display: flex;
    justify-content: space-between;
    align-items: center;	
}
#flow .list1 .inbox2 .flexbox2 .img{
    width: 51%;
}
#flow .list1 .inbox2 .flexbox2 .txt{
    width: 46.5%;
}

/*risk*/
#flow .risk{
    max-width: 1280px;
    margin: 65px auto 0;
}
#flow .risk .fs22{
    color: #fff;
    background: #63c567;
    padding: .7em 4%;
    box-sizing: border-box;
    text-align: center;
    margin-bottom: 1.8em;
}
#flow .risk{
    text-align: center;
    margin-bottom: 80px;
}
#flow .risk ul{
    text-align: left;
    display: inline-block;
    margin: 0 auto;
    font-weight: bold;
}
#flow .risk ul li{
    position: relative;
    padding-left: 2em;
    box-sizing: border-box;
    margin-bottom: .9em;
}
#flow .risk ul li:last-child{
    margin-bottom: 0;
}
#flow .risk ul li::before{
    position: absolute;
    display:block;
    content: "";
    background: url("../images/flow_cheack.svg") no-repeat top left;
    background-size: 100% auto;
    line-height: 1em;
    width: 1.3em;
    height: 1.3em;
    top:0.3em;
    left: 0;
}

/*anime*/
#flow .list1 > li:first-child::before{
	transition: all 0.6s 0.5s;
    transform: scaleY(0);
	transform-origin: bottom;
}
#flow .list1.anime_on > li:first-child::before{
	transform:scaleY(1);
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
#flow .bg2::before,
#flow .bg2::after{
    top: 14%;
}
#flow .list1 > li:first-child::before{
    left: 2%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#flow .bg2::before,
#flow .bg2::after{
    top: 15%;
}
    
#flow .bg1::before{
    height: calc(100% - 7vw);
}
#flow .list1 > li:first-child::before{
    left:3%;
}
#flow .list1 > li:nth-child(odd){
    border-radius: 20px;
}
#flow .list1 > li:nth-child(odd) .inbox1{
    padding: 5% 4.5% 6%;
}
#flow .list1 > li:nth-child(9) .inbox1{
    padding-bottom: 8%;
}
#flow .list1 > li:nth-child(odd) .inbox2{
    padding:5% 4.5% 6%;
    border-radius: 0 0 20px 20px;
}
#flow .list1 > li:nth-child(even){
    margin: 2% auto;
}
#flow .list1 .flexbox .txt{
    width: 58%;
}
#flow .list1 .flexbox .link_list{
    margin-top: 2vw;
}
#flow .list1 .step5_box1{
    margin-top: 5%;
}
#flow .list1 .step5_box1 .fs28{
    margin-bottom: 5%;
}
#flow .list1 .step5_box1 ul li dt{
    margin-bottom: .8em;
    padding: 0 4% 1em;
}
#flow .list1 .step5_box1 ul li dt .ft_laca{
    font-size:230%;    
}
#flow .list1 .inbox2 .flexbox2{
    display: block;
}
#flow .list1 .inbox2 .flexbox2 .img{
    width: 60%;
    margin: 0 auto;
    text-align: center;
}
#flow .list1 .inbox2 .flexbox2 .txt{
    width: 100%;
}

/*risk*/
#flow .risk{
    margin: 5% auto 0;
}
#flow .risk .fs22{
    margin-bottom: .8em;
}
#flow .risk{
    margin-bottom: 5%;
}
#flow .risk ul li{
    margin-bottom: .5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#flow .bg1::before{
    height: calc(100% - 5vw);
}
#flow .bg2::before,
#flow .bg2::after{
    width: 30%;
    top:130vw;
    transform: translateY(0); 
}
#flow .list1 > li:first-child::before{
    width: 40%;
    left: 3%;
}
#flow .com_index1{
    margin-bottom: 20%;
}
#flow .list1 > li:nth-child(odd){
    border-radius: 20px;
}
#flow .list1 > li:nth-child(odd) .inbox1{
    padding:2.5rem 4% 7%;
}
#flow .list1 > li:nth-child(9) .inbox1{
    padding-bottom: 10%;
}
#flow .list1 > li:nth-child(odd) .inbox2{
    padding: 5% 3%;
    border-radius: 0 0 20px 20px;
}
#flow .list1 > li:nth-child(odd) .inbox2::before{
    width: 8vw;
}
#flow .list1 > li:nth-child(even){
    margin: 5% auto;
}
#flow .list1 .flexbox{
    display: block;
}
#flow .list1 .flexbox .img{
    width: 80%;
    margin: 0 auto 4%;
    text-align: center;
}
#flow .list1 .flexbox .txt{
    width: 100%;
}
#flow .list1 .flexbox .link_list{
    flex-wrap: wrap;
    width: 90%;
    max-width:330px;
    margin: 1.5rem auto 0;
}
#flow .list1 .flexbox .link_list li{
    text-align: center;
}
#flow .list1 .flexbox .link_list li:first-child{
    width: 90%;
    margin: 0 auto 5%;
}
#flow .list1 .flexbox .link_list li:last-child{
    width: 70%;
    margin: 0 auto;
}
#flow .list1 .step5_box1{
    margin-top: 8%;
}
#flow .list1 .step5_box1 .fs28{
    margin-bottom: 5%;
}
#flow .list1 .step5_box1 ul{
    display: block;
}
#flow .list1 .step5_box1 ul li{
    width: 100%;
}
#flow .list1 .step5_box1 ul li:first-child{
   margin-bottom: 5%;
}
#flow .list1 .step5_box1 ul li dt{
    margin-bottom: .8em;
    padding: 0 4% 1em;
}
#flow .list1 .step5_box1 ul li dt .ft_laca{
    font-size:230%;   
    margin-bottom: .3em;
}
#flow .list1 .inbox2 .fs28{
    margin-bottom: 1em;
}
#flow .list1 .inbox2 .flexbox2{
    display: block;
}
#flow .list1 .inbox2 .flexbox2 .img{
    width: 100%;
    margin: 0 auto 3%;
    text-align: center;
}
#flow .list1 .inbox2 .flexbox2 .txt{
    width: 100%;
}

/*risk*/
#flow .risk{
    margin: 10% auto 10%;
}
#flow .risk .fs22{
    margin-bottom: .8em;
}
#flow .risk ul li{
    padding-left: 1.8em;
    margin-bottom: .5em;
}
}






/* 無料メール矯正相談
---------------------------------------------------------*/
#free_soudan{
    max-width: 1100px;
    margin: 0 auto;
}
#free_soudan .free_soudan_tit1{
    text-align: center;
    width: 35%;
/*    margin: 0 auto -1.5em;*/
	margin: 0 auto;
    z-index: 10!important;
}
#free_soudan .free_soudan_tit1,
#free_soudan .free_soudan_box_inbox{
    position: relative;
    z-index: 2;
}
#free_soudan .free_soudan_box{
    position: relative;
}
#free_soudan .free_soudan_box::before{
    position: absolute;
    display: block;
    content: "";
    background: #fff;
    background-size: 100% auto;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    border-radius:30px;
}
#free_soudan .free_soudan_box::after{
    position: absolute;
    display: block;
    content: "";
    background: #fdf6d1;
    background-size: 100% auto;
    width: 100%;
    height: 38%;
    top: 0;
    left: 0;
    border-radius:30px 30px 0 0;
}
#free_soudan .free_soudan_box_inbox{
    /*padding: 33px 4% 55px;*/
	padding: 60px 4% 55px;
    box-sizing: border-box;
}
#free_soudan .free_soudan_box_inbox::before{
    position: absolute;
    display: block;
    content: "";
    background: url(../images/soudan_img1_bg.svg)no-repeat bottom center;
    background-size: 100% auto;
    width: 35%;
    height: 80px;
    max-width: 280px;
    bottom: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}
#free_soudan .free_soudan_box h4{
    text-align: center;
    font-size: 330%;
    color: #544337;
    align-items: center;	
    vertical-align: middle;
    margin-bottom: .8em;
}
#free_soudan .free_soudan_box h4 span{
    display: inline-block;
    width: 2.8em;
    line-height: 1em;
    margin-bottom: -0.45em;
    margin-right: .2em;
}
#free_soudan .free_soudan_box h4 strong{
    color: #f8889c;
}
#free_soudan .list{
    display: flex;
    justify-content: space-between;
}
#free_soudan .list li{
    width:13.7%;
    max-width: 136px;
}
#free_soudan dl{
    text-align: center;
    margin: 1.5rem auto;
}
#free_soudan dl dt{
    margin-bottom: .7em;
}
#free_soudan dl dt span{
    color: #f8889c;
}
#free_soudan .btn{
    width: 40%;
    margin: 0 auto;
}

/*anime*/
#free_soudan .free_soudan_tit1.anime_on img{
	animation: pyonpyon4 3s 0s forwards ease-in-out;
}
@keyframes pyonpyon4 {
  0% {
    transform: translate(0, 0);
  }
  5% {
    transform: translate(0, 0);
  }
  10% {
    transform: translate(0, 0);
  }
  20% {
    transform: translate(0, -0.6vw);
  }
  25% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(0, -0.6vw);
  }
  50% {
    transform: translate(0, 0);
  }
  100% {
	opacity: 1;
    transform: translate(0, 0);
  }
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#free_soudan .free_soudan_box_inbox{
    padding: 5% 3% 4%;
}
#free_soudan .free_soudan_box h4{
    font-size: 250%;
}
#free_soudan dl dt{
    margin-bottom: .5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#free_soudan .free_soudan_tit1{
    width: 45%;
    margin: 0 auto -1vw;
}
#free_soudan .free_soudan_box_inbox::before{
    width: 45%;
}
#free_soudan .free_soudan_box_inbox{
    padding: 6% 3% 8%;
}
#free_soudan .free_soudan_box::before{
    border-radius: 20px;
}
#free_soudan .free_soudan_box::after{
    height: 40%;
    border-radius:20px 20px 0 0;
}
#free_soudan .free_soudan_box h4{
    font-size: 7vw;
	line-height: 1.2;
    margin-bottom: .8em;
}
#free_soudan .free_soudan_box h4 span{
    margin-right: .1em;
}
#free_soudan .list{
    flex-wrap: wrap;
}
#free_soudan .list li{
    width: 23%;
}
#free_soudan .list li:nth-child(5){
    margin-left: 12%;
}
#free_soudan .list li:nth-child(7){
    margin-right: 12%;
}
#free_soudan dl{
    margin: 1.5rem auto 1rem;
}
#free_soudan dl dt{
    margin-bottom: .4em;
}
#free_soudan dl dd{
    text-align: left;
}
#free_soudan .btn{
    width: 70%;
}
}







/* いつ矯正治療を始めたら良いの？
---------------------------------------------------------*/
#when .bg1{
    position: relative;
    padding-top: 110px;
    background: #fff150;
    padding-bottom: 200px;
}
#when .bg1::before{
    position: absolute;
    display: block;
    content: "";
    background: #fff150;
    background-size: 100% auto;
    width: 100%;
    height: 230px;
    bottom: 100%;
    left: 0;
}
#when .bg1::after{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/reason_img1@2x.png")no-repeat bottom center;
    background-size: 100% auto;
    width: 100%;
    height: 1000px;
    bottom: 0;
    left: 0;
}
#when .tit1{
    width:70%;
    margin: 0 auto;
}
#when .tit2{
    position: relative;
    width: 90%;
    margin: 0 auto;
    padding: 65px 0 60px;
    max-width: 1048px;
}
#when .tit2 .tit2_inbox > div{
    width: 55%;
    margin: 0 auto;
}
#when .tit2::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/when_img3.svg") no-repeat top center;
    background-size: 100% auto;
    width: 100%;
    max-width: 843px;
    height: 611px;
    top: 50%;
	transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}
#when .tit2_inbox,
#when .tit1,
#when .txt1{
    position: relative;
    z-index: 2;
}
#when .tit2 li{
    position: absolute;
    width: 19%;
    max-width: 193px;    
}
#when .tit2 li:nth-child(1){
    top:-1em;
    left: 0;
}
#when .tit2 li:nth-child(2){
    right:0;
    bottom: 1em;
}

/*anime*/
#when .bg1 .tit1 img{
	opacity: 0;
	transform: scale(0.6);
	transition: all 0.4s;
}
#when .bg1.anime_on .tit1 img{
	opacity: 1;
	transform: scale(1);
}

#when .bg1.anime_on .tit2_inbox ul li img{
    animation: pyonpyon4 3s 0.7s forwards ease-in-out;
    opacity: 0;
}

@keyframes pyonpyon4 {
  0% {
    transform: translate(0, 0);
  }
  5% {
    transform: translate(0, 0);
  }
  10% {
    transform: translate(0, 0);
  }
  20% {
    opacity: 1;
    transform: translate(0, -15px);
  }
  25% {
    transform: translate(0, 0);
  }
  30% {
    transform: translate(0, -15px);
  }
  50% {
    transform: translate(0, 0);
  }
  100% {
    opacity: 1;  
    transform: translate(0, 0);
  }
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#when .bg1{
    padding-top:14%;
    padding-bottom: 15%;
}
#when .bg1::before{
    height: 28vw;
}
#when .tit2{
    width: 94%;
    padding: 5% 0;
}
#when .tit2 li{
    width: 19%;  
}
#when .tit2 li:nth-child(1){
    top: 0;
}
#when .tit2 li:nth-child(2){
    bottom: 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#when .bg1{
    padding-top:10%;
    padding-bottom: 20%;
}
#when .bg1::before{
    height: 50vw;
}
#when .tit1{
    width:80%;
    margin: 0 auto;
}
#when .tit2{
    width: 100%;
    padding: 8% 0 5%;
}
#when .tit2 .tit2_inbox > div{
    width: 55%;
    margin: 0 auto;
}
#when .tit2::before{
    top: 58%;
    width: 80%;
    height: 58vw;
}
#when .tit2 li:nth-child(1){
    top: 0;
}
#when .tit2 li:nth-child(2){
    bottom: 0;
}
#when .txt1{
    width: 94%;
    text-align: left;
    margin: 0 auto;
}
}







/* 成長期に矯正を始めた方が良い理由
---------------------------------------------------------*/
#reason .bg1{
    background: #ffe100;
    padding-top: 70px;
    padding-bottom: 150px;
}
#reason .com_index1 .ft_laca{
    color: #ffa32f;
}
#reason .list1{
    display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
    margin-bottom: 85px;
}
#reason .list1 > li{
    width: 23.8%;
    background: #fff366;
    border-radius: 30px;
    padding: 40px 2% 40px 5%;
    box-sizing: border-box;
}
#reason .list1 > li:nth-child(1){
    width: 100%;
    margin-bottom: 1.5%;
    padding: 40px 5%;
}
#reason .list1 > li .txt1 .ft_laca{
    position: relative;
    color: #ffa32f;
    font-size:130%;
    font-weight: bold;
    margin-top: 1.3em;
    margin-bottom: 1em;
}
#reason .list1 > li .txt1 .ft_laca::before{
    position: absolute;
    display: block;
    content: "";
    background: #ffa32f;
    background-size: 100% auto;
    width: 2.6em;
    height: 2.1em;
    border-radius: 0 50px 50px 0;
    top: 50%;
	transform: translateY(-50%);
    left:-3.1em;
}
#reason .list1 > li .flexbox{
    display: flex;
    justify-content: space-between;
}
#reason .list1 > li .flexbox .txt1{
    width: 26%;
}
#reason .list1 > li .flexbox .img2{
    width: 71%;
    display: flex;
    justify-content: space-between;
}
#reason .list1 > li .flexbox .img2 li{
    width: 23.5%;
    text-align: center;
}
#reason .list1 > li .flexbox .img2 li p{
    margin-top: .7em;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
#reason .list1 > li .txt1 .ft_laca{
    font-size: 1.8vw;
}
#reason .list1 > li .txt1 .ft_laca::before{
    width: 2.4em;
    height:1.9em;
    left:-2.9em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#reason .bg1{
    padding-top: 6%;
    padding-bottom: 10%;
}
#reason .list1{
    margin-bottom: 4%;
}
#reason .list1 > li{
    width: 24%;
    border-radius: 20px;
    padding: 2.5% 0.5rem 4% 1.5rem;
}
#reason .list1 > li:nth-child(1){
    margin-bottom: 1.5%;
    padding: 4% 0.5rem 4% 1.5rem;
}
#reason .list1 > li:nth-child(1) .txt1 .ft_laca{
    margin-top: 0;
}
#reason .list1 > li .txt1 .ft_laca{
    font-size:115%;
    margin-top: 1em;
    margin-bottom: .3em;
    padding-left: .5em;
}
#reason .list1 > li .txt1 .ft_laca::before{
    width: 1.5em;
    height: 1.2em;
    left:-1.5em;
}
#reason .list1 > li .txt1 .fs28{
    letter-spacing: normal;
}
#reason .list1 > li .flexbox .img2 li p{
    margin-top: .5em;
    font-size:90%;
}
#reason .list1 > li .flexbox .img2 li div{
    width: 80%;
    margin: 0 auto;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#reason .bg1{
    padding-top: 10%;
    padding-bottom: 13%;
}
#reason .com_index1{
    margin-bottom: 8%;
}
#reason .list1{
    margin-bottom: 6%;
}
#reason .list1 > li{
    width: 49%;
    border-radius: 20px;
    padding: 6% 5% 8%;
    margin-bottom: 2%;
}
#reason .list1 > li:nth-child(1){
    margin-bottom:2%;
    padding: 6% 5% 8%;
}
#reason .list1 > li .txt1 .ft_laca{
    font-size:100%;
    letter-spacing: 0.1em;
    margin-top:0;
    margin-bottom: .3em;
    padding-left: .8em;
}
#reason .list1 > li .txt1 .ft_laca::before{
    width: 1.5em;
    height: 1.2em;
    left:-1.2em;
}
#reason .list1 > li .flexbox{
    display: block;
}
#reason .list1 > li .flexbox .txt1{
    width: 100%;
}
#reason .list1 li .img1{
    width: 80%;
    margin: 0 auto 6%;
}
#reason .list1 > li .flexbox .img2{
    width: 100%;
    margin-top: 6%;
}
#reason .list1 > li .flexbox .img2 li div{
    width: 80%;
    margin: 0 auto;
}
#reason .list1 > li .flexbox .img2 li p{
    margin-top: .7em;
    letter-spacing: normal;
    font-size:80%;
} 
}







/* よくある質問
---------------------------------------------------------*/
#qa .bg1{
    background: #f8b445;
    padding: 140px 0 160px;
}
#qa .com_index1{
    position: relative;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 160px;
}
#qa .com_index1 li{
    position: absolute;
    top: 50%;
	transform: translateY(-50%);
    width: 40%;
}
#qa .com_index1 li:nth-child(2){
    left: 0;
}
#qa .com_index1 li:nth-child(1){
    right: 0;
    top: 60%;
}
#qa .com_index1 > div,
#qa .com_index1 h3{
    position: relative;
    z-index: 2;
}

/*アコーディオン*/
#qa .open_trigger {
    position: relative;
	cursor: pointer;
    color: #fff;
    background: #ee7217;
    padding: .8em 4%;
    box-sizing: border-box;
}
#qa .open_trigger span.open_txt {
    position: relative;
	display: inline-block;
    padding-right: 1em;
    box-sizing: border-box;
}
#qa .open_trigger span.round_btn {
    position: absolute;
	display: block;
	width: 28px;
	height: 28px;
	top: 50%;
    transform: translateY(-50%);
    right: 0;
}
/* 二本の横棒を作成する */
#qa .open_trigger span.round_btn::before,
#qa .open_trigger span.round_btn::after{
	content: '';
    display: block;
    width:  28px;
    height:5px;
    background: #fff;
    position: absolute;
    left: 0;
	right: 0;
    top: 50%;
    transform: translateY(-50%);
	margin: auto;
}
/* 2本の横棒のうち一本は縦棒にする */
#qa .open_trigger span.round_btn::after {
	background: #fff;
	/* 横棒を縦にするために90℃回転させる */
	transform: translateY(-50%) rotate(90deg);
	/* プラスからマイナスへの切り替えをゆっくり行いアニメーションさせる */
	transition: 0.5s;
}
/*
プラスがクリックされたら縦棒を横にしてマイナスにする疑似要素
jQueryで付け外しを行う
*/
#qa .open_trigger.active .round_btn::after {
	transform: rotate(0);
	transition: 0.5s;
}
#qa .open_box {
    position: relative;
	display: none;
    padding: 40px 4% 50px;
    box-sizing: border-box;
}
#qa .open_box::before{/*矢印*/
    position: absolute;
    display: block;
    content: "";
    background: url("../images/qa_arrow.svg")no-repeat bottom left;
    background-size: 100% auto;
    width:26px;
    height:17px;
    bottom: calc(100% - 10px);
    left: calc(4% + 20px);
    z-index: 2;
}
#qa .open_box::after{ /*白背景-隙間*/
    position: absolute;
    display: block;
    content: "";
    background: #fff;
    background-size: 100% auto;
    width: 100%;
    height: calc(100% - 5px);
    bottom: 0;
    left: 0;
}
#qa .open_trigger > div,
#qa .open_box > div{
    position: relative;
    padding-left: 5rem;
    box-sizing: border-box;
    z-index: 2;
}
#qa .open_trigger > div::before,
#qa .open_box > div::before{
    position: absolute;
    display: block;
    content: "";
    background: url("../images/qa_icon1.svg")no-repeat top left;
    background-size: 100% auto;
    width: 5.5vw;
    max-width: 64px;
    height: 64px;
    top:-10px;
    left: 0;
}
#qa .open_box > div::before{
    top: .6rem;
    background-image: url("../images/qa_icon2.svg");
}

#qa .qa_list > li{
    margin-bottom: 33px;
}
#qa .qa_list > li:last-child{
    margin-bottom: 0;
}
#qa .qa_list .flexbox{
    overflow: hidden;
}
#qa .qa_list .flexbox .img{
    width: 41%;
    max-width: 440px;
    float: right;
}
#qa .qa_list .flexbox .txt{
    width: 56%;
    float: left;
}
#qa .qa_list .flexbox.img357 .img{
    width: 31.5%;
    max-width: 357px;
}
#qa .qa_list .flexbox.img357 .txt{
    width: 65.5%;
}

/*anime*/
#qa .com_index1 li img{
	opacity: 0;
	transform: scale(0.6);
	transition: all 0.4s;
}
#qa .com_index1.anime_on li img{
	opacity: 1;
	transform: scale(1);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#qa .bg1{
    padding: 10% 0 10%;
}
#qa .com_index1{
    width: 70%;
    margin: 0 auto 9%;
}
#qa .com_index1 li{
    width: 35%;
}
#qa .com_index1 > div{
    width: 60%;
    margin: 0 auto;
}
    
/*アコーディオン*/
#qa .open_trigger {
    padding: .9em 2.5% .9em;
}
#qa .open_trigger span.round_btn {
	width:15px;
	height:15px;
}
/* 二本の横棒を作成する */
#qa .open_trigger span.round_btn::before,
#qa .open_trigger span.round_btn::after{
    width:15px;
    height: 4px;
}
#qa .open_box {
    padding: 3% 2.5% 3.5%;
}
#qa .open_box::before{/*矢印*/
    left: calc(0.8% + 20px);
}
#qa .open_trigger > div,
#qa .open_box > div{
    padding-left: 3rem;
}
#qa .open_trigger > div::before,
#qa .open_box > div::before{
    width: 2.5rem;
    height:2.5rem;
    top: -0.4rem;
}
#qa .open_box > div::before{
    top: .1rem;
}
#qa .qa_list > li{
    margin-bottom: 3%;
}  

#qa .qa_list .flexbox .img{
    width: 45%;
    margin-left: 4%;
    margin-bottom: .5rem;
}
#qa .qa_list .flexbox.img357 .img{
    width: 35%;
}
#qa .qa_list .flexbox .txt,
#qa .qa_list .flexbox.img357 .txt{
    width: 100%;
    float: none;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#qa .bg1{
    padding: 13% 0 15%;
}
#qa .com_index1{
    margin-bottom: 12%;
}
#qa .com_index1 > div{
    width: 60%;
    margin: 0 auto;
}
#qa .com_index1 li{
    width: 30%;
}

/*アコーディオン*/
#qa .open_trigger {
    padding: .8em 4% .8em 3%;
    font-size:4.3vw;
}
#qa .open_trigger span.round_btn {
	width:1em;
	height:1em;
}
/* 二本の横棒を作成する */
#qa .open_trigger span.round_btn::before,
#qa .open_trigger span.round_btn::after{
    width:1em;
    height: 4px;
}
#qa .open_box {
    padding: 5% 4% ;
}
#qa .open_box::before{/*矢印*/
    width: 26px;
    height:17px;
    bottom: calc(100% - 10px);
    left: calc(1.2% + 20px);
}
#qa .open_trigger > div,
#qa .open_box > div{
    padding-left: 2.5em;
}
#qa .open_trigger > div{
    padding-right: 1em;
}
#qa .open_trigger > div::before,
#qa .open_box > div::before{
    width: 2em;
    height: 2em;
    top: 0;
}
#qa .open_box > div::before{
    top: .6rem;
}

#qa .qa_list > li{
    margin-bottom: 6%;
}
#qa .qa_list .flexbox .img{
    width: 80%;
    margin: 0 auto 4%;
    float: none;
}
#qa .qa_list .flexbox .txt{
    width: 100%;
    float: none;
}
#qa .qa_list .flexbox.img357 .img{
    width: 80%;
}
#qa .qa_list .flexbox.img357 .txt{
    width: 100%;
}
}






/* 治療費
---------------------------------------------------------*/
#price .bg1{
    background: #fff2ec;
    padding: 130px 0 150px;
}
#price .com_index1 .ft_laca{
    color: #f8889c;
}

#price .table_txt{
    font-size:85%;
    line-height: 1em;
    margin-bottom: 1em;
    color: #95771e;
    font-weight: bold;
    text-align: right;
}
#price .table_box{
    width: 94%;
    max-width: 1200px;
    margin: 0 auto;
}
#price table{
    width: 100%;
}
#price table th,
#price table td{
    border-bottom: 2px solid #fff2ec;
}

#price table tr:last-child th,
#price table tr:last-child td{
    border-bottom: none;
}
#price table th{
    width: 70%;
    background: #fff;
    padding: 1.4em 4%;
    box-sizing: border-box;
    font-size:130%;
}
#price table td{
    width: 30%;
    font-size:135%;
    line-height: 1.2em;
    background: #e9e3d5;
    color: #95771e;
    font-weight: bold;
    text-align: center;
    padding: 1.4em 4%;
    box-sizing: border-box;
}
#price table td span{
    font-size: 80%;
}
#price .box1{
    margin-bottom: 65px;
}
#price .box2{
    position: relative;
    margin-bottom: 140px;
    padding: 55px 0 70px;
    background: #fee5d8;
    border-radius: 30px;
}
#price .box2 .fs30{
    text-align: center;
    color: #f8889c;
    margin-bottom: 1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#price .bg1{
    padding: 10% 0 8%;
}
#price .table_txt{
    font-size:90%;
    letter-spacing: normal;
}
#price table th{
    padding: 1.4em 3%;
    font-size:110%;
}
#price table td{
    font-size:115%;
    padding: 1.4em 3%;
}
#price .box1{
    margin-top: -4%;
    margin-bottom: 5%;
}
#price .box2{
    margin-bottom: 10%;
    padding:4% 0;
    border-radius: 20px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#price .bg1{
    padding: 10% 0;
}
#price .table_txt{
    margin-bottom: .5em;
}
#price table th{
    padding: 1.1em 3%;
    font-size: 90%;
    line-height: 1.6em;
}
#price table td{
    font-size: 90%;
    padding: 1.1em 3%;
}
#price .box1{
    margin-bottom: 8%;
}
#price .box2{
    margin-bottom: 15%;
    padding: 5% 0 8%;
    border-radius: 20px;
}
#price .box2 .fs30{
    margin-bottom: .5em;
}
}







/* お支払い方法について
---------------------------------------------------------*/
#price_pay .pay_tit{
    background: #f8889c;
    color: #fff;
    padding: 1.3em 4%;
    box-sizing: border-box;
    margin-bottom: 60px;
}

/*card*/
#price_pay .card .fs30{
    text-align: center;
    margin-bottom: 1.3em;
}
#price_pay .card .fs30 span{
    color: #f8889c;
}
#price_pay .card ul{
    display: flex;
    justify-content: space-between;
    max-width: 1015px;
    margin: 0 auto 85px;
}
#price_pay .card ul li{
    width: 14.7%;
}
#price_pay .card ul li:last-child{
    width: 21.5%;
}
#price_pay .card ul li img{
    filter: drop-shadow(0 8px 8px rgba(0,0,0,0.15));
}

/*loan*/
#price_pay .loan .fs30{
    max-width: 1100px;
    background: #ccaca3;
    color: #fff;
    text-align: center;
    padding: .5em 4%;
    box-sizing: border-box;
    border-radius: 30px;
    margin: 0 auto 40px;
}
#price_pay .loan .fs23{
    color: #f8889c;
    text-align: center;
    line-height: 1.8em;
}
#price_pay .loan .txt{
    text-align: center;
    margin-top: 2em;
}
.com_btn1{
    text-align: center;
}
.com_btn1 a{
    position: relative;
    display: inline-block;
    font-weight: bold;
    text-align: center;
    margin: 2.7em auto 0;
    min-width: 500px;
    line-height: 1.5em;
    padding-bottom: 1.3em;
}
.com_btn1 a:hover{
    color: #f8889c;
}
.com_btn1 a::before{
    position: absolute;
    display: block;
    content: "";
    background: #312626;
    background-size: 100% auto;
    width:100%;
    height: 2px;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.com_btn1 a::after{
    position: absolute;
    display: block;
    content: "";
    background: #f8889c;
    background-size: 100% auto;
    width:0%;
    height: 2px;
    bottom: 0;
    left: 0;
    z-index: 2;
    transition: 0.8s;
}
.com_btn1 a:hover::after{
    width: 100%;
    transition: 0.2s;
}
.com_btn1 a span{
    position: relative;
    padding-right: 3em;
    box-sizing: border-box;
}
.com_btn1 a span::before{
    position: absolute;
	display: block;
    content: "";
    background: url("../images/arrow3.svg") no-repeat top right;
    background-size: 100% auto;
    width:2em;
    height: 2em;
    right: 0;
	top: 50%;
	transform: translateY(-50%);
}

/*kojo*/
#price_pay .kojo{
    margin-top: 85px;
    border:10px solid #fff;
    padding: 60px 8% 65px;
    box-sizing: border-box;
}
#price_pay .kojo .fs30{
    text-align: center;
    margin-bottom: 1.1em;
}
#price_pay .kojo .fs30 span{
    color: #f8889c;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#price_pay .pay_tit{
    margin-bottom: 5%;
}

/*card*/
#price_pay .card ul{
    margin: 0 auto 8%;
}
    
/*loan*/
#price_pay .loan .fs30{
    margin: 0 auto 3%;
}
#price_pay .loan .txt{
    margin-top: 1em;
}
.com_btn1 a{
    margin: 2em auto 0;
}

/*kojo*/
#price_pay .kojo{
    margin-top: 8%;
    border: 8px solid #fff;
    padding: 4% 4%;
}
#price_pay .kojo .fs30{
    margin-bottom:.8em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#price_pay .pay_tit{
    margin-bottom: 4%;
}

/*card*/
#price_pay .card .fs30{
    margin-bottom: 1em;
}
#price_pay .card ul{
    flex-wrap: wrap;
    margin: 0 auto 10%;
}
#price_pay .card ul li{
    width: 24%;
    margin-bottom: 1.5%;
}
#price_pay .card ul li:nth-child(5){
    margin-left: 20%;
}
#price_pay .card ul li:last-child{
    width: 35%;
    margin-right: 20%;
}
#price_pay .card ul li img{
    filter: drop-shadow(0 5px 5px rgba(0,0,0,0.15));
}
    
/*loan*/
#price_pay .loan .fs30{
    margin: 0 auto 3%;
}
#price_pay .loan .fs23{
    text-align: left;
    line-height: 1.6em;
}
#price_pay .loan .txt{
    text-align: left;
    margin-top: 1em;
}
.com_btn1 a{
    margin: 1.5em auto 0;
    padding-bottom: 1em;
    min-width: 100%;
}
.com_btn1 a span{
    padding-right: 2.5em;
}
    
/*kojo*/
#price_pay .kojo{
    margin-top: 10%;
    border: 5px solid #fff;
    padding: 6% 4%;
}
#price_pay .kojo .fs30{
    margin-bottom: .5em;
}
}






/* 理事長あいさつ
---------------------------------------------------------*/
#greeting .bg1{
    position: relative;
    padding: 90px 0;
    color: #fff;
}
#greeting .bg1::before{
    position: absolute;
    display: block;
    content: "";
    background: #70c4e3;
    background-size: 100% auto;
    width: 150%;
    height: 100%;
    right: 0;
    top:0;
    border-radius: 0 20px 20px 0;
    z-index: 2;
}
#greeting .bg1::after{
    position: absolute;
    display: block;
    content: "";
    background: #fff;
    background-size: 100% auto;
    width: 300%;
    height: 50%;
    bottom: 0;
    left: -100%;
}
#greeting .inbox1{
    position: relative;
    z-index: 3;
    max-width: 1215px;
    margin: auto 4% auto auto;
}
#greeting .com_index1{
    text-align: left;
    margin-bottom: 50px;
}
#greeting .com_index1 .ft_laca{
    color: #35acd8;
}
#greeting .flexbox{
    display: flex;
    justify-content: space-between;
    flex-flow: row-reverse;
}
#greeting .flexbox .img{
    position: relative;
    width: 40%;
}
#greeting .flexbox .img div{
    position: absolute;
    bottom: 0;
    right: 0;
}
#greeting .flexbox .txt{
    width: 56%;
}
#greeting .flexbox .txt dt{
    margin-bottom: 1.8em;
    text-align: left;
}
#greeting .flexbox .txt dt img{
    margin: auto auto auto 0;
}

/*anime*/
#greeting .flexbox .img div img{
	opacity: 0;
	transform: rotate(6deg);
	transition: all 0.6s 0.8s;
}
#greeting .flexbox.anime_on .img div img{
	opacity: 1;
	transform: rotate(0deg);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#greeting .bg1{
    padding: 6% 0 8%;
}
#greeting .inbox1{
    margin: auto 0 auto auto;
}
#greeting .com_index1{
    margin-bottom: 6%;
}
#greeting .flexbox .txt dt{
    margin-bottom: 1.3em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#greeting .bg1{
    padding: 8% 0;
}
#greeting .com_index1{
    margin-bottom: 5%;
}
#greeting .flexbox{
    display: block;
}
#greeting .flexbox .img{
    width: 70%;
    margin: -12vw 0 4% 25%;
}
#greeting .flexbox .img div{
    position: static;
}
#greeting .flexbox .txt{
    width: 100%;
}
#greeting .flexbox .txt dt{
    margin-bottom: 1em;
}
}




/* drawer
---------------------------------------------------------*/
.drawer-wrap .dr_inbox1{
    padding: 12vw 8% 10vw;
    box-sizing: border-box;
    text-align: center;
}
.drawer-wrap .dr_inbox1 .dr_inbox1_inbox,
.drawer-wrap .dr_inbox2_inbox .dr_inbox2_inbox{
    max-width: 290px;
    display: inline-block;
    margin: 0 auto;
    text-align: left;
}
.drawer-wrap .dr_inbox1 .dr_tit{
    font-size: 13vw;
    line-height: 1em;
    letter-spacing: 0.05em;    
    margin-bottom: 5.5vw;
}
.drawer-wrap .dr_inbox1 .dr_tit a{
    color: #ffa32f;
}
.drawer-wrap .dr_inbox1 .dr_menu li{
    margin-bottom: 6vw;
}
.drawer-wrap .dr_inbox1 .dr_menu li:last-child{
    margin-bottom: 0;
}
.drawer-wrap .dr_inbox2{
    padding: 10vw 8% 10vw;
    box-sizing: border-box;
    background: #fbef7e;
    text-align: center;
}
.drawer-wrap .dr_inbox2 .drw_web {
	width: 70%;
	max-width: 240px;
    margin: 8% auto 0;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
}





/* footer
---------------------------------------------------------*/
footer .bg1{
    background: #fff;
    padding: 95px 0 60px;
}

/*f_name*/
footer .f_name{
    margin-bottom: 60px;
    text-align: center;
}
footer .f_name dl{
    font-weight: bold;
    line-height: 1.5em;
}
footer .f_name dl dt{
    font-size: 120%;
    margin-bottom: .8em;
}
footer .f_name dl dd{
    font-size:250%;
    letter-spacing: 0.15em;
}
footer .f_name p{
    font-weight: bold;
    font-size:115%;
    color: #f8889c;
    margin: 2em 0 .9em;
}

/*f_flexbox*/
footer .f_flexbox{
    margin-bottom: 80px;
    display: flex;
    justify-content: space-between;
}
footer .f_flexbox .fl_l{
    width: 54%;
}
footer .f_flexbox .fl_l .f_timetable{
	margin-top: 1em;
    margin-bottom: 50px;
}
footer .f_flexbox .fl_l .f_timetable dt{
    margin-bottom: .9rem;
}
footer .f_flexbox .fl_l .f_timetable dd p{
    font-size: 90%;
    letter-spacing: .1em;
    line-height: 1.4em;
    margin-bottom: .2em;
}
footer .f_flexbox .fl_l .f_timetable dd p:first-child{
    padding-left: 1.2em;
    text-indent: -1.2em;
}
footer .f_flexbox .fl_l .f_timetable dd p:last-child{
    margin-bottom: 0;
}
footer .f_flexbox .fl_l .f_timetable dd span{
    color: #f8889c;
}
footer .f_timetable dd ul{
    display: flex;
	justify-content: space-between;
	font-size: 90%;
    letter-spacing: .1em;
    line-height: 1.4em;
}

/*
footer .f_flexbox .fl_l .f_go{
    display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
*/
footer .f_flexbox .fl_l .f_go li{
/*    width: 49%;*/
    font-weight: bold;
    font-size:95%;
    line-height: 1.5em;
}
footer .f_flexbox .fl_l .f_go li:last-child{
    width: 100%;
    border-top:1px solid #ada8a8;
/*    text-align: center;*/
    margin-top: 1.6em;
    padding-top: 1.5em;
}
footer .f_flexbox .fl_l .f_go li p{
    position: relative;
    padding-left: 4.2em;
    box-sizing: border-box;
}
footer .f_flexbox .fl_l .f_go li:last-child p{
    display: inline-block;
}
footer .f_flexbox .fl_l .f_go li p::before{
    position: absolute;
    display: inline-block;
    content: "";
    background: url("../images/f_train.svg")no-repeat center center;
    background-size: contain;
    width: 3.4em;
    height: 3.4em;
    line-height: 1em;
    top: 50%;
	transform: translateY(-50%);
    left: 0;
}
footer .f_flexbox .fl_l .f_go li:nth-child(2) p::before{
    background-image: url("../images/f_bas.svg");
}
footer .f_flexbox .fl_l .f_go li:last-child p::before{
    background-image: url("../images/f_car.svg");
    width: 3em;
    height:1.8em;
    top: 65%;
}
footer .f_flexbox .fl_r{
    width: 42.5%;
}
footer .f_flexbox .fl_r iframe{
    border-radius: 20px;
}
footer .f_flexbox .fl_r .btn{
    text-align: right;
    margin-top: .5em;
}
footer .f_flexbox .fl_r .btn a{
    position: relative;
    padding-right: 2em;
    box-sizing: border-box;
    font-weight: bold;
    color: #6f6767;
    letter-spacing: 0.3em;
}
footer .f_flexbox .fl_r .btn a::before{
    position: absolute;
	font-family: 'fontello';
	content: '\e801';	
	right: 0;
	font-size: 140%;
	top: 50%;
	transform: translateY(-50%);
    color: #ae874b;
}
footer .f_flexbox .fl_r .btn a:hover{
    color: #ae874b;
}

/*f_contact*/
footer .f_contact{
    position: relative;
    padding-bottom: 30px;
}
footer .f_contact::before{
    position: absolute;
    display: block;
    content: "";
    background: #fff6b4;
    background-size: 100% auto;
    width: 300%;
    height: calc(100% - 20px);
    bottom: 0;
    left: -100%;
}
footer .f_contact .f_contact_inbox{
    position: relative;
    z-index: 2;
    max-width: 1030px;
    margin: 0 auto;
}
footer .f_contact .ft_laca{
    font-size:300%;
    line-height: 1em;
    color: #f8b445;
    margin-bottom: 30px;
}
footer .f_contact ul{
    max-width: 650px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
footer .f_contact ul li{
    width: 58%;
}
footer .f_contact ul li:last-child{
    width: 39%;
	max-width: 240px;
}

/*f_bnr*/
footer .f_bnr{
    max-width: 1140px;
    margin: 60px auto 0;
    display: flex;
    justify-content: space-between;
}
footer .f_bnr li{
    width: 24.6%;
}

/*copyright*/
footer .copyright{
    text-align: center;
    color: #ada8a8;
    font-size: 85%;
    line-height: 1.5em;
    margin-top: 3em;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1300px) {
footer .f_flexbox .fl_l .f_timetable dd p{
    font-size: 88%;
    letter-spacing: normal;
}
footer .f_flexbox .fl_l .f_go li{
    font-size: 1.6vw;
    letter-spacing: normal;
}
/*
footer .f_flexbox .fl_l .f_go li p{
    padding-left: 3em;
}
*/
footer .f_flexbox .fl_l .f_go li p::before{
    width: 2.8em;
    height: 2.8em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
footer .bg1{
    padding: 13% 0 4%;
}

/*f_name*/
footer .f_name{
    margin-bottom: 8%;
}
footer .f_name dl dd{
    font-size:200%;
}
footer .f_name p{
    margin: 1.8em 0 .5em;
}

/*f_flexbox*/
footer .f_flexbox{
    margin-bottom: 8%;
}
footer .f_flexbox .fl_l .f_timetable{
    margin-bottom: 8%;
}
footer .f_flexbox .fl_l .f_timetable dd p{
    font-size: 88%;
    letter-spacing: normal;
}
footer .f_flexbox .fl_l .f_go li{
/*    width: 48.5%;*/
    font-size: 88%;
    letter-spacing: normal;
}
footer .f_flexbox .fl_l .f_go li p{
    padding-left: 3.5em;
}
footer .f_flexbox .fl_l .f_go li p::before{
    width: 3em;
    height: 3em;
}
footer .f_flexbox .fl_r iframe{
    height: 35vw;
}

/*f_contact*/
footer .f_contact{
    padding-bottom: 4%;
}
footer .f_contact::before{
    height: calc(100% - 3vw);
}
footer .f_contact .ft_laca{
    font-size: 280%;
    margin-bottom: 3%;
}

/*f_bnr*/
footer .f_bnr{
    margin: 8% auto 0;
}

/*copyright*/
footer .copyright{
    margin-top: 2em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
footer .bg1{
    padding: 15% 0 20vw;
}

/*f_name*/
footer .f_name{
    margin-bottom: 7%;
}
footer .f_name dl dt{
    font-size: 100%;
}
footer .f_name dl dd{
    font-size:150%;
	line-height: 1.2;
}
footer .f_name p{
    font-size:100%;
    margin: 1.3em 0 .1em;
}

/*f_flexbox*/
footer .f_flexbox{
    margin-bottom: 10%;
    display: block;
}
footer .f_flexbox .fl_l{
    width: 100%;
    margin-bottom: 8%;
}
footer .f_flexbox .fl_l .f_timetable{
	margin-top: 0;
    margin-bottom: 8%;
}
footer .f_flexbox .fl_l .f_timetable dt{
    margin-bottom: .8rem;
}
footer .f_flexbox .fl_l .f_timetable dd p{
    font-size: 88%;
    letter-spacing:normal;
}
footer .f_flexbox .fl_l .f_go li{
/*    width: 48%;*/
    font-size:88%;
    line-height: 1.5em;
}
footer .f_flexbox .fl_l .f_go li:last-child{
    margin-top: 1.3em;
    padding-top: 1.2em;
}
footer .f_flexbox .fl_l .f_go li p{
    padding-left:3.5em;
}
footer .f_flexbox .fl_l .f_go li p::before{
    width: 3em;
    height: 3em;
}
    
footer .f_flexbox .fl_r{
    width: 100%;
}
footer .f_flexbox .fl_r iframe{
   height: 70vw;
}
footer .f_flexbox .fl_r .btn{
    margin-top: .3em;
}
footer .f_flexbox .fl_r .btn a{
    letter-spacing: 0.2em;
}

/*f_contact*/
footer .f_contact{
    padding-bottom: 8%;
}
footer .f_contact::before{
    height: calc(100% - 5vw);
}
footer .f_contact .ft_laca{
    font-size: 250%;
    margin-bottom: 5%;
}
footer .f_contact ul{
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
}
footer .f_contact ul li{
    width: 90%;
}
footer .f_contact ul li:first-child{
    width: 90%;
    margin: 0 auto 4%;
}
footer .f_contact ul li:last-child{
    width: 60%;
    margin: 0 auto;
}

/*f_bnr*/
footer .f_bnr{
    margin: 8% auto 0;
    flex-wrap: wrap;
}
footer .f_bnr li{
    width: 49%;
    margin-bottom: 2%;
}

/*copyright*/
footer .copyright{
    margin-top: 1em;
}
}




/*スマホフッター
---------------------------------------------------------*/
@media only screen and (min-width: 768px) {
#sp_footer {display: none !important;}
}

#sp_footer {
	position: fixed;
	width: 100%;
	left: 0;
	bottom: 0;
	z-index: 400;
	background: #fff6b4;
	box-sizing: border-box;
	text-align: center;
}
#sp_footer img {
	display: block;
	margin: auto;
	width: 100%;
    height: 100%;
	max-height: 104px;
}
#sp_footer ul {
	display: flex;
    justify-content: space-between;
}
#sp_footer ul li{
	width: 32%;
    max-width: 198px;
	box-sizing: border-box;
}
#sp_footer ul li:nth-child(1){
	width: 68%;
    max-width: 100%;    
    background: #fff6b4;
	padding: 0 5%;
}
#sp_footer ul li:nth-child(2){
    background: #6f6157;
}



/* PC
------------------------------------------*/
@media only screen and (min-width: 960px)  {
.tb_only{display:none !important;}
.sp_only{display:none !important;}
.sp_tb{display:none !important;}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.pc_only{display:none !important;}
.sp_only{display:none !important;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.pc_only{display:none !important;}
.tb_only{display:none !important;}
.tb_pc{display:none !important;}
}