@charset "utf-8";
/* 2024/06/19wakisaka */

/* 更新日・公開日ここから */
.blog-day {
	text-align:right;
	margin-top:0px;
	margin-bottom:10px;
}
.blog-day p{
	font-size:14px;
	color:#555;
}
.blog-day p span{
	display:none;
}
@media screen and (min-width:780px) {
	.blog-day {
		display:flex;
		align-items:center;
		justify-content:flex-end;
		margin-top:-40px;
		margin-bottom:20px;
	}
	.blog-day p{
		font-size:16px;
	}
	.blog-day p span{
		display:inline-block;
	}
}
/* 更新日・公開日ここまで */




/* Theme Name: res */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');
html, body {
	font-size: 18px;
	line-height: 2;
	color: #6d4915;
	letter-spacing: .1em;
	font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
img {
	max-width: 100%;
	height: auto;
}
li {
	list-style: none;
}
a {
	color: inherit;
}
.txt_link {
	color: #a0d173;

}
:root {
	--guideline-color: #aaa;
}
a:hover {
	opacity: .85;
	transition: .3s;
}
.inner,.inner900,.inner1000,.inner1240,.inner1340,.inner1500
{
	max-width: calc(1200px + 10%);
	width: 100%;
	margin: 0 auto;
	padding: 0 5%;
}
.inner900 {
	max-width: calc(900px + 10%);
}
.inner1000 {
	max-width: calc(1000px + 10%);
}
.inner1240 {
	max-width: calc(1240px + 10%);
}
.inner1340 {
	max-width: calc(1340px + 10%);
}
.inner1500 {
	max-width: calc(1500px + 10%);
}
table{
	table-layout: fixed;
}
td input{
	max-width: 100%;
}
.map{
	position: relative;
	width: 100%;
	padding: 500px 0 0 0;
	overflow: hidden;
}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin-top: -150px;
	height: calc(100% + 150px);
}
a[href^="tel:"] {
	cursor: default;
}
a[href^="tel:"]:hover {
	opacity: 1;
}
.slick-slide {
	outline: none;
}
.tb_only {
	display: none;
}
.sp_only {
	display: none;
}
.tb_pc {
	display: inherit;
}
.sp_tb {
	display: none;
}
.flex {
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
.flex.start     { -webkit-justify-content: flex-start; justify-content: flex-start; }
.flex.end       { -webkit-justify-content: flex-end; justify-content: flex-end; }
.flex.center    { -webkit-justify-content: center; justify-content: center; }
.flex.around    { -webkit-justify-content: space-around; justify-content: space-around; }
.flex.between   { -webkit-justify-content: space-between; justify-content: space-between; }
.flex.stretch   { -webkit-align-items: stretch; align-items: stretch; }
.flex.ai_center { -webkit-align-items: center; align-items: center; }
.flex.ai_start  { -webkit-align-items: flex-start; align-items: flex-start; }
.flex.ai_end    { -webkit-align-items: flex-end; align-items: flex-end; }
.flex.nowrap    { -webkit-flex-wrap: nowrap; flex-wrap: nowrap; }
.flex.column    { -ms-flex-direction:column; -webkit-flex-direction:column; flex-direction:column; }
.flex.row       { -ms-flex-direction:row; -webkit-flex-direction:row; flex-direction:row; }
.flex.c_reverse { -ms-flex-direction:column-reverse; -webkit-flex-direction:column-reverse; flex-direction:column-reverse; }
.flex.r_reverse { -ms-flex-direction:row-reverse; -webkit-flex-direction:row-reverse; flex-direction:row-reverse; }
.noshrink       { flex: 0 0 auto; }
.grow           { flex: 1 1 auto; }

.txt_center { text-align: center; }
.txt_right { text-align: right; }

.mgn_a {
	margin-left: auto;
	margin-right: auto;
}
.mgn_l { margin-left: auto; }
.mgn_r { margin-right: auto; }
.no_mgn { margin-bottom: 0!important;}
.mb5    { margin-bottom:  5px; }
.mb10   { margin-bottom: 10px; }
.mb15   { margin-bottom: 15px; }
.mb20   { margin-bottom: 20px; }
.mb25   { margin-bottom: 25px; }
.mb30   { margin-bottom: 30px; }
.mb35   { margin-bottom: 35px; }
.mb40   { margin-bottom: 40px; }
.mb45   { margin-bottom: 45px; }
.mb50   { margin-bottom: 50px; }
.mb55   { margin-bottom: 55px; }
.mb60   { margin-bottom: 60px; }
.mb65   { margin-bottom: 65px; }
.mb70   { margin-bottom: 70px; }
.mb75   { margin-bottom: 75px; }
.mb80   { margin-bottom: 80px; }
.mb85   { margin-bottom: 85px; }
.mb90   { margin-bottom: 90px; }
.mb95   { margin-bottom: 95px; }
.mb100  { margin-bottom:100px; }
.mb105  { margin-bottom:105px; }
.mb110  { margin-bottom:110px; }
.mb115  { margin-bottom:115px; }
.mb120  { margin-bottom:120px; }
.mb125  { margin-bottom:125px; }
.mb130  { margin-bottom:130px; }
.mb135  { margin-bottom:135px; }
.mb140  { margin-bottom:140px; }
.mb145  { margin-bottom:145px; }
.mb150  { margin-bottom:150px; }
.mb160  { margin-bottom:160px; }
.mb180  { margin-bottom:180px; }
.mb05em { margin-bottom:0.5em; }
.mb10em { margin-bottom:1.0em; }
.mb15em { margin-bottom:1.5em; }
.mb20em { margin-bottom:2.0em; }
.mb25em { margin-bottom:2.5em; }
.mb30em { margin-bottom:3.0em; }
@media(min-width: 768px) {
	a[href^="tel:"] {
		pointer-events: none;
	}
	.slick-slide img,
	#sb_instagram .sbi_photo_wrap
	{
		backface-visibility: hidden;
		-webkit-backface-visibility: hidden;
	}
}
.txt_white { color: #fff!important; }
.bg_white { background-color: #fff!important; }
.shadow_w {
	text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 10px #fff, 0px 0px 10px #fff, 0px 0px 15px #fff, 0px 0px 15px #fff;
}

.vdl_m {
	font-family: vdl-v7gothic,sans-serif;
	font-weight: 500;
	font-style: normal;
}
.vdl_b {
	font-family: vdl-v7gothic,sans-serif;
	font-weight: 700;
	font-style: normal;
}
.abk {
	font-family: ab-kirigirisu,sans-serif;
	font-weight: 400;
	font-style: normal;
}
.ron {
	font-family: ronde-b,sans-serif;
	font-weight: 400;
	font-style: normal;
}
.txt_col01 {color: #00B2D6!important;}
.txt_col02 {color: #6D4915!important;}
.txt_col03 {color: #8AD0DC!important;}
.txt_col04 {color: #A0D173!important;}
.txt_col05 {color: #C18FBE!important;}
.txt_col06 {color: #D0ECF1!important;}
.txt_col07 {color: #E8F6F8!important;}
.txt_col08 {color: #F08200!important;}
.txt_col09 {color: #F19CA6!important;}
.txt_col10 {color: #F5AE8F!important;}
.txt_col11 {color: #FEDC2A!important;}
.txt_col12 {color: #FFF8D4!important;}
.txt_col13 {color: #06c755!important;}
.txt_col14 {color: #00b2d6!important;}
.txt_col15 {color: #f08200!important;}
.txt_col16 {color: #f18b11!important;}
.bg_col01 {background-color: #00B2D6!important;}
.bg_col02 {background-color: #6D4915!important;}
.bg_col03 {background-color: #8AD0DC!important;}
.bg_col04 {background-color: #A0D173!important;}
.bg_col05 {background-color: #C18FBE!important;}
.bg_col06 {background-color: #D0ECF1!important;}
.bg_col07 {background-color: #E8F6F8!important;}
.bg_col08 {background-color: #F08200!important;}
.bg_col09 {background-color: #F19CA6!important;}
.bg_col10 {background-color: #F5AE8F!important;}
.bg_col11 {background-color: #FEDC2A!important;}
.bg_col12 {background-color: #FFF8D4!important;}
.bg_col13 {background-color: #06c755!important;}
.bg_col14 {background-color: #00b2d6!important;}
.bg_col15 {background-color: #f08200!important;}
.bg_col16 {background-color: #f18b11!important;}

em { font-style: normal; }
@media(min-width: 768px) and (max-width:960px) {
	.pc_only {
		display: none;
	}
	.tb_only {
		display: inherit;
	}
	.sp_only {
		display: none;
	}
	.tb_pc {
		display: inherit;
	}
	.sp_tb {
		display: inherit;
	}
}
@media(max-width: 767px) {
	html, body {
		font-size: 4.27vw;
		letter-spacing: 0;
	}
	.inner,.inner900,.inner1000,.inner1240,.inner1340,.inner1500 {
		padding: 0 3.2vw;
	}
	.pc_only {
		display: none;
	}
	.tb_only {
		display: none;
	}
	.sp_only {
		display: inherit;
	}
	.tb_pc {
		display: none;
	}
	.sp_tb {
		display: inherit;
	}
	.map {
		padding-top: calc(500 / 750 * 100vw);
	}

	.mb5   { margin-bottom: calc( 5  / 750 * 100vw); }
	.mb10  { margin-bottom: calc( 10 / 750 * 100vw); }
	.mb15  { margin-bottom: calc( 15 / 750 * 100vw); }
	.mb20  { margin-bottom: calc( 20 / 750 * 100vw); }
	.mb25  { margin-bottom: calc( 25 / 750 * 100vw); }
	.mb30  { margin-bottom: calc( 30 / 750 * 100vw); }
	.mb35  { margin-bottom: calc( 35 / 750 * 100vw); }
	.mb40  { margin-bottom: calc( 40 / 750 * 100vw); }
	.mb45  { margin-bottom: calc( 45 / 750 * 100vw); }
	.mb50  { margin-bottom: calc( 50 / 750 * 100vw); }
	.mb55  { margin-bottom: calc( 55 / 750 * 100vw); }
	.mb60  { margin-bottom: calc( 60 / 750 * 100vw); }
	.mb65  { margin-bottom: calc( 65 / 750 * 100vw); }
	.mb70  { margin-bottom: calc( 70 / 750 * 100vw); }
	.mb75  { margin-bottom: calc( 75 / 750 * 100vw); }
	.mb80  { margin-bottom: calc( 80 / 750 * 100vw); }
	.mb85  { margin-bottom: calc( 85 / 750 * 100vw); }
	.mb90  { margin-bottom: calc( 90 / 750 * 100vw); }
	.mb95  { margin-bottom: calc( 95 / 750 * 100vw); }
	.mb100 { margin-bottom:calc(100 / 750 * 100vw); }
	.mb105 { margin-bottom:calc(105 / 750 * 100vw); }
	.mb110 { margin-bottom:calc(110 / 750 * 100vw); }
	.mb115 { margin-bottom:calc(115 / 750 * 100vw); }
	.mb120 { margin-bottom:calc(120 / 750 * 100vw); }
	.mb125 { margin-bottom:calc(125 / 750 * 100vw); }
	.mb130 { margin-bottom:calc(130 / 750 * 100vw); }
	.mb135 { margin-bottom:calc(135 / 750 * 100vw); }
	.mb140 { margin-bottom:calc(140 / 750 * 100vw); }
	.mb145 { margin-bottom:calc(145 / 750 * 100vw); }
	.mb150 { margin-bottom:calc(150 / 750 * 100vw); }
	.mb160 { margin-bottom:calc(160 / 750 * 100vw); }
	.mb180 { margin-bottom:calc(180 / 750 * 100vw); }
	.txt_width {
		max-width: calc(646 / 750*100vw);
		margin-left: auto;
		margin-right: auto;
	}
}


/* ヘッダー header
------------------------------------------------------------------*/
#wrap {
	overflow: hidden;
}
header {
	position: relative;
	z-index: 10;
}
h1 {
	position: absolute;
	top: 50px;
	left: 0;
	right: 0;
	margin: auto;
	width: 400px;
}
.row_head01 {
	position: absolute;
	padding:15px 30px 0 23px;
	width: 100%;
	z-index: 100;
}
.row_head01 .col_r {
	margin-top: 15px;
}
.address_head span{
	position: relative;
	padding-left: 25px;
}
.address_head span:before {
	position: absolute;
	content: "";
	background: url("images/page/icn_map.svg") no-repeat left center / cover;
	width: 20px;
	height: 20px;
	left: 0;
	bottom:0;
	top: 0;
	margin: auto;
}
.tel_head span {
	position: relative;
	padding-left: 40px;
	font-size: 202.77%;
	letter-spacing: -.02em;
	line-height: 1.5;
}
.tel_head span:before {
	position: absolute;
	content: "";
	background: url("images/page/icn_tel.svg") no-repeat left center / cover;
	width: 30px;
	height: 30px;
	left: 0;
	bottom:0;
	top: 0;
	margin: auto;
}
.web_head {
	margin-right: 20px;
}

.web_head small {
	font-size: 66.67%;
	letter-spacing: .1em;
}
.web_head, .line_head{
	width: 180px;
}
.web_head a, .line_head a{
	width: 100%;
	height: 70px;
	border-radius: 35px;
	position: relative;
}
.web_head span {
	padding: 0 0 0 30px;
	position: relative;
	line-height: 1.2;
}
.line_head span {
	padding: 0 0 0 15px;
	position: relative;
}
.web_head a:before, .line_head a:before{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 5px;
	border-color: transparent transparent transparent #fff;
	right: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.web_head span:before {
	position: absolute;
	content: "";
	background: url("images/page/icn_web.svg") no-repeat left center / cover;
	width: 30px;
	height: 30px;
    left: -8px;
	bottom:0;
	top: 0;
	margin: auto;
}
.line_head span:before {
	position: absolute;
	content: "";
	background: url("images/page/icn_line.svg") no-repeat left center / cover;
	width: 20px;
	height: 20px;
	left: -15px;
	bottom:0;
	top: 0;
	margin: auto;
}

@media(min-width: 768px) and (max-width:1499px) {
	h1 {
		width: 380px;
	}
}
@media(min-width: 768px) and (max-width:1299px) {
	h1 {
		width: 330px;
		top: 95px;
	}
	.tel_head span {
		font-size: 188.88%;
	}
	.web_head, .line_head {
		width: 170px;
	}
	.web_head a, .line_head a {
		height: 60px;
	}
	.web_head a:before, .line_head a:before {
		right: 13px;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.row_head01 .col_r {
		display: block;
	}
	.web_head {
		margin-bottom: 10px;
		margin-right: 0;
	}
	.tel_head span {
		font-size: 166.66%;
	}
	.web_head a, .line_head a {
		height: 50px;
	}
	h1 {
		width: 250px;
		top: 100px;
	}
	.web_head span {
		font-size: 88.89%;
	}
}
@media(max-width: 767px) {
	.row_head01{
		display: none;
	}
	h1 {
		width: calc(542 / 750*100vw);
		height: calc(55 / 750*100vw);
		top: 2vw;
    	left: 4vw;
		right: auto;
	}
}


/* メインイメージ main_img
------------------------------------------------------------------*/
.main_img {
	position: relative;
}
.main_img:before{
	position: absolute;
	content: "";
	background: url("images/index/main_frame01.svg") no-repeat left top / auto;
	width: 100%;
	height: 100%;
	left: 0;
	top:0;
	z-index: 1;
}
.main_img:after{
	position: absolute;
	content: "";
	background: url("images/index/main_deco01.svg") no-repeat left top / auto;
	width: 100%;
	height: 100%;
	left: 0;
	bottom:0;
	top: 0;
	margin: auto;
	z-index: 2;
}
.main_img .slide_main {
	opacity: 0;
}
.main_img .slide_main li {
	min-height: 900px;
	height: 100vh;
}
.main_img.tab .slide_main li {
	height: auto;
}
.main01 {
	background: url(images/index/main01.jpg)no-repeat left center / cover;
}
.main02 {
	background: url(images/index/main02.jpg)no-repeat right center / cover;
}
.main03 {
	background: url(images/index/main03.jpg)no-repeat right center / cover;
}
.main_img .slick-slide .sp_only {
	display: none !important;
}
.wrap_main01 {
	position: absolute;
	width: 490px;
	z-index: 1;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 13.2%;
}
.bnr_main01 {
	position: absolute;
	width: 270px;
	z-index: 100;
	bottom: 60px;
    left: 60px;
}
.bnr_main01 a {
	display: block;
	padding: 10px;
	height: 170px;
	width: 100%;
	background: url("images/index/deco_main01.png")no-repeat center / cover;
}
.bnr_main01 .wrap {
	position: relative;
	border: dashed 2px #fff;
	height: 150px;
	align-content: center;
}
.bnr_main01 .wrap:before{
	content: "";
    position: absolute;
    border-left: 12px solid #fff;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    bottom: -10px;
    right: -4px;
    width: 0;
    height: 0;
    transform: rotate(45deg);
}
.bnr_main01 .ja {
	line-height: 1.4;
    font-size: 147.22%;
    letter-spacing: 0;
}
.bnr_main01 .en {
	font-size: 88.89%;
    letter-spacing: 0;
}
.row_main01 {
	position: absolute;
	right: 60px;
	bottom: 60px;
	z-index: 100;
}
.row_main01 .col {
	width: 181px;
  	height: 181px;
	border-radius: 50%;
	padding: 10px;
	position: relative;
}
.row_main01 .col .wrap{
	border: dashed 2px #fff;
	border-radius: 50%;
	height: 100%;
	width: 100%;
}
.row_main01 .col_l {
	margin-right: 18px;
}
.row_main01 .col:before {
	position: absolute;
	content: "";
	background: url("images/index/icn_main01.png") no-repeat left center / cover;
	width: 59px;
	height: 61px;
	left: 0;
	right: 0;
	top: -20px;
	margin: auto;
}
.row_main01 .col_r:before {
	background: url("images/index/icn_main02.png") no-repeat left center / cover;
	width: 45px;
	height: 62px;
}
.row_main01 .col p {
	line-height: 1.5;
	font-size: 111.11%;
}
@media(min-width: 768px) and (max-width:1499px) {
	.wrap_main01 {
		width: 430px;
		bottom: 23.2%;
	}
	.main_img:before {
		top: -60px;
	}
}
@media(min-width: 768px) and (max-width:1299px) {
	.wrap_main01 {
		width: 390px;
    	bottom: 28.2%;
	}
	.bnr_main01 {
		width: 240px;
	}
	.bnr_main01 a {
		height: 150px;
	}
	.bnr_main01 .wrap {
		height: 130px;
	}
	.bnr_main01 .ja {
		font-size: 133.33%;
	}
	.row_main01 .col {
		width: 160px;
    	height: 160px;
	}
	.main_img:after {
		background: url(images/index/main_deco01.svg) no-repeat left top / 40% auto;
	}
	.main01 {
    	background: url(images/index/main01.jpg)no-repeat left center / cover;
	}
	.main02 {
		background: url(images/index/main02.jpg)no-repeat right -100px center / cover;
	}
	.main03 {
    	background: url(images/index/main03.jpg)no-repeat right -100px center / cover;
	}
	.main_img:before {
		top: -60px;
	}
}
@media(min-width: 768px) and (max-width:1100px){
	.wrap_main01 {
		width: 330px;
    	bottom: 32.2%;
	}
	h1 {
		width: 280px;
    	top: 95px;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.main_img:before {
		top: -70px;
	}
	.main_img:after {
		background: url(images/index/main_deco01.svg) no-repeat left top / 40% auto;
	}
	.main02 {
		background: url(images/index/main02.jpg)no-repeat right center / cover;
	}
	.main03 {
    	background: url(images/index/main03.jpg)no-repeat right center / cover;
	}
	.wrap_main01 {
		width: 310px;
    	bottom: 36.2%;
	}
	.bnr_main01 {
		width: 240px;
	}
	.bnr_main01 a {
		height: 130px;
	}
	.bnr_main01 .wrap {
		height: 110px;
	}
	.bnr_main01 .ja {
		font-size: 122.22%;
	}
	.row_main01 .col {
		width: 150px;
    	height: 150px;
	}
	.row_main01 .col p {
		font-size: 100%;
	}
}
@media only screen and (max-width: 767px) {
	.main_img .slide_main li {
		min-height: auto;
		height: auto;
	}
	.main01, .main02 {
		background: none;
	}
	.main_img .slick-slide .sp_only {
		display: inherit!important;
	}
	.main_img .slick-slide .tb_pc {
		display: none !important;
	}
	.main_img:before {
		background: url(images/index/main_frame01_sp.svg) no-repeat left top / cover;
		width: calc(750 / 750*100vw);
		height: calc(176 / 750*100vw);
	}
	.wrap_main01 {
		width: calc(490 / 750*100vw);
		bottom: 66vw;
	}
	.main_img:after {
		width: calc(400 / 750*100vw);
		height: calc(240 / 750*100vw);
		background-size: cover;
		bottom: auto;
	}
	.row_main01 {
		right: 14vw;
    	bottom: 27vw;
		z-index: 1;
	}
	.row_main01 .col {
		width: calc(251 / 750*100vw);
    	height: calc(251 / 750*100vw);
		padding: 2vw;
	}
	.row_main01 .col_l {
		margin-right: 5vw;
	}
	.row_main01 .col:before {
		width: calc(60 / 750*100vw);
    	height: calc(60 / 750*100vw);
		top: -3vw;
	}
	.row_main01 .col_r:before {
		width: calc(45 / 750*100vw);
    	height: calc(62 / 750*100vw);
	}
	.row_main01 .col p {
		font-size: 100%;
	}
	.bnr_main01 {
		position: relative;
		width: 100%;
		z-index: 1;
		bottom: auto;
    	left: auto;
	}
	.bnr_main01 a {
		height: calc(170 / 750*100vw);
		padding: calc(10 / 750*100vw);
	}
	.bnr_main01 .ja {
		font-size: 131.25%;
		width: 100%;
	}
	.bnr_main01 .en {
		font-size: 87.5%;
		width: 100%;
		line-height: 1;
	}
	.bnr_main01 .wrap {
		height: calc(150 / 750*100vw);
	}
	.bnr_main01 .wrap:before {
		border-left: calc(18 / 750*100vw) solid #fff;
		border-top: calc(18 / 750*100vw) solid transparent;
		border-bottom: calc(18 / 750*100vw) solid transparent;
		bottom: -2vw;
    	right: -1vw;
	}

}

/* グローバルナビゲーション gnav
------------------------------------------------------------------*/
.gnav {
	transition: .3s;
	width: 100%;
	padding: 20px 3% 30px;
	background: #fff;
	position: relative;
	z-index: 2;
}
/*.gnav.is_fixed {
	position: fixed;
	left: 0;
	z-index: 10;
	transition: .3s;
}*/
.fix_nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	transition: .5s;
	width: 100%;
	transform: translateY(-100%);
	opacity: 0;
	background: rgba(255,255,255,.9);
}
.fix_nav.is_fixed  {
	transition: .5s;
	transform: translateY(0);
	opacity: 1;
	z-index: 10;
	padding-right: 10px;
}
.fix_nav .gnav {
	width: calc(100% - 380px)
}
.fix_nav .web_head a, .fix_nav .line_head a {
	height: 50px;
}
.row_fix_nav {
	max-width: 380px;
	padding-top: 20px;
}
.gnav > ul {
	max-width: 1000px;
}
.gnav > ul > li {
	position: relative;
}
.gnav .nav_sub {
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
}
.gnav > ul > li > a > .ja {
	display: block;
    line-height: 1;
    letter-spacing: .1em;
    margin-bottom: 10px;
}
.gnav > ul > li > a > .icn {
	margin-bottom: 17px;
}
.gnav > ul > li > a {
	position: relative;
    height: 120px;
    padding: 0 0 2px;
}
.gnav > ul > li > a:hover:after, .gnav > ul > li > a.active:after {
	opacity: 1;
    transition: .3s;
}
.gnav > ul > li > a:after {
	content: "";
    position: absolute;
	background: url("images/index/deco_nav01.svg") no-repeat left center / cover;
	width: 16px;
	height: 16px;
    right: 0;
    left: 0;
    bottom: 5px;
    margin: auto;
	opacity: 0;
	transition: .3s;
}
.gnav > ul > li:nth-child(2) > a:after {
	background: url("images/index/deco_nav02.svg") no-repeat left center / cover;
}
.gnav > ul > li:nth-child(3) > a:after {
	background: url("images/index/deco_nav03.svg") no-repeat left center / cover;
}
.gnav > ul > li:nth-child(4) > a:after {
	background: url("images/index/deco_nav04.svg") no-repeat left center / cover;
}
.gnav > ul > li:nth-child(5) > a:after {
	background: url("images/index/deco_nav05.svg") no-repeat left center / cover;
}
.gnav > ul > li:nth-child(6) > a:after {
	background: url("images/index/deco_nav06.svg") no-repeat left center / cover;
}
@media(min-width: 768px) and (max-width:1299px) {
	.fix_nav .gnav {
		width: 100%;
    	order: 1;
	}
	.fix_nav>.flex {
		padding-top: 10px;
	}
	.fix_nav .row_fix_nav {
		max-width: 100%;
		width: 100%;
		padding-top: 0;
		justify-content: flex-end
	}
	.fix_nav .line_head {
		margin-right: 20px;
	}
	.fix_nav .gnav > ul > li > a > .icn {
		margin-bottom: 10px;
	}
	.fix_nav .gnav > ul > li > a {
		height: 110px;
	}
	.fix_nav .gnav > ul > li > a:after {
		bottom: 9px;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.gnav > ul > li > a > .ja {
		font-size: 88.89%;
	}
	.fix_nav .web_head {
		margin-right: 20px;
		margin-bottom: 0;
	}
	.fix_nav .line_head span {
		font-size: 88.89%;
	}
	.fix_nav .web_head a, .fix_nav .line_head a {
		height: 50px;
	}
}
@media only screen and (max-width: 767px) {
	.gnav {
		display: none;
	}
	.btn_gnav_sp {
		position: fixed;
		top: 2vw;
		right: 3.2vw;
		height: calc(100 / 750 * 100vw);
		width: calc(100 / 750 * 100vw);
		background: #f08200;
		z-index: 10000;
		outline: none;
		border-radius: calc(10 / 750*100vw);
	}
	.btn_gnav_sp .txt_gnav {
		position: absolute;
		width: calc(60 / 750 * 100vw);
		right: 0;
		left: 0;
		bottom: 0;
		margin: auto;
	}
	.btn_gnav_sp .icn_gnav {
		width: calc(40 / 750 * 100vw);
		height: 2px;
		position: absolute;
		top: -3.5vw;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		background: #fff;
		transition: transform .3s ease-in-out;
	}
	.btn_gnav_sp .icn_gnav:before, .btn_gnav_sp .icn_gnav:after {
		content: "";
		width: 100%;
		height: 2px;
		position: absolute;
		left: 0;
		background: #fff;
		transition: transform .3s ease-in-out;
	}
	.btn_gnav_sp .icn_gnav:before {
		top: -1.5vw;
	}
	.btn_gnav_sp .icn_gnav:after {
		bottom: -1.5vw;
	}
	.open .btn_gnav_sp .icn_gnav {
		background: none;
	}
	.open .btn_gnav_sp .icn_gnav:before, .open .btn_gnav_sp .icn_gnav:after {
		background: #fff;
		transition: transform .3s ease-in-out;
	}
	.open .btn_gnav_sp .icn_gnav:before {
		transform: rotate(45deg);
		top: 0;
	}
	.open .btn_gnav_sp .icn_gnav:after {
		transform: rotate(-45deg);
		bottom: 0;
	}
	.gnav_sp {
		padding: 19vw 0 0;
		overflow-y: auto;
		overflow-x: hidden;
		background: rgba(255,255,255,.9);
		position: fixed;
		top: 0;
		right: 0;
		z-index: 9999;
		height: 100%;
		visibility: hidden;
		opacity: 0;
		width: 80%;
		transition: opacity .6s ease, visibility .6s ease;
		line-height: 1.45;
	}
	.bg_gnav {
		visibility: hidden;
		transition: .3s;
		opacity: 0;
	}
	.open .bg_gnav {
		width: 100%;
		height: 100%;
		position: fixed;
		z-index: 9998;
		background: rgba(0,0,0,0);
		visibility: visible;
		opacity: 1;
		transition: .3s;
		left: 0;
		top: 0;
	}
	.gnav_sp .nav_main {
		padding-bottom: 20vw;
	}
	.gnav_sp .nav_main > ul {
		padding: 0 3vw;
		display: block;
	}
	.gnav_sp .nav_main > ul > li {
		opacity: 0;
		transform: translateX(50%);
		transition: transform .6s ease, opacity .2s ease;
	}
	.gnav_sp .nav_main > ul > li:first-child {
		border-top: 1px dotted rgba(109, 73, 21, 0.3);
	}
	.gnav_sp .nav_main > ul > li.nav_drawer {
		padding-bottom: 2.5vw;
		border-bottom: 1px dotted rgba(109, 73, 21, 0.3);
	}
	.gnav_sp .nav_main > ul > li > a {
		padding: 3.5vw 4vw 3.5vw 0;
		border-bottom: 1px dotted rgba(109, 73, 21, 0.3);
		display:-webkit-box;/*--- Androidブラウザ用 ---*/
		display:-ms-flexbox;/*--- IE10 ---*/
		display: -webkit-flex;/*--- safari（PC）用 ---*/
		display:flex;
		-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
		-ms-flex-pack:justify;/*--- IE10 ---*/
		-webkit-justify-content:flex-start;/*--- safari（PC）用 ---*/
		justify-content:flex-start;
		-webkit-flex-wrap: wrap; /* Safari */
		flex-wrap: wrap;
		-ms-align-items: center;
		align-items: center;
		position: relative;
		letter-spacing: 0;
		flex-direction: row;
	}
	.gnav_sp .nav_main > ul > li.nav_drawer > a {
		border-bottom: none;
	}
	.gnav_sp .nav_main > ul > li:nth-child(1) > a:after {
		border-left-color: #8ad0dc;
	}
	.gnav_sp .nav_main > ul > li:nth-child(2) > a:after {
		border-left-color: #a0d173;
	}
	.gnav_sp .nav_main > ul > li:nth-child(3) > a:after {
		border-left-color: #f5ae8f;
	}
	.gnav_sp .nav_main > ul > li:nth-child(4) > a:after {
		border-left-color: #c18fbe;
	}
	.gnav_sp .nav_main > ul > li:nth-child(5) > a:after {
		border-left-color: #fedc2a;
	}
	.gnav_sp .nav_main > ul > li:nth-child(6) > a:after {
		border-left-color: #f19ca6;
	}
	.gnav_sp .nav_main > ul > li:nth-child(7) > a:after {
		border-left-color: #f79427;
	}
	.gnav_sp .nav_main > ul > li .icn {
		margin-right: 0;
		margin-left: 0;
	}
	.gnav_sp .nav_main > ul > li .icn img {
		margin-bottom: 2vw;
	}
	.gnav_sp .nav_main > ul > li:nth-child(1) .icn {
		width: calc(40 / 750*100vw);
		height: calc(38 / 750*100vw);
	}
	.gnav_sp .nav_main > ul > li:nth-child(2) .icn {
		width: calc(40 / 750*100vw);
		height: calc(33 / 750*100vw);
	}
	.gnav_sp .nav_main > ul > li:nth-child(3) .icn {
		width: calc(41 / 750*100vw);
		height: calc(32 / 750*100vw);
	}
	.gnav_sp .nav_main > ul > li:nth-child(4) .icn {
		width: calc(40 / 750*100vw);
		height: calc(40 / 750*100vw);
	}
	.gnav_sp .nav_main > ul > li:nth-child(5) .icn {
		width: calc(37 / 750*100vw);
		height: calc(41 / 750*100vw);
	}
	.gnav_sp .nav_main > ul > li:nth-child(6) .icn {
		width: calc(37 / 750*100vw);
		height: calc(41 / 750*100vw);
	}
	.gnav_sp .nav_main > ul > li:nth-child(7) .icn {
		width: calc(38 / 750*100vw);
		height: calc(41 / 750*100vw);
	}
	.gnav_sp .nav_main > ul > li > a:after {
		content: "";
		position: absolute;
		right: 0;
		top: 1vw;
		bottom: 0;
		width: 0;
		height: 0;
		border-left: calc(16 / 750 * 100vw) solid #333;
		border-top: calc(12 / 750 * 100vw) solid transparent;
		border-bottom: calc(12 / 750 * 100vw) solid transparent;
		margin: auto;
	}
	.gnav_sp .nav_main > ul > li.nav_drawer > a:after {
		transform: rotate(90deg);
	}
	.gnav_sp .nav_main > ul > li.nav_drawer > a.open:after {
		transform: rotate(-90deg);
	}
	.gnav_sp .nav_main > ul > li > a .ja {
		margin-left: 3vw;
	}
	.gnav_sp .nav_main > ul > li > a .en {
		font-size: 62.5%;
		letter-spacing: .1em;
		margin-top: 1vw;
	}
	.gnav_sp .nav_sub {
		background: rgba(51,51,51,.9);
		padding: 5.5vw 8vw 7.5vw;
		/*display: none;*/ /* クリックで開閉させる場合はコメント解除 */
	}
	.gnav_sp .nav_sub li {
		opacity: 0;
		transform: translateX(50%);
		transition: transform .6s ease, opacity .2s ease;
	}
	.gnav_sp .nav_sub li:not(:last-child) {
		margin-bottom: 2.5vw;
	}
	.gnav_sp .nav_sub a {
		padding: 1vw 6vw 1vw;
		display: block;
		position: relative;
		color: #fff;
	}
	.gnav_sp .nav_sub a:after {
		content: "";
		position: absolute;
		left: 0;
		top: 1vw;
		bottom: 0;
		width: 0;
		height: 0;
		border-left: calc(16 / 750 * 100vw) solid #fff;
		border-top: calc(12 / 750 * 100vw) solid transparent;
		border-bottom: calc(12 / 750 * 100vw) solid transparent;
		margin: auto;
	}
	.open .gnav_sp {
		visibility: visible;
		opacity: 1;
	}
	.open .gnav_sp .nav_main > ul > li, .open .gnav_sp .nav_sub li {
		opacity: 1;
		transform: translateX(0);
		transition: transform 1s ease, opacity .9s ease;
	}
	.row_fix_nav {
		display: none;
	}
}



/* コピペ用 copy&paste
------------------------------------------------------------------*/
.index_orthodontic {
	padding: 80px 0 100px;
	position: relative;
	z-index:0;
}
.index_orthodontic .deco01 {
	position: absolute;
	z-index: -1;
	top: -152px;
	left: 0;
}
.index_orthodontic .deco02 {
	position: absolute;
	z-index: -1;
	bottom: 0;
	right: 0;
}
.wrap_index_orthodontic01 .copy{
	font-size: 222.22%;
	line-height: 1.5;
	letter-spacing: .1em;
}
@media(min-width: 768px) and (max-width:1699px) {
	.index_orthodontic .deco01 {
		width: 400px;
	}
	.index_orthodontic .deco02 {
		width: 400px;
	}
}
@media(min-width: 768px) and (max-width:1299px) {
	.index_orthodontic .deco01 {
		width: 300px;
	}
	.index_orthodontic .deco02 {
		width: 300px;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.wrap_index_orthodontic01 .copy {
		font-size: 188.88%;
	}
	.wrap_index_orthodontic01 .bnr {
		max-width: 640px;
	}
}
@media(max-width: 767px) {
	.index_orthodontic {
		padding: 13vw 0 14vw;
		position: relative;
		z-index: -1;
	}
	.index_orthodontic .deco01 {
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		width: calc(300 / 750*100vw);
	}
	.index_orthodontic .deco02 {
		position: absolute;
		z-index: -1;
		bottom: 0;
		right: 0;
		width: calc(302 / 750*100vw);
	}
	.index_orthodontic .en {
		width: calc(319 / 750*100vw);
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 6vw;
	}
	.wrap_index_orthodontic01 .copy{
		font-size: 156.25%;
		margin-bottom: 3vw;
		line-height: 1.6;
		letter-spacing: 0;
	}
	.wrap_index_orthodontic01 .txt {
		margin-bottom: 4vw;
	}
	.wrap_index_orthodontic01 .bnr {
		max-width: calc(700 / 750*100vw);
	}
}


/* 新着情報 index_news
------------------------------------------------------------------*/

.box_index_news01 {
	padding: 35px 5% 50px;
	border-radius: 20px;
	position: relative;
}
.box_index_news01 .icn{
	position: absolute;
	right: 9%;
	bottom: -34%;
	z-index: 1;
}
.huwa {
	animation: Float 4s ease-in-out infinite alternate;
}
@media all and (-ms-high-contrast: none) {
	.huwa {
	animation: none;
}
}
@keyframes Float {
	0% { transform: translate3d(0, 1vw ,0); }
	48% { transform: translate3d(0, 0 ,0); }
	100% { transform: translate3d(0, 1vw ,0); }
}
.box_index_news01:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_news02.svg") no-repeat left center / cover;
	width: 120px;
	height: 50px;
	right: 20%;
	bottom: -15%;
}
.ttl_index_news01 {
	font-size: 222.22%;
	line-height: 1;
	letter-spacing: .1em;
}
/* ※パーフェクトスクロールバー用基本css ここからデザインに合わせて適宜変更してください */


.index_news ul {
	overflow: hidden;
	position: relative;
	padding-right: 20px;
	max-height: 170px;
	height: auto;
	touch-action: auto !important;
	line-height: 1.75;
	max-width: 1240px;
	margin-right: auto;
	margin-left: auto;
}

.index_news li:not(:last-of-type) {
	margin-bottom: 20px;
}
.index_news li dt {
	font-size: 88.89%;
	width: 100px;
}
.index_news li dd {
	width: calc(100% - 140px);
}
.index_news li dd a {
	color: #a0d173; /* コーダーさんへに記載されている★標準テキスト：リンク色に変更*/
}
/* パーフェクトスクロールバー */
.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
	background: #f08200 !important;
	right: 0px !important;
	width: 4px !important;
}
.ps-container > .ps-scrollbar-y-rail {
	background: none !important;
	right: 0px !important;
	width: 4px !important;
	opacity: 1;
}
.ps-container:hover>.ps-scrollbar-y-rail {
	opacity: 1;
}
@media(min-width: 768px) and (max-width:1299px){
	.box_index_news01:after {
		right: 26%;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.index_news li dd {
		width: calc(100% - 130px);
	}
	.ttl_index_news01 {
		font-size: 211.11%;
	}
	.box_index_news01:after {
		right: 26%;
	}
}
@media(max-width: 767px) {

	.index_news ul {
		max-height: calc(500 / 750 * 100vw);
	}
	.index_news li:not(:last-of-type) {
		margin-bottom: 4vw;
	}
	.index_news li dl {
		display: block;
	}
	.index_news li dt {
		width: 100%;
		font-size:100%;
	}
	.index_news li dd {
		width: 100%;
		line-height: 2;
	}
	.ttl_index_news01 {
		font-size: 187.5%;
		margin-bottom: 5vw;
	}
	.box_index_news01 {
		padding: 6vw 5vw 13vw;
    	border-radius: calc(20 / 750*100vw);
	}
	.box_index_news01:after {
		width: calc(120 / 750*100vw);
    	height: calc(50 / 750*100vw);
		right: 39vw;
    	bottom: -6vw;
	}
	.box_index_news01 .icn {
		width: calc(115 / 750*100vw);
    	height: calc(130 / 750*100vw);
		right: 18vw;
    	bottom: -10vw;
	}
}


/* コロナ corona
------------------------------------------------------------------*/
.index_corona {
	position: relative;
	padding-bottom: 235px;
	background: url("images/index/frame01.svg") no-repeat center bottom / auto;
}
.index_corona:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature02.svg") no-repeat center / auto;
	width:482px;
	height: 600px;
	right: 30px;
    bottom: -267px;
	z-index: 1;
}
.index_corona .js_accordion_toggle .en:before {
	font-size: 133.33%;
	font-family: ab-kirigirisu,sans-serif;
	font-weight: 400;
	font-style: normal;
}
.index_corona .acc_default {
 	border: solid 2px #00b2d6;
	border-radius: 20px;
	padding: 0 5%;
}
.index_corona .js_accordion_toggle.is_open {
	margin-bottom: 20px;
}
.index_corona .js_accordion_item {
	padding-bottom: 75px;
}

.index_corona .js_accordion_toggle .arw:after {
	background: url(images/page/arw01.svg)no-repeat center / cover;
	width: 20px;
    height: 20px;
    right: -7px;
}
.index_corona .js_accordion_toggle .txt {
	margin-bottom: 0;
}
.row_index_corona01 {
	max-width: 840px;
}
.row_index_corona01 .col{
	width: 29%;
	max-width: 240px;
}
.row_index_corona01 .txt {
	letter-spacing: 0.2em;
    line-height: 1.7;
}
.row_index_corona01 .col:not(:nth-child(3n)) {
	margin-right: 60px;
}
.row_index_corona01 .col:last-child {
	margin-right: 0;
}
.row_index_corona01 .col:nth-child(n+4) {
	margin-top: 50px;
}
@media(min-width: 768px) and (max-width:1299px){
	.row_index_corona01 .col {
		width: 29%;
	}
	.row_index_corona01 .col:not(:nth-child(3n)) {
		margin-right: 40px;
	}
	.index_corona:before {
		width: 300px;
   	 	height: 372px;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.row_index_corona01 .col {
		width: 26%;
	}
	.index_corona:before {
		width: 360px;
    	height: 447px;
	}
}
@media(max-width: 767px) {
	.index_corona {
		background: url(images/index/frame01.svg) no-repeat center bottom 0 / 100% auto;
		padding-bottom: 26vw;
	}
	.index_corona .acc_default {
		border-radius: calc(20 / 750*100vw);
	}
	.index_corona .js_accordion_toggle {
		height: calc(260 / 750*100vw);
	}
	.index_corona .js_accordion_toggle .txt {
		letter-spacing: .1em;
		line-height: 1.5;
	}
	.index_corona .js_accordion_toggle .en:before {
		font-size: 81.25%;
		letter-spacing: .1em;
	}
	.index_corona .js_accordion_toggle .arw:after {
		width: calc(30 / 750*100vw);
		height: calc(30 / 750*100vw);
		right: 1vw;
	}
	.index_corona .js_accordion_toggle .arw {
		padding-right: 7vw;
	}
	.index_corona:before {
		width: calc(502 / 750*100vw);
		height: calc(600 / 750*100vw);
		background: url(images/index/deco_feature02.svg) no-repeat center / cover;
		right: 2vw;
    	bottom: -37vw;
	}
	.index_corona .acc_common {
		background: #fff;
		position: relative;
		z-index: 1;
	}
	.row_index_corona01 {
		max-width: 100%;
	}
	.row_index_corona01 .col:not(:nth-child(3n)) {
		margin-right: 0;
	}
	.row_index_corona01 .col:nth-child(odd) {
		margin-right: 8vw;
	}
	.row_index_corona01 .col {
		width: 48%;
    	max-width: calc(270 / 750*100vw);
	}
	.row_index_corona01 .col .img {
		max-width: calc(240 / 750*100vw);
		margin-bottom: calc( 5 / 750 * 100vw);
	}
	.row_index_corona01 .txt {
		font-size: 81.25%;
		letter-spacing: 0;
	}
	.row_index_corona01 .col:nth-child(n+3) {
		margin-top: 3vw;
	}
	.index_corona .js_accordion_toggle.is_open {
		margin-bottom: 0;
	}
	.index_corona .js_accordion_toggle.is_open .arw:after {
		top: 2vw;
	}
	.index_corona .js_accordion_item {
		padding-bottom: 6vw;
	}

}
/* 特徴 feature
------------------------------------------------------------------*/
.index_feature {
	position: relative;
	padding-top: 70px;
}
.copy_index_feature01 {
	font-size: 333.33%;
    position: absolute;
    top: -105px;
    left: 0;
    right: 0;
    margin: auto;
    line-height: 1.3;
    letter-spacing: 0;
	z-index: 1;
}
.ttl_index_feature01 {
	position: relative;
	z-index: 1;
}
.ttl_index_feature01 img {
	margin-right: auto;
	margin-left: auto;
}

.wrap_index_feature01 {
	position: relative;
}
.wrap_index_feature01:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature03.svg") no-repeat center / auto;
	width: 800px;
	height:1000px;
	left: 0;
	top:600px;
	z-index: 0;
}
.wrap_index_feature01:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature17.svg") no-repeat center / auto;
	width: 780px;
	height:1001px;
	right: 0;
	bottom:275px;
	z-index: 0;
}
.row_index_feature01 {
	position: relative;
	z-index: 1;
}
.row_index_feature01.num01:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature04.svg") no-repeat;
	width: 234px;
	height: 159px;
	left: 127px;
    top: -83px;
	margin: auto;
	animation: stepsline01 5s steps(6) infinite;
	/*stepsline→アニメーション名
    1s→アニメーションをする時間
    step→（）の中には、1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数+1の値を入れる（例：4コマ+1コマ=5コマ）
    infinite→無限ループ*/
}
@keyframes stepsline01 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1404px 0;/*1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数から1コマ分足した横幅（今回は1フレーム100pxで制作しているので全体の400px+100px=500px⇒-500px）を指定。*/
  }
}

.row_index_feature01.num07 {
	margin-left: 100px;
	max-width: 1610px;
}

.row_index_feature01.num02:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature10.svg") no-repeat left center / cover;
	width: 225px;
	height: 185px;
	right: -478px;
    left: 0;
    bottom: -115px;
	margin: auto;
	animation: stepsline03 5s steps(6) infinite;
	transform:scaleX(-1)
	/*stepsline→アニメーション名
    1s→アニメーションをする時間
    step→（）の中には、1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数+1の値を入れる（例：4コマ+1コマ=5コマ）
    infinite→無限ループ*/
}
@keyframes stepsline03 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1350px 0;/*1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数から1コマ分足した横幅（今回は1フレーム100pxで制作しているので全体の400px+100px=500px⇒-500px）を指定。*/
  }
}
.row_index_feature01.num01:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature10.svg") no-repeat left center / cover;
	width: 225px;
	height: 185px;
	left: 0;
	right: 5px;
    bottom: -132px;
	margin: auto;
	animation: stepsline02 5s steps(6) infinite;
	/*stepsline→アニメーション名
    1s→アニメーションをする時間
    step→（）の中には、1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数+1の値を入れる（例：4コマ+1コマ=5コマ）
    infinite→無限ループ*/
}
@keyframes stepsline02 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1350px 0;/*1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数から1コマ分足した横幅（今回は1フレーム100pxで制作しているので全体の400px+100px=500px⇒-500px）を指定。*/
  }
}
.row_index_feature01 .col_txt {
	position: absolute;
	width: 760px;
	height: 470px;
	padding: 0 5%;
	border-radius: 20px;
	top: 115px;
}
.row_index_feature01.num01 .col_txt {
	left: 0;
}
.row_index_feature01.num02 .col_txt {
	right: 0;
}
.row_index_feature01.num01 .col_txt:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature08.svg") no-repeat left center / cover;
	width: 192px;
	height: 120px;
	left: 0;
	right: 70px;
    bottom: -75px;
	z-index: 1;
	margin: auto;
	animation: Float 4s ease-in-out infinite alternate;
}
.row_index_feature01.num02 .col_txt:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature14.svg") no-repeat left center / cover;
	width: 238px;
	height: 110px;
	right: -30px;
    bottom: -56px;
	z-index: 1;
	animation: Float 4s ease-in-out infinite alternate;
}
.row_index_feature01.num01 .col_txt:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature09.png") no-repeat left center / cover;
	width: 127px;
	height: 112px;
	right: 174px;
    bottom: -110px;
	z-index: 1;
	animation: Float 4s ease-in-out infinite alternate;
}
.row_index_feature01.num02 .col_txt:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature15.png") no-repeat left center / cover;
	width: 140px;
	height: 134px;
	right: 187px;
    bottom: -97px;
	z-index: 1;
	animation: Float 4s ease-in-out infinite alternate;
}
.row_index_feature01 .col_txt .wrap {
	max-width: 494px;
	margin-bottom: 30px;
}
.row_index_feature01.num01 .col_txt .wrap:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature05.png") no-repeat left center / cover;
	width: 120px;
	height: 181px;
	left: 60px;
    top: -60px;
	z-index: 1;
}
.row_index_feature01.num02 .col_txt .wrap:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature12.png") no-repeat left center / cover;
	width: 120px;
	height: 181px;
	right: 60px;
    top: -60px;
	z-index: 1;
}
.row_index_feature01 .col_txt .copy {
	font-size: 222.22%;
	letter-spacing: .1em;
	max-width: 370px;
    padding-right: 15px;
}
.row_index_feature01.num02 .col_txt .copy {
	max-width: 411px;
}
.row_index_feature01 .img01 {
	width: 87%;
	position: relative;
}
.row_index_feature01.num01 .img01:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature07.png") no-repeat left center / cover;
	width: 234px;
	height: 141px;
	left: 92px;
    bottom: -160px;
	margin: auto;
}
.row_index_feature01.num02 .img01:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature11.png") no-repeat left center / cover;
	width: 217px;
	height: 180px;
	left: -92px;
    top: 32px;
}
.row_index_feature01.num01 .img01:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature06.png") no-repeat right center / cover;
	width: 198px;
	height: 180px;
	right: -182px;
    top: 20px;
	z-index: 1;
}
.row_index_feature01.num02 .img01:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature13.png") no-repeat right center / cover;
	width: 234px;
	height: 140px;
	right: 61px;
    bottom: -207px;
	z-index: 1;
}
.row_index_feature01 .img02 {
	position: absolute;
    top: 100px;
    margin: auto;
    max-height: 260px;
	width: 32%;
	right: -110px;
}
.row_index_feature01.num02 .img02 {
	top: auto;
    bottom: 60px;
	right: -15px;
}
.row_index_feature01 .img03 {
	position: absolute;
	bottom: 0;
	width: 55%;
	right: 0;
}
.row_index_feature01.num02 .img03 {
	left: -90px;
	right: auto;
}
.row_index_feature01.num02.num07 .img02 {
	top: -80px;
	right: -115px;
	bottom: auto;
}
.row_index_feature01.num02.num07 .img03 {
	bottom: 80px;
    right: -105px;
	left: auto;
}
.row_index_feature01.num02.num07 .img01:before {
	background: url(images/index/deco_feature33.png) no-repeat left center / cover;
	width: 234px;
    height: 140px;
	left: 53px;
    top: -77px;
}
.row_index_feature01.num02.num07 .img01:after {
	background: url(images/index/deco_feature22.png) no-repeat left center / cover;
	width: 234px;
    height: 140px;
	right: -217px;
    bottom: 79px;
}
.row_index_feature01.num02.num07 .col_txt .wrap:before {
	background: url(images/index/deco_feature46.png) no-repeat left center / cover;
}
.row_index_feature01.num02.num07 .col_txt:before {
	content: none;
}
.row_index_feature01.num02.num07 .col_txt:after {
	content: none;
}
.row_index_feature01.num02.num07:before {
	position: absolute;
    content: "";
    background: url(images/index/deco_feature01.png) no-repeat left center / cover;
    width: 146px;
    height: 117px;
    left: 150px;
    bottom: 120px;
    top: auto;
	transform: none;
	animation: Float 4s ease-in-out infinite alternate;
	margin: 0;
}
.row_index_feature01.num02.num07:after {
	position: absolute;
    content: "";
    background: url(images/index/deco_feature47.png) no-repeat left center / cover;
    width: 192px;
    height: 120px;
    left: 296px;
    bottom: 150px;
    top: auto;
	transform: none;
	animation: Float 4s ease-in-out infinite alternate;
	margin: 0;
	z-index: 1;
}
.row_index_feature01.num02.num07 .col_txt {
	height: 430px;
	    top: 60px;
}
.row_index_feature01 .col_img{
	width: 54%;
	max-width: 810px;
	position: relative;
	z-index: 1;
	padding-bottom: 247px;
}
.box_index_feature01 {
	max-width: 1000px;
	position: relative;
	border-radius: 20px;
	height: 498px;
	z-index: 2;
}
.box_index_feature01:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature22.png") no-repeat left center / cover;
	width: 234px;
	height: 140px;
	left: -119px;
    bottom: 53px;
}
.box_index_feature01:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature18.png") no-repeat left center / cover;
	width: 210px;
	height: 180px;
	right: -118px;
    top: 30px;
}
.box_index_feature01 .wrap {
	margin-top: 75px;
}
.box_index_feature01 .wrap:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature20.svg") no-repeat left center / cover;
	width: 238px;
	height: 110px;
	left: 81px;
	top:30px;
	animation: Float 4s ease-in-out infinite alternate;
}
.box_index_feature01 .wrap:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature21.png") no-repeat left center / cover;
	width: 123px;
	height: 130px;
	left: -49px;
	top:50px;
	animation: Float 4s ease-in-out infinite alternate;
}
.box_index_feature01 .copy {
	font-size: 222.22%;
	letter-spacing: .1em;
}
.box_index_feature01 .copy:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature19.png") no-repeat left center / cover;
	width: 121px;
	height: 181px;
	right: 0;
	left: 0;
	top: -60px;
	margin: auto;
}
.row_index_feature02 {
	margin-top: -100px;
	position: relative;
	z-index: 1;
}
.row_index_feature02 .col {
	width: 33.333%;
}
.row_index_feature02:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature23.png") no-repeat left center / cover;
	width: 87px;
	height: 140px;
	left: 480px;
    bottom: -84px;
	margin: auto;
	animation: stepsline04 3s steps(4) infinite;
	/*stepsline→アニメーション名
    1s→アニメーションをする時間
    step→（）の中には、1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数+1の値を入れる（例：4コマ+1コマ=5コマ）
    infinite→無限ループ*/
}
@keyframes stepsline04 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -348px 0;/*1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数から1コマ分足した横幅（今回は1フレーム100pxで制作しているので全体の400px+100px=500px⇒-500px）を指定。*/
  }
}
.wrap_index_feature02 {
	position: relative;
}
.wrap_index_feature02:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature24.svg") no-repeat left center / cover;
	width: 800px;
	height: 1000px;
	left: 0;
    top: -37px;

}

.row_index_feature03 {
	position: relative;
}
.row_index_feature03:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature29.svg") no-repeat left center / cover;
	width: 245px;
	height: 95px;
	right: -313px;
    left: 0;
    top: -57px;
	margin: auto;
	animation: stepsline05 5s steps(6) infinite;

	/*stepsline→アニメーション名
    1s→アニメーションをする時間
    step→（）の中には、1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数+1の値を入れる（例：4コマ+1コマ=5コマ）
    infinite→無限ループ*/
}
@keyframes stepsline05 {
   0%{
    background-position: 0 0;
  }
  100% {
    background-position: -1470px 0;/*1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数から1コマ分足した横幅（今回は1フレーム100pxで制作しているので全体の400px+100px=500px⇒-500px）を指定。*/
  }
}

.row_index_feature03:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature04.svg") no-repeat left center / cover;
	width: 234px;
	height: 159px;
	right: 0;
    left: -318px;
    bottom: -62px;
	margin: auto;
	animation: stepsline06 5s steps(6) infinite;
	z-index: 1;
	transform:scaleX(-1);
	/*stepsline→アニメーション名
    1s→アニメーションをする時間
    step→（）の中には、1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数+1の値を入れる（例：4コマ+1コマ=5コマ）
    infinite→無限ループ*/
}
@keyframes stepsline06 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1404px 0;/*1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数から1コマ分足した横幅（今回は1フレーム100pxで制作しているので全体の400px+100px=500px⇒-500px）を指定。*/
  }
}
.row_index_feature03 .col {
	max-width: 720px;
	width: 48%;
	padding: 80px 5% 75px;
	border-radius: 20px;
	position: relative;
}
.row_index_feature03 .col_r {
	margin-top: 120px;
}
.row_index_feature03 .col_l:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature27.svg") no-repeat left center / cover;
	width: 192px;
	height: 120px;
	right: 60px;
	top: -49px;
	margin: auto;
	animation: Float 4s ease-in-out infinite alternate;
	z-index: 1;
}
.row_index_feature03 .col_l:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature26.png") no-repeat left center / cover;
	width: 106px;
	height: 110px;
	left: 0;
	right: -100px;
    top: -10px;
	margin: auto;
	animation: Float 4s ease-in-out infinite alternate;
}
.row_index_feature03 .col_r:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature30.svg") no-repeat left center / cover;
	width: 238px;
	height: 110px;
	left: 64px;
    top: -49px;
	margin: auto;
	animation: Float 4s ease-in-out infinite alternate;
}
.row_index_feature03 .col_r:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature31.png") no-repeat left center / cover;
	width: 106px;
	height: 110px;
	left: -100px;
    right: 0px;
    top: -9px;
	margin: auto;
	animation: Float 4s ease-in-out infinite alternate;
}
.row_index_feature03 .copy {
	font-size: 222.22%;
	letter-spacing: .1em;
}
.row_index_feature03 .img {
	position: relative;
}
.row_index_feature03 .col_l .img:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature25.png") no-repeat left center / cover;
	width: 120px;
	height: 181px;
	left: -15px;
    top: -142px;
}
.row_index_feature03 .col_l .img:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature28.png") no-repeat left center / cover;
	width: 234px;
	height: 141px;
	left: -45px;
    bottom: -26px;
}
.row_index_feature03 .col_r .img:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature32.png") no-repeat left center / cover;
	width: 121px;
	height: 181px;
	right: -11px;
    top: -140px;
}
.row_index_feature03 .col_r .img:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature33.png") no-repeat left center / cover;
	width: 234px;
	height: 140px;
	right: -40px;
    bottom: -29px;
}
.wrap_index_feature03 {
	position: relative;
}
.wrap_index_feature03:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature42.svg") no-repeat left center / cover;
	width: 502px;
	height: 600px;
	left: 0;
    bottom: -380px;
	z-index: 2;
}
.wrap_index_feature03:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature41.svg") no-repeat left center / cover;
	width: 780px;
	height: 1001px;
	right: 0;
	bottom: -193px;
    z-index: 2;
}
.box_index_feature02{
	max-width: 1820px;
	border-radius: 20px;
	height: 798px;
	background: url("images/index/img_index_feature12.png") no-repeat left center / auto, url("images/index/img_index_feature13.png") no-repeat right center / auto;
	position: relative;
	z-index: 3;
}
@media all and (-ms-high-contrast: none) {
	.box_index_feature02.flex {
		justify-content: space-between;
	}
}
.box_index_feature02:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature35.png") no-repeat left center / cover;
	width: 108px;
	height: 109px;
	left: 408px;
    top: -19px;
	animation: Float 4s ease-in-out infinite alternate;
}
.box_index_feature02:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature36.svg") no-repeat left center / cover;
	width: 238px;
	height: 110px;
	right: 0;
	left: 508px;
    top: -60px;
	animation: Float 4s ease-in-out infinite alternate;
}
.box_index_feature02 .wrap {
	position: relative;
}
.box_index_feature02 .wrap:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature37.png") no-repeat left center / cover;
	width: 121px;
	height: 181px;
	right: 0;
	left: 0;
    top: -220px;
	margin: auto;
}
.box_index_feature02 .copy .deco {
	font-size: 222.22%;
	letter-spacing: .1em;
	position: relative;
	padding: 0 100px;
}
.box_index_feature02 .copy .deco:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature38.png") no-repeat left center / cover;
	width: 160px;
	height: 110px;
	left: -119px;
    top: -73px;
	margin: auto;
}
.box_index_feature02 .copy .deco:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature39.png") no-repeat left center / cover;
	width: 161px;
	height: 110px;
	right: -113px;
    top: -74px;
	margin: auto;
}
.box_index_feature02 .row {
	max-width: 800px;
}
.box_index_feature02 .row .col {
	max-width: 200px;
	width: 25%;
	height: 200px;
	font-size: 166.66%;
	border-radius: 50%;
	background: url("images/index/deco_feature40.svg") no-repeat center center;
	position: relative;
}
.box_index_feature02 .row .col:not(:last-child):before {
	position: absolute;
	content: "";
	background: url("images/page/arw02.svg") no-repeat left center / cover;
	width: 20px;
	height: 40px;
	right: -60px;
    top: 0;
	bottom: 0;
	margin: auto;
}
.box_index_feature02 .wrap {
	margin-bottom: 45px;
}
.row_index_feature04 {
	margin-top: -140px;
	position: relative;
	z-index: 1;
	z-index: 3;
}
.row_index_feature04 .col {
	max-width: 460px;
	width: 31%;
	border-radius: 20px;
}
.row_index_feature04 .col:not(:nth-child(2)) {
	margin-top: 60px;
}
.row_index_feature04 .ttl {
	font-size: 144.44%;
	line-height: 1.5;
	padding: 30px 5%;
	border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
	letter-spacing: .1em;
}
.wrap_index_feature04 {
	height: 600px;
	position: relative;
}
.wrap_index_feature04 .box .deco {
	position: absolute;
	bottom: -49px;
	text-align: center
}
.parallax {
	width: 100%;
	background-attachment: fixed!important;
	background: url("images/index/img_index_feature17.jpg") no-repeat center center / cover;
}
.parallax.is_ios, .tab .parallax {
	background-attachment: inherit!important;
}

.wrap_index_feature04:before {
	position: absolute;
	content: "";
	background:url("images/index/frame02.svg") no-repeat top center / auto;
	width: 100%;
	height:230px;
	right: 0;
	left: 0;
	top:0;
	margin: auto;
	z-index: 1;
}
.wrap_index_feature04:after {
	position: absolute;
	content: "";
	background:url("images/index/frame03.svg") no-repeat bottom center / auto;
	width: 100%;
	height:230px;
	right: 0;
	left: 0;
	bottom:0;
	margin: auto;
	z-index: 1;
}
.wrap_index_feature04 .box {
	border-radius: 20px;
	max-width: 500px;
	height: 460px;
	position: absolute;
	z-index: 2;
	top: -50px;
	left: 0;
	right: 0;
	margin: auto;
	animation: Float 4s ease-in-out infinite alternate;
}
@media all and (-ms-high-contrast: none) {
	.wrap_index_feature04 .box{
		animation: none;
	}
}
.wrap_index_feature04 .box:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature43.svg") no-repeat left center / cover;
	width: 120px;
	height: 120px;
	right: 34px;
    top: 30px;
	z-index: -1;
}
.wrap_index_feature04 .box:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_feature44.png") no-repeat left center / cover;
	width: 149px;
	height: 180px;
	left: 32px;
    bottom: -103px;
}
.wrap_index_feature04 .txt {
	writing-mode: vertical-rl;
	font-size: 166.66%;
	letter-spacing: .1em;
}


@media all and (-ms-high-contrast: none) {
	.wrap_index_feature04 .box {
		width: 560px;
	}
	.wrap_index_feature04 .box .deco {
		left: 200px;
	}
	.wrap_index_feature04 .txt {
		-ms-writing-mode: tb-rl;
    	writing-mode: vertical-rl;
	}
	.row_index_feature01.num01 .col_txt:before, .row_index_feature01.num01 .col_txt:after, .row_index_feature01.num02 .col_txt:after, .row_index_feature01.num02 .col_txt:before, .box_index_feature01 .wrap:after, .box_index_feature01 .wrap:before, .row_index_feature03 .col_l:after, .row_index_feature03 .col_l:before, .row_index_feature03 .col_r:before, .row_index_feature03 .col_r:after, .box_index_feature02:before, .box_index_feature02:after {
		animation: none;
	}
}

@media(min-width: 768px) and (max-width:1899px){
	.index_corona:before {
		width: 430px;
    	height: 535px;
		background-size: cover;
		bottom: -300px;
	}
	.row_index_feature01.num01 .img01:after {
		right: 0;
	}
	.row_index_feature01 .img02 {
		right: 0;
	}
	.row_index_feature01.num01 .img01:before {
		z-index: 1;
	}
	.row_index_feature01.num01:after {
		right: -200px;
    	bottom: -180px;
	}
	.row_index_feature01.num01 {
		margin-bottom: 150px;
	}
	.row_index_feature01.num02 .img03 {
		left: 0;
	}
	.row_index_feature03 .col_r:after {
		left: 60px;
		top: 0;
	}
	.row_index_feature03 .col_l:after {
		right: 50px;
	}
	.box_index_feature02:after {
		left: 400px;
	}
	.box_index_feature02:before {
		left: 300px;
	}
	.row_index_feature01.num02.num07 .img02 {
		right: -22px;
		width: 200px;
		top: -128px;
	}
	.row_index_feature01.num02.num07 .img03 {
		right: 80px;
	}
	.row_index_feature01.num02.num07 .img01:after {
		right: 40px;
	}
	.row_index_feature01.num02.num07 .col_txt {
		right: 5%;
	}
	.row_index_feature01.num02.num07:before {
		left: 0;
		bottom: 40px;
	}
	.row_index_feature01.num02.num07:after {
		left: 124px;
    	bottom: 124px;
	}
	.ttl_index_feature01 {
		margin-bottom: 190px;
	}
}

@media(min-width: 768px) and (max-width:1599px){
	.row_index_feature01 .img01 {
		margin-left: 40px;
	}
	.row_index_feature01.num02 .img02 {
		bottom: 90px;
    	right: 170px;
	}
	.row_index_feature01 .col_txt .copy {
		padding-right: 0;
	}
	.row_index_feature01.num02 {
		margin-bottom: 315px;
	}
	.row_index_feature01.num02:before {
		right: 0;
		left: 0;
		bottom: -220px;
	}
	.row_index_feature03 .col_r .img:before {
		width: 100px;
		height: 150px;
		top: -110px;
	}
	.row_index_feature03 .col_l .img:before {
		width: 100px;
		height: 150px;
		top: -110px;
	}
	.row_index_feature01.num02.num07 {
		margin-left: 3%;
	}
}
@media(min-width: 768px) and (max-width:1499px){
	.index_corona:before {
		width: 400px;
    	height: 497px;
		background-size: cover;
		bottom: -300px;
	}
	.copy_index_feature01 {
		font-size: 311.11%;
	}
	.ttl_index_feature01 img {
		width: 800px;
	}
	.ttl_index_feature01:before {
		width: 125px;
    	height: 100px;
		left: 0;
	}
	.row_index_feature01 .col_txt {
		justify-content: flex-start;
	}
	.row_index_feature01.num02 .col_txt {
		justify-content: flex-end;
	}
	.row_index_feature01.num02 .col_txt .wrap:before {
		width: 100px;
		height: 150px;
		top: -110px;
	}
	.row_index_feature01 .col_txt .copy {
		font-size: 200%;
		line-height: 1.5;
	}
	.row_index_feature01.num01 .col_txt .wrap:before {
		width: 100px;
		height: 150px;
		top: -87px;
	}
	.box_index_feature01 .copy {
		font-size: 200%;
	}
	.row_index_feature01.num01 .img01:after {
		right: -120px;
	}
	.row_index_feature01.num01 {
		margin-bottom: 200px;
	}
	.row_index_feature01.num01:after {
		right: -400px;
    	bottom: -280px;
	}
	.box_index_feature02:before {
		left: 30px;
	}
	.box_index_feature02:after {
		left: 130px;
	}
}
@media(min-width: 768px) and (max-width:1299px){
	.copy_index_feature01 {
		font-size: 288.88%;
	}
	.index_feature {
		padding-top: 55px;
	}
	.ttl_index_feature01:before {
		bottom: -220px;
	}
	.row_index_feature01.num01:before {
		left: 155px;
    	top: -24px;
		z-index: 2;
	}
	.ttl_index_feature01 img {
		width: 630px;
	}
	.row_index_feature01 .col_txt .copy {
		font-size: 188.88%;
	}
	.row_index_feature01.num02 .img01 {
		width: 76%;
	}
	.row_index_feature01.num02 .img01:before {
		width: 130px;
		height: 107px;
		left: -50px;
		top: 32px;
	}
	.row_index_feature01.num02 .img02 {
		bottom: 130px;
    	right: 125px;
	}
	.row_index_feature01.num02 .img01:after {
		right: 120px;
    	bottom: -330px;
		width: 180px;
    	height: 107px;
	}
	.row_index_feature01.num01 .img01:before {
		width: 170px;
    	height: 102px;
		bottom: -90px;
	}
	.row_index_feature01.num01 .img01:after {
		width: 130px;
    	height: 118px;
	}
	.row_index_feature01.num01 {
		margin-bottom: 200px;
	}
	.row_index_feature01.num01 .col_txt:before {
		left: 100px;
    	right: auto;
	}
	.row_index_feature01.num01 .col_txt:after {
		right: 0;
		left: 0;
		margin: auto;
	}
	.row_index_feature01.num01:after {
		right: -300px;
	}
	.row_index_feature01.num02:before {
		right: 120px;
		bottom: -250px;
	}
	.row_index_feature01.num02 .col_txt {
		height: 400px;
	}
	.box_index_feature01:after {
		right: -20px;
	}
	.box_index_feature01 .copy {
		font-size: 188.88%;
	}
	.box_index_feature01 .wrap:after {
		left: -40px;
		top: 5px;
	}
	.box_index_feature01 .wrap:before {
		left: 130px;
	}
	.box_index_feature01 {
		height: 460px;
	}
	.box_index_feature01:after {
		width: 150px;
    	height: 128px;
	}
	.box_index_feature01:before {
		left: -20px;
    	bottom: 150px;
		width: 150px;
    	height: 89px;
	}
	.row_index_feature02:before {
		left: 260px;
	}
	.wrap_index_feature01 {
		margin-bottom: 170px;
	}
	.box_index_feature01 .wrap:before {
		left: 100px;
		top: -23px;
	}
	.row_index_feature03 .col {
		padding: 40px 30px 50px;
	}
	.row_index_feature03 .col_l:before {
		width: 140px;
		height: 87px;
		right: -15px;
		top: -33px;
	}
	.row_index_feature03 .col_l:after {
		right: 140px;
		width: 80px;
    	height: 83px;
		left: auto;
	}
	.row_index_feature03 .col_l .img:before {
		top: -85px;
		left: 0;
		width: 80px;
    	height: 120px;
	}
	.row_index_feature03 .copy {
		font-size: 188.88%;
	}
	.row_index_feature03:before {
		top: -40px;
    	bottom: auto;
		right: 0;
		left: 350px;
    	z-index: 2;
	}
	.row_index_feature03 .col_l .img:after {
		width: 150px;
    	height: 90px;
	}
	.row_index_feature03:after {
    	bottom: -84px;
	}
	.row_index_feature03 .col_r .img:before {
		width: 80px;
    	height: 120px;
		top: -78px;
		right: 3px;
	}
	.row_index_feature03 .col_r {
		margin-top: 110px;
	}
	.row_index_feature03 .col_r:after {
		width: 80px;
    	height: 83px;
		left: 200px;
		top: 0;
		right: auto;
	}
	.row_index_feature03 .col_r:before {
		width: 170px;
    	height: 78px;
		z-index: 1;
		left: 30px;
    	top: -37px;
	}
	.row_index_feature03 .col_r .img:after {
		width: 150px;
    	height: 89px;
	}
	.box_index_feature02 .copy .deco {
		font-size: 222.22%;
	}
	.box_index_feature02 .txt {
		text-align: left;
	}
	.box_index_feature02 .txt .adjust {
		display: none;
	}
	.box_index_feature02 .row .col {
		max-width: 180px;
		height: 180px;
		font-size: 144.44%;
		background: url(images/index/deco_feature40.svg) no-repeat center center/ 180px;
	}
	.box_index_feature02 .row .col:not(:last-child):before {
		right: -65px;
	}
	.box_index_feature02 .row {
		max-width: 740px;
	}
	.row_index_feature04 .ttl {
		font-size: 122.22%;
	}
	.wrap_index_feature04 .txt {
		font-size: 155.55%;
	}
	.wrap_index_feature04 .box {
		max-width: 450px;
    	height: 430px;
	}
	.wrap_index_feature04 .box:after {
		width: 100px;
    	height: 120px;
		bottom: -52px;
	}
	.wrap_index_feature04 .box .deco {
		width: 80px;
		height: 33px;
		bottom: -28px;
	}
	.row_index_feature01.num02.num07 .img03 {
		right: 180px;
	}
	.row_index_feature01.num02.num07 .img02 {
		top: -128px;
	}
	.row_index_feature01.num02.num07 {
		margin-bottom: 160px;
	}
	.row_index_feature01.num02.num07:after {
		bottom: -70px;
	}
	.row_index_feature01.num02.num07:before {
		bottom: -180px;
	}
	.row_index_feature01.num02.num07 .img01:before {
		width: 180px;
    	height: 107px;
	}
	.row_index_feature01.num02.num07 .img01:after {
		width: 150px;
    	height: 89px;
		bottom: -25px;
	}
}

@media(min-width: 768px) and (max-width:960px){
	.index_feature {
		padding-top: 35px;
	}
	.copy_index_feature01 {
		font-size: 266.66%;
	}
	.ttl_index_feature01 img {
		width: 580px;
	}
	.ttl_index_feature01 {
		margin-bottom: 145px;
	}
	.row_index_feature01 .col_img {
		width: 100%;
	}
	.row_index_feature01 .col_txt {
		width: 100%;
		position: relative;
	}
	.row_index_feature01.num01 {
		margin-bottom: 330px;
		z-index: 2;
	}
	.row_index_feature01.num01:before {
		top: -70px;
		z-index: 2;
		left: 200px;
	}
	.ttl_index_feature01:before {
		bottom: -225px;
		left: 60px;
	}
	.row_index_feature03 {
		justify-content: center;
	}
	.row_index_feature03 .col {
		width: 100%;
	}
	.row_index_feature03 .col_r {
		margin-top: 175px;
	}
	.row_index_feature01 .col_txt {
		justify-content: center;
		height: 400px;
	}
	.row_index_feature01 .col_txt .copy {
		text-align: center;
	}
	.row_index_feature01 .col_txt .wrap {
		max-width: 100%;
		margin-bottom: 0;
	}
	.row_index_feature01.num01 .col_txt .wrap:before {
		left: 0;
    	right: 0;
		margin: auto;
	}
	.row_index_feature01.num01 .col_txt:after {
		right: -80px;
	}
	.row_index_feature01.num01:after {
		right: -315px;
    	bottom: -435px;
		z-index: 2;
	}
	.row_index_feature01.num02 .img01 {
		width: 80%;
	}
	.row_index_feature01.num02 .img02 {
		right: 0;
	}
	.row_index_feature01.num02 .img03 {
		left: 0;
		bottom: 40px;
	}
	.row_index_feature01.num02 .img01:after {
		right: 0;
    	bottom: -190px;
	}
	.row_index_feature01.num02 .col_txt .wrap:before {
		right: 0;
		left: 0;
		margin: auto;
	}
	.row_index_feature01.num02 .col_txt {
		justify-content: center;
	}
	.row_index_feature01.num02 {
		margin-bottom: 620px;
		z-index: 1;
	}
	.row_index_feature01.num02:before {
		right: 250px;
    	bottom: -359px;
	}
	.box_index_feature01 {
		height: 400px;
		padding: 0 5%;
	}
	.box_index_feature01 .txt {
		text-align: left;
	}
	.box_index_feature01 .copy:before {
		right: 0;
		left: 0;
		margin: auto;
		width: 100px;
    	height: 150px;
	}
	.box_index_feature01 .wrap:before {
		top: -260px;
	}
	.box_index_feature01 .wrap:after {
		top: -250px;
		left: -30px;
	}
	.box_index_feature01:after {
		width: 150px;
    	height: 128px;
	}
	.box_index_feature01:before {
		left: -60px;
    	bottom: 150px;
		width: 150px;
    	height: 89px;
	}
	.row_index_feature02 {
		position: absolute;
		bottom: 370px;
	}
	.row_index_feature02:before {
		left: 260px;
		z-index: 3;
		    bottom: -557px;
	}
	.row_index_feature03 .col_l .img:before {
		width: 100px;
    	height: 150px;
		left: 55px;
	}
	.row_index_feature03 .col_l:after {
		width: 106px;
    	height: 110px;
		right: 190px;
	}
	.row_index_feature03 .col_l:before {
		width: 192px;
    	height: 120px;
	}
	.row_index_feature03 .col_r .img:before {
		width: 100px;
    	height: 150px;
		right: 57px;
	}
	.row_index_feature03:after {
		left: 155px;
		bottom: -110px;
	}
	.row_index_feature03 .col_r:before {
		width: 238px;
    	height: 110px;
	}
	.row_index_feature03 .col_r:after {
		width: 106px;
    	height: 110px;
		left: 270px;
	}
	.row_index_feature03 .col_l .img:after {
		width: 150px;
    	height: 89px;
	}
	.row_index_feature03 .col_r .img:after {
		width: 150px;
    	height: 89px;
	}
	.row_index_feature03:before {
		top: 0;
    	bottom: 0;
		transform: rotate(90deg);
		left: 205px;
	}
	.box_index_feature02 {
		height: 1350px;
		background: url(images/index/img_index_feature12.png) no-repeat left center / cover, url(images/index/img_index_feature13.png) no-repeat right center / cover;
	}
	.box_index_feature02:before {
		left: -200px;
		right: 0;
		margin: auto;
	}
	.box_index_feature02:after {
		left: 0;
		right: -190px;
		margin: auto;
	}
	.box_index_feature02 .copy .deco:before {
		left: -50px;
    	top: -170px;
	}
	.box_index_feature02 .copy .deco:after {
		right: -45px;
    	top: -170px;
	}
	.box_index_feature02 .row .col {
		max-width: 160px;
    	height: 160px;
		background: url(images/index/deco_feature40.svg) no-repeat center center/ 160px;
	}
	.box_index_feature02 .row {
		max-width: 675px;
	}
	.box_index_feature02 .row .col:not(:last-child):before {
		right: -63px;
	}
	.row_index_feature04 .col {
		width: 48%;
	}
	.row_index_feature04 .col:not(:nth-child(2)) {
		margin-top: 0;
	}
	.row_index_feature04 .col:last-child {
		margin-top: 40px;
		margin-right: auto;
		margin-left: auto;
	}
	.row_index_feature04 {
		margin-top: -500px;
	}
	.box_index_feature02 .wrap {
		margin-bottom: 250px;
	}
	.row_index_feature01.num02.num07 {
		margin: 0 auto 310px;
		max-width: calc(100% + 10%);
		padding: 0 5%;
	}
	.row_index_feature01.num02.num07 .col_txt {
		right: 0;
	}
	.row_index_feature01.num02.num07:before {
		left: 30px;
	}
	.row_index_feature01.num02.num07:after {
		left: 170px;
		bottom: -151px;
	}
	.row_index_feature01.num02.num07 .img02 {
		right: 6px;
		top: 190px;
	}
	.row_index_feature01.num02.num07 .img03 {
		right: 285px;
		bottom: 80px;
	}
	.row_index_feature01.num02.num07:before {
		left: 30px;
		bottom: -225px;
	}
	.row_index_feature01.num02.num07 .img01:after {
		bottom: -140px;
	}
}
@media(max-width: 767px){
	.parallax, .parallax.is_ios {
		width: 100%;
		background-attachment: inherit!important;
	}
	.index_feature {
		padding-top: 10vw;
	}
	.box_index_feature02 .txt .adjust {
		display: none;
	}
	.ttl_index_feature01 {
		width: calc(646 / 750*100vw);
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 9vw;
	}
	.ttl_index_feature01:before {
		background: url(images/index/deco_feature01_sp.png) no-repeat left center / cover;
		width: calc(174 / 750*100vw);
		height: calc(141 / 750*100vw);
		left: 0;
    	bottom: -54vw;
	}
	.row_index_feature01.num01:before {
		width: calc(234 / 750*100vw);
		height: calc(159 / 750*100vw);
		background: url(images/index/deco_feature04_sp.svg) no-repeat left center / cover;
		animation: none;
		left: 41vw;
		top: -15vw;
		z-index: 2;
	}

	.row_index_feature01.num01:after {
		background: url(images/index/deco_feature10_sp.svg) no-repeat left center / cover;
		width: calc(225 / 750*100vw);
		height: calc(185 / 750*100vw);
		left: 0;
		right: -56vw;
		bottom: -45vw;
		animation: none;
	}
	.row_index_feature01 .col_img {
		width: 100%;
		max-width: 100%;
		padding-bottom: 0;
		margin-bottom: 11vw;
	}
	.row_index_feature01.num01 .img01:before,.row_index_feature01.num01 .img01:after,.row_index_feature01.num01 .col_txt:after,.row_index_feature01.num02 .img01:before, .row_index_feature01.num02 .img01:after, .row_index_feature01.num02 .col_txt:before, .box_index_feature01 .wrap:before, .box_index_feature02:after, .row_index_feature03 .col_l:before, .row_index_feature03 .col_r:before {
		content: none;
	}
	.row_index_feature01 {
		margin-bottom: 30vw;
		z-index: 8;
	}
	.row_index_feature01.num01 {
		z-index: 9;
	}
	.row_index_feature01 .img01 {
		width: 100%;
	}
	.row_index_feature01.num01 .col_txt {
		position: relative;
		width: 100%;
		height: calc(736 / 750*100vw);
		top: 0;
		border-radius: calc(20 / 750*100vw);
	}
	.row_index_feature01.num02:before {
		background: url(images/index/deco_feature16_sp.svg) no-repeat left center / cover;
		width: calc(221 / 750*100vw);
		height: calc(191 / 750*100vw);
		left: 4vw;
		right: auto;
		bottom: -28vw;
		animation: none;
		transform: none;
	}
	.row_index_feature01 .col_txt .copy {
		font-size: 156.25%;
		text-align: center;
		max-width: 100%;
    	padding-right: 0;
		line-height: 1.6;
	}
	.row_index_feature01.num02 .col_txt .copy {
		max-width: 100%;
	}
	.row_index_feature01 .col_txt .wrap {
		margin-bottom: 0;
    	margin-top: 6vw;
		max-width: 100%;
	}
	.row_index_feature01.num01 .col_txt .wrap:before {
		background: url(images/index/deco_feature05_sp.png) no-repeat left center / cover;
		width: calc(120 / 750*100vw);
		height: calc(181 / 750*100vw);
		left: 0;
		right: 0;
		margin: auto;
		top: -9vw;
	}
	.row_index_feature01.num01 .col_txt:before {
		background: url(images/index/deco_feature09_sp.png) no-repeat left center / cover;
		width: calc(408 / 750*100vw);
		height: calc(180 / 750*100vw);
		right: 1vw;
    	bottom: -16vw;
	}
	.row_index_feature01.num02 .col_txt {
		width: 100%;
		height: calc(806 / 750*100vw);
		position: relative;
		top: 0;
		border-radius: calc(20 / 750*100vw);
	}
	.row_index_feature01.num02 .col_txt .wrap:before {
		background: url(images/index/deco_feature12_sp.png) no-repeat left center / cover;
		width: calc(121 / 750*100vw);
		height: calc(181 / 750*100vw);
		left: 0;
		right: 0;
		margin: auto;
		top: -7vw;
	}
	.row_index_feature01.num02 .col_txt:after {
		background: url(images/index/deco_feature15_sp.png) no-repeat left center / cover;
		width: calc(432 / 750*100vw);
		height: calc(182 / 750*100vw);
		right: 0;
    	bottom: -15vw;
	}
	.row_index_feature01 .img02, .row_index_feature01 .img03 {
		display: none;
	}
	.box_index_feature01 .copy:before {
		background: url(images/index/deco_feature19_sp.png) no-repeat left center / cover;
		width: calc(121 / 750*100vw);
		height: calc(181 / 750*100vw);
		left: 0;
		right: 0;
		margin: auto;
		top: -8vw;
	}
	.box_index_feature01 {
		max-width: 100%;
		border-radius: calc(20 / 750*100vw);
		height:  calc(666 / 750*100vw);
		z-index: 4;
	}
	.box_index_feature01 .wrap {
		margin-top: 7vw;
		padding: 0 6vw;
	}
	.box_index_feature01 .wrap:after {
		background: url(images/index/deco_feature21_sp.png) no-repeat left center / cover;
		width: calc(444 / 750*100vw);
		height: calc(181 / 750*100vw);
		left: 0vw;
    	top: -88vw;
	}
	.box_index_feature01 .wrap:before {
		background: url(images/index/deco_feature23_sp.svg) no-repeat left center / cover;
		position: absolute;
		content: "";
		width: calc(87 / 750*100vw);
		height: calc(140 / 750*100vw);
		left: 35vw;
    	bottom: -13vw;
		top: auto;
		animation: none;
	}
	.box_index_feature01 .copy {
		font-size: 156.25%;
		line-height: 1.6;
		margin-bottom: 3vw;
	}
	.box_index_feature01:after {
		background: url(images/index/deco_feature18_sp.png) no-repeat left center / cover;
		width: calc(210 / 750*100vw);
		height: calc(180 / 750*100vw);
		right: -3vw;
    	top: -10vw;
	}
	.box_index_feature01 .wrap .txt {
		text-align: left;
	}
	.box_index_feature01:before {
		background: url(images/index/deco_feature22_sp.png) no-repeat left center / cover;
		width: calc(234 / 750*100vw);
		height: calc(140 / 750*100vw);
		left: -3vw;
    	bottom: -10vw;
	}

	.row_index_feature01.num02 {
		margin-bottom: 117vw;
	}
	.wrap_index_feature01 {
		margin-bottom: 24vw;
	}
	.wrap_index_feature01:before {
		background: url(images/index/deco_feature03.svg) no-repeat center / cover;
		width: calc(800 / 750*100vw);
		height: calc(1000 / 750*100vw);
		top: -30vw;
	}
	.wrap_index_feature01:after {
		background: url(images/index/deco_feature17.svg) no-repeat center / cover;
		width: calc(780 / 750*100vw);
		height: calc(1000 / 750*100vw);
		top: 211vw;
	}
	.wrap_index_feature02:before {
		background: url(images/index/deco_feature24.svg) no-repeat center / cover;
		width: calc(800 / 750*100vw);
		height: calc(1000 / 750*100vw);
		top: -180vw;
	}
	.wrap_index_feature03:before {
		background: url(images/index/deco_feature42.svg) no-repeat left center / cover;
		width: calc(500 / 750*100vw);
		height: calc(600 / 750*100vw);
		left: 0;
		bottom: -58vw;
	}
	.wrap_index_feature03:after {
		display: none;
	}
	.row_index_feature02 {
		position: absolute;
		bottom: 84vw;
		z-index: 2;
	}
	.row_index_feature02 .col {
		width: 100%;
	}

	.row_index_feature03 .col {
		width: 100%;
		padding: 10vw 6vw 7vw;
    	border-radius: calc(20 / 750*100vw);
	}
	.row_index_feature03 .col_r {
		margin-top: 24vw;
	}
	.row_index_feature03 .img {
		max-width: calc(560 / 750*100vw);
		margin-right: auto;
		margin-left: auto;
	}
	.row_index_feature03 .col_l .img:before {
		background: url(images/index/deco_feature25_sp.png) no-repeat left center / cover;
		width: calc(120 / 750*100vw);
		height: calc(181 / 750*100vw);
		left: -3vw;
    	top: -19vw;
		margin: auto;
	}
	.row_index_feature03 .col_l:after {
		background: url(images/index/deco_feature26_sp.png) no-repeat left center / cover;
		width: calc(360 / 750*100vw);
		height: calc(181 / 750*100vw);
		left: auto;
		right: 3vw;
		top: -12vw;
	}
	.row_index_feature03 .copy {
		font-size: 156.25%;
		margin-bottom: 2vw;
	}
	.row_index_feature03:before {
		background: url(images/index/deco_feature29_sp.svg) no-repeat left center / cover;
		width: calc(95 / 750*100vw);
		height: calc(245 / 750*100vw);
		animation: none;
		right: 26.5vw;
		left: auto;
		top: 115vw;
		z-index: 1;
	}
	.row_index_feature03 .col_l .img:after {
		background: url(images/index/deco_feature28_sp.png) no-repeat left center / cover;
		width: calc(234 / 750*100vw);
		height: calc(141 / 750*100vw);
		bottom: -4vw;
		left: -7vw;
	}
	.row_index_feature03 .col_r:after{
		background: url("images/index/deco_feature31_sp.png") no-repeat left center / cover;
		width: calc(360 / 750*100vw);
		height: calc(181 / 750*100vw);
		left: 2vw;
		right: auto;
		top: -11vw;
	}
	.row_index_feature03 .col_r .img:before {
		background: url(images/index/deco_feature32_sp.png) no-repeat left center / cover;
		width: calc(121 / 750*100vw);
		height: calc(181 / 750*100vw);
		right: -2vw;
    	top: -18vw;
	}
	.row_index_feature03 .col_r .img:after {
		background: url(images/index/deco_feature33_sp.png) no-repeat left center / cover;
		width: calc(234 / 750*100vw);
		height: calc(140 / 750*100vw);
		right: -6vw;
    	bottom: -5vw;
	}
	.row_index_feature03:after {
		background: url(images/index/deco_feature34_sp.svg) no-repeat left center / cover;
		width: calc(259 / 750*100vw);
		height: calc(118 / 750*100vw);
		right: 0;
		left: 18vw;
		bottom: -12vw;
		animation: none;
		transform: none;
	}
	.wrap_index_feature03 {
		margin-bottom: 26vw;
	}
	.box_index_feature02:before {
		background: url(images/index/deco_feature35_sp.png) no-repeat left center / cover;
		width: calc(408 / 750*100vw);
		height: calc(181 / 750*100vw);
		left: 0;
		right: 0;
		margin: auto;
		top: -9vw;
	}
	.box_index_feature02 .wrap:before {
		background: url(images/index/deco_feature37_sp.png) no-repeat left center / cover;
		width: calc(121 / 750*100vw);
		height: calc(181 / 750*100vw);
		top: -28vw;
	}
	.box_index_feature02 .copy .deco:before {
		background: url(images/index/deco_feature38_sp.png) no-repeat left center / cover;
		width: calc(160 / 750*100vw);
		height: calc(110 / 750*100vw);
		left: -12vw;
    	top: -23vw;
	}
	.box_index_feature02 .copy .deco:after {
		background: url(images/index/deco_feature39_sp.png) no-repeat left center / cover;
		width: calc(161 / 750*100vw);
		height: calc(110 / 750*100vw);
		right: -12vw;
    	top: -23vw;
	}
	.box_index_feature02 .copy .deco {
		font-size: 156.25%;
		padding:  0 2vw;
	}
	.box_index_feature02 {
		height: calc(1600 / 750*100vw);
		margin: 0 3.2vw;
		background: url(images/index/img_index_feature12_sp.png) no-repeat left top / contain, url(images/index/img_index_feature13_sp.png) no-repeat left bottom / contain;
		max-width: 100%;
    	border-radius: calc(20 / 750*100vw);
	}
	.box_index_feature02 .wrap .txt {
		text-align: left;
		max-width: calc(646 / 750*100vw);
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 7vw;
	}
	.box_index_feature02 .wrap .copy {
		line-height: 1.5;
	}
	.box_index_feature02 .row {
		max-width: 100%;
	}
	.box_index_feature02 .row .col {
		max-width: calc(180 / 750*100vw);
		width: 30%;
		height: calc(180 / 750*100vw);
		font-size:93.75%;
		background: url(images/index/deco_feature40.svg) no-repeat center center / 100% auto;
	}
	.box_index_feature02 .row .col:not(:last-child):before {
		width: calc(20 / 750*100vw);
		height: calc(40 / 750*100vw);
		right: -5vw;
	}
	.box_index_feature02 .wrap {
		margin-bottom: 26vw;
	}
	.row_index_feature04 {
		justify-content: center;
		margin-top: -64vw;
		margin-bottom: 0;
	}
	.wrap_index_feature04:after {
		background: url(images/index/frame03.svg) no-repeat bottom center / cover;
		width: calc(750 / 750*100vw);
		height: calc(39 / 750*100vw);
	}
	.wrap_index_feature04:before {
		background: url(images/index/frame02.svg) no-repeat top left / auto;
		width: calc(750 / 750*100vw);
		height: calc(89 / 750*100vw);
	}
	.row_index_feature04 .col {
		width: 48%;
		max-width: calc(308 / 750*100vw);
		border-radius: calc(20 / 750*100vw);
	}
	.row_index_feature04 .ttl {
		font-size: 87.5%;
		padding: 4vw 2vw;
		letter-spacing: 0;
		border-bottom-left-radius: calc(20 / 750*100vw);
    	border-bottom-right-radius: calc(20 / 750*100vw);
	}
	.row_index_feature04 .col:not(:nth-child(2)) {
		margin-top: 0;
	}
	.row_index_feature04 .col:last-child {
		margin-top: 4vw;
	}
	.row_index_feature04 .col:first-child {
		margin-right: 4vw;
	}
	.wrap_index_feature04 .box:before {
		background: url(images/index/deco_feature43.svg) no-repeat left center / cover;
		width: calc(120 / 750*100vw);
		height: calc(120 / 750*100vw);
		right: 3vw;
    	top: 4vw;
	}
	.wrap_index_feature04 .txt {
		font-size: 125%;
		letter-spacing: 0;
	}
	.wrap_index_feature04 .box {
		max-width: calc(560 / 750*100vw);
    	height: calc(520 / 750*100vw);
		border-radius: calc(20 / 750*100vw);
		top: -14vw;
	}
	.wrap_index_feature04 .box:after {
		background: url(images/index/deco_feature44_sp.png) no-repeat left center / cover;
		width: calc(149 / 750*100vw);
		height: calc(180 / 750*100vw);
		bottom: -14vw;
		left: 5vw;
	}
	.wrap_index_feature04 {
		height: calc(600 / 750*100vw);
		background: url(images/index/img_index_feature17_sp.jpg) no-repeat center center / cover;
	}
	.wrap_index_feature04 .box .deco {
		width: calc(140 / 750*100vw);
		height: calc(60 / 750*100vw);
		bottom: -6.8vw;
	}
	.row_index_feature01.num02.num07 .col_txt .wrap:before {
		background: url(images/index/deco_feature46_sp.png) no-repeat left center / cover;
	}
	.row_index_feature01.num07 {
		margin-left: 0;
		max-width: 100%;
		padding: 0 3.2vw;
		margin-bottom: 30vw;
	}
	.row_index_feature01.num02.num07 .col_txt {
		height: calc(666 / 750*100vw);
		top: 0;
	}
	.row_index_feature01.num02.num07 .col_txt .wrap {
		margin-top: 8vw;
	}
	.row_index_feature01.num02.num07:after {
		width: calc(230 / 750*100vw);
		height: calc(144 / 750*100vw);
		left: 40vw;
		bottom: -11vw;
	}
	.row_index_feature01.num02.num07:before {
		width: calc(175 / 750*100vw);
		height: calc(141 / 750*100vw);
		left: 16vw;
		bottom: -16vw;
		z-index: 1;
	}
}

/* 診療案内 medical
------------------------------------------------------------------*/
.index_medical {
	padding-top: 120px;
	position: relative;
}
.index_medical:before{
	position: absolute;
	content: "";
	background: url("images/index/deco_index_medical01.png") no-repeat left center / cover;
	width: 660px;
	height: 500px;
	left: 0;
    top: -90px;
	z-index: 1;
}
.index_medical:after{
	position: absolute;
	content: "";
	background: url("images/index/deco_index_medical02.png") no-repeat left center / cover;
	width: 640px;
	height: 400px;
	right: 30px;
    top: -200px;
	z-index: 1;
}
.ttl_index_medical {
	font-size: 277.77%;
	padding-bottom: 88px;
	position: relative;
	letter-spacing: .2em;
}
.ttl_index_medical:before {
	position: absolute;
	content: "";
	background: url("images/index/ttl_index_medical01.svg") no-repeat left center / cover;
	width: 247px;
	height: 73px;
	left: 0;
	right: 15px;
    bottom: 0;
	margin: auto;
}
.wrap_index_medical01 .copy {
	font-size: 222.22%;
	letter-spacing: .1em;
}
.row_index_medical01 .col{
	width: 50%;
	position: relative;
}
.row_index_medical01 .col:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_medical03.svg") no-repeat left center / cover;
	width: 160px;
	height: 160px;
	left: 0;
	right: 0;
    top: -60px;
	margin: auto;
}
.row_index_medical01 .col_r:before {
	background: url("images/index/deco_index_medical04.svg") no-repeat left center / cover;
}
.row_index_medical01 .box01 {
	padding: 70px 8% 60px;
}
.row_index_medical01 .icn {
	width: 160px;
    margin-top: -40px;
}
.row_index_medical01 .ja {
	font-size: 333.33%;
	letter-spacing: .1em;
	position: relative;
	z-index: 1;
	line-height: 1.5;
}
.row_index_medical01 .en {
	font-size: 111.11%;
	letter-spacing: 0;
}
.row_index_medical01 ul {
	padding: 15px 6.5% 18px;
	border-bottom: 1px solid #fff;
	border-top: 1px solid #fff;
}
.row_index_medical01 li {
	width: 47%;
	padding-left: 28px;
	position: relative;
	font-size: 122.22%;
}
.row_index_medical01 li:before {
	position: absolute;
	content: "";
	background: url("images/page/check01.png") no-repeat left center / cover;
	width: 19px;
	height: 17px;
	left: 0;
    top: 0.7em;
}
.row_index_medical01 .box02 {
	padding: 50px 5% 80px;
}
.row_index_medical01 .box02 .txt {
	max-width: 635px;
}
.btn_index01 {
	max-width: 400px;
}
.btn_index01 a {
	height: 100px;
	border-radius: 50px;
	border: solid 4px #f08200;
	position: relative;
	font-size: 133.33%;
	box-shadow: 4px 4px #6d4915;
}
.btn_index01 a:before {
	content: "";
    position: absolute;
    background: url("images/index/deco_index_medical05.svg") no-repeat left center / cover;
	width: 70px;
	height: 70px;
	left: 22px;
	top: 0;
	bottom: 0;
	margin: auto;
}
.btn_index01 a:hover {
	box-shadow: none;
    transform: translateY(5px);
	opacity: 1;
}
.btn_index01 a:after {
	content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #f08200;
    right: 30px;
    top: 0;
    bottom: 0;
    margin: auto;
}
@media(min-width: 768px) and (max-width:1799px){
	.row_index_medical01 .ja {
		font-size: 300%;
	}
	.row_index_medical01 ul {
		padding: 15px 5% 18px;
	}
	.row_index_medical01 li {
		font-size: 111.11%;
	}
	.row_index_medical01 .box01 {
		padding: 70px 5% 60px;
	}
}
@media(min-width: 768px) and (max-width:1599px){
	.row_index_medical01 li {
		font-size: 100%;
	}
	.row_index_medical01 ul {
		padding: 15px 4% 18px;
	}
}
@media(min-width: 768px) and (max-width:1299px){
	.ttl_index_medical {
		font-size: 255.55%;
		margin-bottom: 133px;
	}
	.index_medical:before {
		width: 400px;
    	height: 303px;
		top: 83px;
	}
	.index_medical:after {
		width: 400px;
    	height: 250px;
		top: -104px;
	}
	.row_index_medical01 .ja {
		font-size: 255.55%;
	}
	.row_index_medical01 li {
		width: 100%;
	}
	.btn_index01 {
		max-width: 350px;
	}
	.btn_index01 a {
		font-size: 122.22%;
		height: 85px;
	}
	.btn_index01 a:before {
		width: 50px;
    	height: 50px;
	}
}
@media(min-width: 768px) and (max-width:960px){
	.index_medical:before {
		top: 130px;
	}
	.index_medical:after {
		top: -65px;
	}
	.row_index_medical01 .col {
		width: 100%;
	}
	.row_index_medical01 li {
		width: 47%;
	}
	.row_index_medical01 .col_l {
		margin-bottom: 150px;
	}
	.wrap_index_medical01 .copy {
		font-size: 188.88%;
	}
}
@media(max-width: 767px){
	.index_medical {
		padding-top: 15vw;
	}
	.index_medical:before {
		background: url(images/index/deco_index_medical01_sp.png) no-repeat left center / cover;
		width: calc(396 / 750*100vw);
		height: calc(300 / 750*100vw);
		top: 22vw;
	}
	.index_medical:after {
		background: url(images/index/deco_index_medical02_sp.png) no-repeat left center / cover;
		width: calc(396 / 750*100vw);
		height: calc(239 / 750*100vw);
		top: -8vw;
	}
	.ttl_index_medical {
		font-size: 218.75%;
		padding-bottom: 15vw;
		margin-bottom: 14vw;
	}
	.ttl_index_medical:before {
		width: calc(370 / 750*100vw);
		height: calc(109 / 750*100vw);
		right: 2vw;
	}
	.row_index_medical01 .col {
		width: 100%;
	}
	.row_index_medical01 .ja {
		font-size: 187.5%;
	}
	.row_index_medical01 ul {
		padding: 2vw 6vw 1vw;
	}
	.row_index_medical01 li {
		font-size: 100%;
		width: 100%;
		margin-bottom: 2vw;
	}
	.row_index_medical01 li:before {
		width: calc(27 / 750*100vw);
		height: calc(24 / 750*100vw);
		top: 3vw;
	}
	.row_index_medical01 .col:before {
		width: calc(160 / 750*100vw);
		height: calc(160 / 750*100vw);
		top: -8vw;
	}
	.row_index_medical01 .box01 {
		padding: 9vw 6vw 8vw;
	}
	.row_index_medical01 .en {
		font-size: 75%;
		margin-bottom: 3vw;
	}
	.row_index_medical01 .box02 {
		padding: 5vw 7vw 14vw;
	}
	.row_index_medical01 .box02 .txt {
		max-width: 100%;
		margin-bottom: 7vw;
	}
	.row_index_medical01 .col_l {
		margin-bottom: 19vw;
	}
	.btn_index01 {
		max-width: calc(600 / 750*100vw);
	}
	.btn_index01 a {
		height: calc(150 / 750*100vw);
		border-radius: calc(75 / 750*100vw);
		font-size: 112.5%;
		letter-spacing: .1em;
	}
	.btn_index01 a:before {
		background: url(images/index/deco_index_medical05.svg) no-repeat left center / cover;
		width: calc(100 / 750*100vw);
		height: calc(100 / 750*100vw);
		left: 4vw;
	}
	.btn_index01 a:after {
		border-width: calc(10 / 750*100vw) 0 calc(10 / 750*100vw) calc(12 / 750*100vw);
		right: 4vw;
	}
	.wrap_index_medical01 .en {
		width: calc(261 / 750*100vw);
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 6vw;
	}
	.wrap_index_medical01 .copy {
		font-size: 156.25%;
		letter-spacing: 0;
		line-height: 1.6;
		margin-bottom: 3vw;
	}
	.wrap_index_medical01 .txt{
		text-align: left;
		max-width: calc(646 / 750*100vw);
		margin-left: auto;
		margin-right: auto;
	}
}

/* グリーティング greeting
------------------------------------------------------------------*/
.index_greeting {
	position: relative;
	padding: 100px 5% 140px;
}
.index_greeting:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_greeting03.svg") no-repeat left center / cover;
	width: 644px;
	height: 354px;
	left: 72px;
    bottom: -147px;
	transform: rotateY(180deg) rotate(30deg);
	z-index: 1;
	animation: stepsline09 9s steps(10);
	/*stepsline→アニメーション名
    1s→アニメーションをする時間
    step→（）の中には、1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数+1の値を入れる（例：4コマ+1コマ=5コマ）
    infinite→無限ループ*/
}
@keyframes stepsline09 {
  100% {
    background-position: 0 0;
  }
  0% {
    background-position: -6440px 0;/*1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数から1コマ分足した横幅（今回は1フレーム100pxで制作しているので全体の400px+100px=500px⇒-500px）を指定。*/
  }
}
.index_greeting:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_greeting03.svg") no-repeat left center / cover;
	width: 644px;
	height: 354px;
	right: 18px;
    top: 38px;
	animation: stepsline10 9s steps(10);
	/*stepsline→アニメーション名
    1s→アニメーションをする時間
    step→（）の中には、1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数+1の値を入れる（例：4コマ+1コマ=5コマ）
    infinite→無限ループ*/
}
@keyframes stepsline10 {
  100% {
    background-position: 0 0;
  }
  0% {
    background-position: -6440px 0;/*1フレーム分最後に余白を持たせてループをさせたいので、アニメーション制作コマ数から1コマ分足した横幅（今回は1フレーム100pxで制作しているので全体の400px+100px=500px⇒-500px）を指定。*/
  }
}
.index_greeting .img {
	max-height: 400px;
}
.index_greeting .img01 {
	position: absolute;
	left: 100px;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
}
.index_greeting .img01:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_greeting04.png") no-repeat left center / cover;
	width: 142px;
	height: 142px;
	left: 0;
	top: 0;
}
.index_greeting .img01:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_greeting05.png") no-repeat left center / cover;
	width: 120px;
	height: 77px;
	right: 0;
	bottom: -7px;
}
.index_greeting .img02:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_greeting07.png") no-repeat left center / cover;
	width: 161px;
	height: 110px;
	right: 0;
	top: 0;
}
.index_greeting .img02:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_greeting08.png") no-repeat left center / cover;
	width: 84px;
	height: 81px;
	left: 0;
	bottom: 20px;
}
.index_greeting .img02 {
	position: absolute;
	right: 130px;
	bottom: 0;
	z-index: 0;
}
.wrap_index_greeting01 {
	position: relative;
	z-index: 1;
	text-shadow: 0px 0px 5px #fff8d4, 0px 0px 5px #fff8d4, 0px 0px 10px #fff8d4, 0px 0px 10px #fff8d4, 0px 0px 15px #fff8d4, 0px 0px 15px #fff8d4;
}
.wrap_index_greeting01 small {
	font-size: 100%;
}
.wrap_index_greeting01 .copy {
	font-size: 222.22%;
	line-height: 1.6;
	letter-spacing: .1em;
}

.wrap_index_greeting01 .copy span {
	font-size: 125%;
}
.wrap_index_greeting01 .en {
	position: relative;
}
.wrap_index_greeting01 .en img {
	margin-right: auto;
	margin-left: auto;
}
.wrap_index_greeting01 .en:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_greeting01.png") no-repeat center / cover;
	width: 60px;
	height:49px;
	right: 0;
	left: 0;
	bottom: -30px;
	margin: auto;
}
@media(min-width: 768px) and (max-width:1499px){
	.index_greeting .img01 {
		left: 40px;
	}
	.index_greeting .img02 {
		right: 40px;
	}
}
@media(min-width: 768px) and (max-width:1299px){
	.index_greeting {
		padding-top: 150px;
	}
	.index_greeting .img01 {
		width: 300px;
		left: 10px;
		top: 115px;
	}
	.index_greeting .img02 {
		width: 300px;
		right: 10px;
	}
	.wrap_index_greeting01 .copy {
		font-size: 200%;
	}
	.index_greeting .img01:before {
		width: 100px;
    	height: 100px;
	}
	.index_greeting .img01:after {
		width: 100px;
    	height: 64px;
		bottom: 105px;
		right: 35px;
	}
	.index_greeting .img02:before {
		width: 120px;
    	height: 81px;
	}
}
@media(min-width: 768px) and (max-width:960px){
	.index_greeting .img01 {
		width: 305px;
		left: 60px;
		top: 80px;
		bottom: auto;
	}
	.index_greeting .img02 {
		width: 305px;
		right: 72px;
		bottom: auto;
		top: 175px;
	}
	.index_greeting .img01:before {
		width: 100px;
		height: 100px;
	}
	.index_greeting .img01:after {
		width: 100px;
    	height: 64px;
	}
	.index_greeting .img02:before {
		width: 120px;
    	height: 81px;
	}
	.index_greeting {
		padding-bottom: 50px;
		padding-top: 530px;
	}
}
@media(max-width: 767px){
	.copy_index_feature01 {
		font-size: 187.5%;
		top: -13vw;
	}
	.index_greeting .img01:before, .index_greeting .img01:after, .index_greeting .img02:before, .index_greeting .img02:after {
		content: none;
	}
	.index_greeting {
		padding: 74vw 5vw 10vw;
	}
	.index_greeting .img01 {
		width: calc(301 / 750*100vw);
		height: calc(301 / 750*100vw);
	    top: 13vw;
		left: 7vw;
    	bottom: auto;
	}
	.index_greeting .img02 {
		width: calc(280 / 750*100vw);
		height: calc(280 / 750*100vw);
		bottom: auto;
    	top: 29vw;
		right: 7vw;
	}
	.wrap_index_greeting01 .copy {
		font-size: 187.5%;
		letter-spacing: 0;
		margin-right: -3vw;
    	margin-left: -3vw;
		line-height: 1.3;
	}
	.wrap_index_greeting01 .copy span {
		font-size: 100%;
	}
	.wrap_index_greeting01 .copy .small {
		font-size: 83.33%;
	}
	.wrap_index_greeting01 .en {
		width: calc(259 / 750*100vw);
		height: calc(80 / 750*100vw);
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 15vw;
	}
	.wrap_index_greeting01 .en:before {
		background: url(images/index/deco_index_greeting01_sp.png) no-repeat center / cover;
		width: calc(90 / 750*100vw);
		height: calc(74 / 750*100vw);
		bottom: -9vw;
	}
	.wrap_index_greeting01 .txt {
		text-align: left;
		max-width: calc(646 / 750*100vw);
		margin-left: auto;
		margin-right: auto;
		font-size: 112.5%;
		line-height: 1.8;
	}
	.wrap_index_greeting01 small {
		font-size: 75%;
	}
	.index_greeting:before {
		width: calc(634 / 750*100vw);
		height: calc(247 / 750*100vw);
		background: url(images/index/deco_index_greeting06_sp.svg) no-repeat left center / cover;
		animation: none;
		transform: rotateY(0) rotate(0);
		left: 0;
		bottom: auto;
		top: 53vw;
		z-index: 0;
	}
	.index_greeting:after {
		background: url(images/index/deco_index_greeting03_sp.svg) no-repeat left center / cover;
		width: calc(645 / 750*100vw);
		height: calc(355 / 750*100vw);
		animation: none;
		right: 0vw;
    	top: 9vw;
	}
}
/* スライダー slider
------------------------------------------------------------------*/
.index_slide {
	position: relative;
	padding: 53px 0 0;
}
.index_slide:before{
	position: absolute;
	content: "";
	background: url("images/index/frame04.svg") no-repeat left center / cover;
	width: 100%;
	height: 330px;
	left: 0;
	top: 0;
	margin: auto;
}
@media(min-width: 768px) and (max-width:960px) {

}
@media(max-width: 767px) {
	.index_slide:before {
		width: calc(750 / 750*100vw);
		height: calc(128 / 750*100vw);
	}
	.index_slide {
		padding: 7vw 0 0;
	}
}

/* コピペ用 copy&paste
------------------------------------------------------------------*/

.ttl_index_blog01 .ja span{
	font-size: 277.77%;
	letter-spacing: .1em;
	padding-left: 60px;
	position: relative;
	z-index: 1;
}
.ttl_index_blog01 .ja span:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_blog01.svg") no-repeat left center / cover;
	width: 40px;
	height: 40px;
	left: 0;
	bottom:0;
	top: 5px;
	margin: auto;
}
.ttl_index_blog01 .ja span.category:before {
	background: url("images/index/deco_index_category03.svg") no-repeat left center / cover;
}
.ttl_index_blog01 .en{
	font-size: 111.11%;
	letter-spacing: 0;
	line-height: 1;
}


.wrap_index_blog02 {
	padding: 78px 0 100px;
	background: url("images/index/frame05.svg") no-repeat top center / auto;
}
.wrap_index_blog02 .ttl_index_blog01 {
	position: relative;
}
.wrap_index_blog02 .ttl_index_blog01:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_category01.png") no-repeat left center / cover;
	width: 234px;
	height: 141px;
	left: 0;
	top: -60px;
}
.wrap_index_blog02 .ttl_index_blog01:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_category02.png") no-repeat left center / cover;
	width: 234px;
	height: 140px;
	right: 8px;
	top: -60px;
}
.wrap_index_blog02 .box {
	padding: 60px 5% 30px;
	border-radius: 20px;
}

.slide_index_blog01 {
	padding: 60px 0 55px;
	border-top:dashed 2px #f08200;
	border-bottom: dashed 2px #f08200;
}
.slide_index_blog01 .slick-prev, .slide_index_blog01 .slick-next {
	width: 40px;
	height: 40px;
	background: url("images/page/arw03.svg")no-repeat center / cover;
	z-index: 1;
	top: 0;
	bottom: 0;
	margin: auto;
	transform: none;
}
.slide_index_blog01 .slick-prev:before, .slide_index_blog01 .slick-next:before {
	display: none;
}
.slide_index_blog01 .slick-prev {
	left: -5.15%;
}
.slide_index_blog01 .slick-next {
	right: -5.15%;
	transform: scaleX(-1);
}
.slide_index_blog01 .col {
	width: 32%;
	max-width: 380px;
	margin: 0 15px;
}
.slide_index_blog01 .txt_post h4 {
	white-space: normal;
}
.slide_index_blog01 .col .thmb {
	width: 100%;
	margin-bottom: 26px;
}
.slide_index_blog01 .col .img_thmb {
	width: 100%;
	height: 230px;
	overflow: hidden;
	border: none;
}
.slide_index_blog01 .col .txt_post {
	width: 100%;
}
.slide_index_blog01 .txt_post a:hover {
	text-decoration: none;
}
.slide_index_blog01 .txt_post .txt_excerpt a {
	text-decoration: none;
}
.slide_index_blog01 .col .date {
	font-size: 77.78%;
	letter-spacing: .1em;
	line-height: 1;
	margin-bottom: 10px;
}
.slide_index_blog01 .col .ttl {
	font-size: 122.22%;
	letter-spacing: .1em;
	line-height: 1.45;
}
.slide_index_blog01 .col .txt_post .txt_excerpt {
	font-size: 100%;
	line-height: 1.67;
	margin-top: 4px;
}

.list_index_category01 li {
	margin: 0 10px 30px;
}
.list_index_category01 li a {
	display: inline-block;
    padding: 12px 20px;
    font-size: 133.33%;
    line-height: 1.5;
	letter-spacing: .1em;
}
@media(min-width: 768px) and (max-width:1499px) {
	.slide_index_blog01 .slick-prev {
		left: -20px;
	}
	.slide_index_blog01 .slick-next {
		right: -20px;
	}
	.ttl_index_blog01 .ja span {
		font-size: 255.55%;
	}
}
@media(min-width: 768px) and (max-width:1299px) {
	.ttl_index_blog01 .ja span {
		font-size: 233.33%;
	}
	.wrap_index_blog02 .ttl_index_blog01:before {
		width: 170px;
		height: 102px;
		top: -115px;
	}
	.wrap_index_blog02 .ttl_index_blog01:after {
		width: 170px;
		height: 102px;
		top: -115px;
	}
	.list_index_category01 li {
		margin: 0 5px 20px;
	}
	.list_index_category01 li a {
		font-size: 111.11%;
    	padding: 10px 20px;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.ttl_index_blog01 .ja span {
		font-size: 211.11%;
	}
}
@media(max-width: 767px) {
	.wrap_index_blog01 {
		padding-bottom: 6vw;
		border-bottom: dashed 2px #f08200;
	}
	.wrap_index_blog01 .ttl_index_blog01 {
		padding-bottom: 3vw;
    	border-bottom: dashed 2px #f08200;
	}
	.ttl_index_blog01 .ja span {
		font-size: 156.25%;
		padding-left: 0;
	}
	.ttl_index_blog01 .ja span:before {
		width: calc(41 / 750*100vw);
		height: calc(41 / 750*100vw);
		top: -19vw;
		right: 0;
	}
	.ttl_index_blog01 .en {
		font-size: 92.1875%;
	}
	.slide_index_blog01 .col {
		width: 100%;
		max-width: calc(556 / 750 * 100vw);
		margin: 0;
	}
	.slide_index_blog01 {
		max-width: calc(556 / 750 * 100vw);
    	margin: 0 auto;
		padding: 0;
		border-top: none;
    	border-bottom: none;
	}
	.slide_index_blog01 .col .img_thmb {
		height:calc(335 / 750*100vw);
		padding-top: 0;
	}
	.slide_index_blog01 .slick-prev, .slide_index_blog01 .slick-next {
		width: calc(60 / 750*100vw);
		height: calc(60 / 750*100vw);
		top: 6vw;
	}
	.slide_index_blog01 .slick-next {
		right: -13.15%;
	}
	.slide_index_blog01 .slick-prev {
		left: -13.15%;
	}
	.slide_index_blog01 .col .date {
		font-size: 73.437%;
		margin-bottom: 1.5vw;
	}
	.slide_index_blog01 .col .ttl {
		font-size: 112.5%;
	}
	.wrap_index_blog02 {
		padding: 18vw 0 14vw;
    	background: url(images/index/frame05.svg) no-repeat top center / contain;
	}
	.wrap_index_blog02 .ttl_index_blog01:before {
		background: url(images/index/deco_index_category01_sp.png) no-repeat left center / cover;
		width: calc(234 / 750*100vw);
		height: calc(141 / 750*100vw);
		left: 0;
    	top: -22vw;
	}
	.wrap_index_blog02 .ttl_index_blog01:after {
		background: url(images/index/deco_index_category02_sp.png) no-repeat left center / cover;
		width: calc(234 / 750*100vw);
		height: calc(140 / 750*100vw);
		right: 0;
    	top: -22vw;
	}
	.wrap_index_blog02 .box {
		padding: 8vw 3vw 6vw;
    	border-radius: calc(20 / 750*100vw);
		margin-bottom: 6vw;
	}
	.wrap_index_blog02 .ttl_index_blog01{
		margin-bottom: 7vw;
	}
	.list_index_category01.flex.center {
		justify-content: flex-start;
	}
	.list_index_category01 li {
		margin: 0 calc(9 / 750 * 100vw) calc(20 / 750 * 100vw);
	}
	.list_index_category01 li a {
		font-size: 100%;
    	padding: 1.5vw 2.5vw 1.7vw;
		letter-spacing: 0;
	}
}

/* インスタ instagram
------------------------------------------------------------------*/
.index_insta {
	padding: 80px 0;
}
.wrap_index_instagram01 {
	position: relative;
}
.btn_index_instagram01 {
	position: absolute;
    width: 100px;
    height: 100px;
    right: 0;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 1;
}

@media(min-width: 768px) and (max-width:960px) {
	.index_insta {
		padding: 40px 0;
	}
}
@media (max-width: 767px){
	.index_insta {
		padding: 12vw 0 7vw;
	}
	.btn_index_instagram01 {
		width: calc(100 / 750 * 100vw);
		height: calc(100 / 750 * 100vw);
		top: -6vw;
	}
	.index_insta #sb_instagram #sbi_images {
		padding: 0.5vw!important;
	}
}

/* contact お問い合わせ
------------------------------------------------------------------*/
.index_contact {
	padding: 60px 0;
	position: relative;
	background: url(images/index/deco_index_contact01.svg) no-repeat left bottom -245px / auto, url(images/index/deco_index_contact02.svg) no-repeat right top -205px / auto;
}

.ttl_index_contact01 {
	font-size: 80px;
	letter-spacing: .1em;
	line-height: 0.6;
}
.box_index_contact01 {
	padding: 10px;
	position: relative;
	z-index: 1;
}
.box_index_contact01 .wrap {
	padding: 38px 4% 50px;
	border: dashed 2px #00b2d6;
	position: relative;
	z-index: 1;
}
.box_index_contact01 .wrap:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_contact03.png") no-repeat left center / cover;
	width: 150px;
	height: 150px;
	left: 17px;
    top: 17px;
	margin: auto;
}
.box_index_contact01 .wrap:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_contact04.png") no-repeat left center / cover;
	width: 150px;
	height: 150px;
	right: 17px;
	top: 17px;
	margin: auto;
}
.box_index_contact01 .ttl {
	position: relative;
	max-width: 610px;
}
.box_index_contact01 .ttl:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_contact06.png") no-repeat left center / cover;
	width: 81px;
	height: 87px;
	right: 0;
	bottom: -47px;
}
.box_index_contact01 .ttl span{
	font-size: 183.33%;
	letter-spacing: 0;
	position: relative;
	padding: 0 90px;
	line-height: 1.5;
}
.box_index_contact01 .ttl span:before {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_contact05.svg") no-repeat left center / cover;
	width: 54px;
	height: 6px;
	left: 0;
	bottom:0;
	top: 0;
	margin: auto;
}
.box_index_contact01 .ttl span:after {
	position: absolute;
	content: "";
	background: url("images/index/deco_index_contact05.svg") no-repeat left center / cover;
	width: 54px;
	height: 6px;
	right: 0;
	bottom:0;
	top: 0;
	margin: auto;
}
.box_index_contact01 .txt {
	font-size: 111.11%;
}
.row_index_contact01 {
	max-width: 1080px;
}
.row_index_contact01 .btn a{
	width: 100%;
	height: 100px;
}
.row_index_contact01 .tel {
	max-width: 460px;
	width: 43%;
}
.row_index_contact01 .tel span {
	font-size: 225%;
	letter-spacing: 0;
	position: relative;
	padding-left: 50px;
}
.row_index_contact01 .tel span:before {
	position: absolute;
	content: "";
	background: url("images/page/icn_tel.svg") no-repeat left center / cover;
	width: 30px;
	height: 30px;
	left: 17px;
	bottom:0;
	top: 0;
	margin: auto;
}
.row_index_contact01 .web span {
	font-size: 161.11%;
	position: relative;
	padding-left: 41px;
	line-height: 1.33;
	margin-bottom: 9px;
}
.row_index_contact01 .web span:before {
	position: absolute;
	content: "";
	background: url("images/page/icn_web.svg") no-repeat left center / cover;
	width: 50px;
	height: 50px;
	left: -23px;
	bottom:0;
	top: 6px;
	margin: auto;
}
.row_index_contact01 .web small {
	font-size: 60.34%;
}
.row_index_contact01 .line span{
	font-size: 161.11%;
	padding-left: 20px;
	position: relative;
}
.row_index_contact01 .line span:before {
	position: absolute;
	content: "";
	background: url("images/page/icn_line.svg") no-repeat left center / cover;
	width: 31px;
	height: 30px;
	left: -30px;
	bottom:0;
	top: 0;
	margin: auto;
}
.row_index_contact01 .web, .row_index_contact01 .line{
	max-width: 290px;
	width: 27%;
}
.row_index_contact01 .web a, .row_index_contact01 .line a{
	border-radius: 50px;
	position: relative;
}
.row_index_contact01 .web a:before, .row_index_contact01 .line a:before {
	content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #fff;
    right: 35px;
    top: 0;
    bottom: 0;
    margin: auto;
}
@media(min-width: 768px) and (max-width:1299px) {
	.ttl_index_contact01 {
		font-size: 70px;
	}
	.box_index_contact01 .ttl span {
		font-size: 177.77%;
	}
	.row_index_contact01 .btn a {
		height: 80px;
	}
	.row_index_contact01 .tel span {
		font-size: 155.55%;
		padding-left: 35px;
	}
	.row_index_contact01 .tel span:before {
		left: 0;
	}
	.row_index_contact01 .web span {
		font-size: 111.11%;
		padding-left: 40px;
	}
	.row_index_contact01 .web span:before {
		width: 35px;
		height: 35px;
		left: -10px;
	}
	.row_index_contact01 .line span {
		font-size: 111.11%;
	}
	.row_index_contact01 .web a:before, .row_index_contact01 .line a:before {
		right: 15px;
	}
	.row_index_contact01 .line span:before {
		left: -25px;
	}
	.row_index_contact01 .web, .row_index_contact01 .line {
		max-width: 205px;
	}
	.box_index_contact01 .wrap:before {
		width: 130px;
    	height: 130px;
	}
	.box_index_contact01 .wrap:after {
		width: 130px;
    	height: 130px;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.ttl_index_contact01 {
		font-size: 70px;
	}
	.box_index_contact01 .ttl span {
		font-size: 155.55%;
	}
	.row_index_contact01 .tel {
		width: 100%;
		margin-bottom: 20px;
	}
	.row_index_contact01 {
		justify-content: center;
		max-width: 600px;
	}
	.row_index_contact01 .btn a {
		height: 60px;
	}
	.row_index_contact01 .web {
		margin-right: 20px;
	}
	.row_index_contact01 .web, .row_index_contact01 .line {
		width: 48%;
	}
	.box_index_contact01 .wrap:before {
		width: 100px;
    	height: 100px;
		left: 10px;
    	top: 10px;
	}
	.box_index_contact01 .wrap:after {
		width: 100px;
    	height: 100px;
		right: 10px;
    	top: 10px;
	}
	.box_index_contact01 .ttl:before {
		right: 35px;
    	bottom: -72px;
	}
}
@media(max-width: 767px) {
	.index_contact {
		padding: 11vw 0 11vw;
	}
	.row_index_contact01 {
		max-width: 100%;
	}
	.ttl_index_contact01 {
		font-size: 250%;
	}
	.box_index_contact01 {
		padding: calc(10 / 750*100vw);
	}
	.box_index_contact01 .wrap {
		padding: 20.5vw 4vw 9vw;
		border: dashed 1px #00b2d6;
	}
	.box_index_contact01 .ttl span {
		font-size: 125%;
		padding: 0;
		letter-spacing: .1em;
	}
	.box_index_contact01 .ttl {
		margin-bottom: 1vw;
		max-width: 100%;
	}
	.box_index_contact01 .ttl span:after {
		width: calc(73 / 750*100vw);
		height: calc(8 / 750*100vw);
		right: -13vw;
	}
	.box_index_contact01 .ttl span:before {
		width: calc(73 / 750*100vw);
		height: calc(8 / 750*100vw);
		left: -13vw;
	}
	.box_index_contact01 .wrap:before {
		width: calc(150 / 750*100vw);
    	height: calc(150 / 750*100vw);
		left: 2vw;
    	top: 3vw;
	}
	.box_index_contact01 .wrap:after {
		width: calc(150 / 750*100vw);
    	height: calc(150 / 750*100vw);
		right: 2vw;
    	top: 3vw;
	}
	.box_index_contact01 .txt {
		font-size: 100%;
		margin-bottom: 6vw;
	}
	.row_index_contact01 .tel span {
		font-size: 137.5%;
		padding-left: 9vw;
	}
	.row_index_contact01 .tel {
		max-width: 100%;
   	 	width: 100%;
		margin-bottom: 5vw;
	}
	.row_index_contact01 .tel span:before {
		width: calc(38 / 750*100vw);
		height: calc(40 / 750*100vw);
		left: 2vw;
	}
	.row_index_contact01 .btn a {
		height: calc(120 / 750*100vw);
	}
	.row_index_contact01 .web, .row_index_contact01 .line {
		max-width: calc(300 / 750*100vw);
    	width: 48%;
	}
	.row_index_contact01 .web span {
		font-size: 100%;
		padding-left: 6vw;
		letter-spacing: .05em;
		margin-bottom: 1vw;
	}
	.row_index_contact01 .web small {
		font-size: 70.312%;
	}
	.row_index_contact01 .web span:before {
		width: calc(50 / 750*100vw);
    	height: calc(50 / 750*100vw);
		left: -3vw;
		top: 2vw;
	}
	.row_index_contact01 .web a:before, .row_index_contact01 .line a:before {
		right: 3vw;
		border-width: 1vw 0 1vw 1vw;
	}
	.row_index_contact01 .line span {
		font-size: 100%;
		padding-left: 5vw;
		letter-spacing: .1em;
	}
	.row_index_contact01 .line span:before {
		width: calc(40 / 750*100vw);
    	height: calc(40 / 750*100vw);
		left: -3vw;
	}
	.box_index_contact01 .ttl:before {
		width: calc(81 / 750*100vw);
    	height: calc(87 / 750*100vw);
		right: 0;
		left: 0;
		top: -14vw;
		bottom: auto;
		margin: auto;
	}
	.row_index_contact01 .web a, .row_index_contact01 .line a {
		border-radius: calc(100 / 750*100vw);
	}
}


/* フッター footer
------------------------------------------------------------------*/
.main_foot01 {
	padding: 40px 0;
}
.main_foot02 {
	padding: 80px 0;
	border-bottom: solid 6px #fff8d4;
}
.main_foot01 .link_foot {
	max-width: 1100px;
}
.main_foot01 .adjust {
	display: none;
}
.row_foot01 {
	max-width: 1160px;
}
.row_foot01 > .col_l {
	width: 46%;
	max-width: 530px;
}
.row_foot01 > .col_r {
	width: 50%;
	max-width: 570px;
	border-radius: 20px;
	padding: 10px;
	border: solid 10px #fff8d4;
}
.address_foot span{
	position: relative;
	padding-left: 25px;
}
.address_foot span:before {
	position: absolute;
	content: "";
	background: url("images/page/icn_map.svg") no-repeat left center / cover;
	width: 20px;
	height: 20px;
	left: 0;
	bottom:0;
	top: 0;
	margin: auto;
}
.tel_foot span {
	position: relative;
	padding-left: 40px;
	font-size: 202.77%;
	letter-spacing: 0;
}
.tel_foot span:before{
	position: absolute;
	content: "";
	background: url("images/page/icn_tel.svg") no-repeat left center / cover;
	width: 30px;
	height: 30px;
	left: 0;
	bottom:0;
	top: 0;
	margin: auto;
}
.tbl_foot.tbl_time02 table {
	max-width: 100%;
	border-collapse: separate;
	overflow: hidden;
	border-radius: 20px;
    border: solid 1px #8ad0dc;
}
.tbl_foot thead th {
	background-color: #8ad0dc;
}
.tbl_foot tbody tr:first-child th, .tbl_foot tbody tr:first-child td{
	border-bottom: solid 1px #8ad0dc;
}
.tbl_foot tbody tr:last-child th, .tbl_foot tbody tr:last-child td {
	padding: 9px 0 10px;
}
.tbl_foot .box {
	background: #fff;
	padding: 0;
}
.tbl_foot tbody th, .tbl_foot tbody td {
	padding: 11px 0 11px;
}
.tbl_foot .tbl_caption {
	margin-top: 15px;
    line-height: 1.5;
}
.bnr_foot{
	width: 47%;
}
.bnr_foot:nth-child(n+3){
	margin-top: 30px;
}
.pagetop {
	position: fixed;
	right: 30px;
	bottom: 40px;
	z-index: 1000;
}
.pagetop:hover {
	animation: bound .3s ease infinite alternate;
}
@keyframes bound{
  0% {transform: translateY(0px);}
  100% {transform: translateY(-10px);}
}
.copyright {
	padding: 23px 0 25px;
	font-size: 88.89%;
	letter-spacing: .1em;
}
.row_foot01 .adjust {
	display: none;
}
@media(min-width: 961px) and (max-width:1299px) {
	.row_foot01 .adjust {
		display: block;
	}
	.address_foot span:before {
		left: -20px;
	}
	.tel_foot span {
		font-size: 177.77%;
	}
}
@media(min-width: 768px) and (max-width:1299px) {
	.main_foot01 .adjust {
		display: inline-block;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.row_foot01 {
		display: block;
	}
	.row_foot01 > .col_l {
		width: 100%;
		text-align: center;
		margin: 0 auto 40px;
	}
	.row_foot01 > .col_r {
		width: 100%;
		max-width: 570px;
		margin: 0 auto;
	}
	.bnr_foot{
		width: 49%;
	}

}
@media(max-width: 767px) {
	.row_foot01 {
		display: block;
		max-width: 100%;
	}
	.row_foot01 > .col_l {
		width: 100%;
		max-width: 100%;
		text-align: center;
		margin-bottom: 7vw;
	}
	.row_foot01 > .col_r {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		border-radius: calc(20 / 750*100vw);
		padding: calc(12 / 750*100vw);
		border: solid calc(12 / 750*100vw) #fff8d4;
	}
	.copyright {
		font-size: 75%;
		letter-spacing: .1em;
    	padding: 4vw 0 20vw;
	}
	.pagetop {
		display: none!important;
	}
	.fix {
		position: fixed;
		width: 100%;
		left: 0;
		bottom: 0;
		z-index: 9;
	}
	.fix_tel {
		width: calc(121 / 750*100vw);
	}
	.fix_web {
		width: calc(256 / 750*100vw);
	}
	.fix_line {
		width: calc(256 / 750*100vw);
	}
	.pagetop_sp {
		width: calc(117 / 750*100vw);
	}
	.fix_tel a, .pagetop_sp a {
		display: block;
	}
	.main_foot01 {
		padding: 6vw 0;
	}
	.main_foot02 {
		padding: 10vw 0;
	}
	.main_foot01 .link_foot li {
		font-size: 87.5%;
	}
	.main_foot01 .link_foot {
		max-width: 100%;
	}
	.logo_foot {
		width: calc(641 / 750*100vw);
		height: calc(65 / 750*100vw);
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 10vw;
	}
	.row_foot01 .adjust {
		display: block;
	}
	.address_foot span {
		padding-left: 0;
	}
	.address_foot span:before {
		width: calc(31 / 750*100vw);
		height: calc(31 / 750*100vw);
		left: 7vw;
		bottom: auto;
		top: -5.5vw;
		right: 0;
	}
	.tel_foot {
		margin-bottom: 8vw;
	}
	.tel_foot span {
		font-size: 137.5%;
		padding-left: 9vw;
	}
	.tel_foot span:before {
		width: calc(38 / 750*100vw);
		height: calc(40 / 750*100vw);
		left: 2vw;
	}
	.tel_foot a {
		background: #fff8d4;
		height: calc(120 / 750*100vw);
		width: calc(620 / 750*100vw);
		display: flex;
		align-items: center;
		justify-content: center;
		margin-right: auto;
		margin-left: auto;
	}
	.address_foot {
		margin-bottom: 3vw;
	}
	.tbl_foot.tbl_time02 table {
		border-radius: calc(20 / 750*100vw);
	}
	.tbl_foot.day8 thead th:first-child, .tbl_time02.day8 tbody th {
		width: 29%;
	}
	.tbl_foot tbody th, .tbl_foot tbody td {
		    padding: 2vw 0 2vw;
	}
	.tbl_foot .tbl_caption {
		margin-top: 3vw;
		line-height: 1.5;
		text-align: left;
		letter-spacing: 0;
	}
	.tbl_foot .adjust {
		display: none;
	}
	.bnr_foot {
		width: 100%;
	}
	.bnr_foot:not(:last-child) {
		margin-bottom: 2.7vw;
	}
	.bnr_foot:nth-child(n+3) {
		margin-top: 0;
	}
	.main_foot01 .link_foot .nosp {
		display:none;
	}
}

/* slide リセット用*/
.bx-wrapper {
	margin-bottom: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
	border: none;
	background: transparent;
	max-width: 100%!important;
}

/*slide_index02*/
.slide_index02 .slick-prev {
	background: url("images/page/arw03.svg")no-repeat center / cover;
	width: 40px;
	height: 40px;
	transform: translate(0);
	top: 0;
	bottom: 0;
	margin: auto;
	left: 18.5%;
	z-index: 1;
}
.slide_index02 .slick-next {
	background: url(images/page/arw03.svg)no-repeat center / cover;
	width: 40px;
	height: 40px;
	right: 18.5%;
	transform: translate(0) scaleX(-1);
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
}
.slide_index02 .slick-prev:before, .slide_index02 .slick-next:before {
	display: none;
}

@media(min-width: 961px) and (max-width:1299px) {
	.slide_index02 .slick-prev {
		left: 12%;
	}
	.slide_index02 .slick-next {
		right: 11.9%;
	}
}
@media(min-width: 768px) and (max-width:960px) {
	.slide_index02 .slick-prev {
		left: 5%;
	}
	.slide_index02 .slick-next {
		right: 4.9%;
	}
	.slide_index02 .slick-prev, .slide_index02 .slick-next {
		width: 40px;
		height: 40px;
	}
}
@media(max-width: 767px) {
	.slide_index02 .slick-prev, .slide_index02 .slick-next {
		width: calc(40 / 750 * 100vw);
		height: calc(40 / 750 * 100vw);
	}
	.slide_index02 .slick-prev {
		left: 0;
	}
	.slide_index02 .slick-next {
		right: 0;
	}

}



/* フッター footer 追記 2025/03/24
------------------------------------------------------------------*/
.f-our-clinic{
	padding-bottom: 10vw;
}
.f-our-clinic-content{
	border: 2px solid #F08200;
	padding: 20px;
}
.f-our-clinic-title{
	text-align: center;
}
.f-our-clinic-title p{
	color: #00B2D6;
}
.f-our-clinic-grid{
	margin-top: 20px;
}
.f-our-clinic-item{
	background: #fff;
	padding: 20px;
	border-radius: 10px;
	position: relative;
}
.f-our-clinic-item:last-of-type{
	margin-top: 20px;
}
.f-our-clinic-item-icon{
	position: absolute;
	top: 10px;
	left: 10px;
	width: 80px;
	height: auto;
}
.f-our-clinic-item-icon img{
	object-fit: contain;
	width: 	100%;
	height: auto;
}
.f-our-clinic-item-img img{
	object-fit: cover;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
}
.f-our-clinic-item h3{
	text-align: center;
	margin-top: 15px;
}
.f-our-clinic-item p{
	margin-top: 5px;
}
.f-our-clinic a{
	display: block;
	background: #72D2E7;
	text-align: center;
	border-radius: 500px;
	padding: 0 5px;
	margin-top: 15px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.f-our-clinic a.f-our-clinic-item-link-musashi{
	background: #F19CA6;
}
.f-our-clinic-item-link p{
	color: #fff;
	margin-top: 0;
}
@media(min-width: 580px){
	.f-our-clinic-item{
		padding: 30px;
	}
}
@media(min-width: 768px){
	.f-our-clinic{
		padding-bottom: 10vw;
	}
	.f-our-clinic-content{
		padding: 30px;
	}
	.f-our-clinic-grid{
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 30px;
		margin-top: 30px;
	}
	.f-our-clinic-item:nth-child(1){
		order: 2;
	}
	.f-our-clinic-item:nth-child(2){
		order: 1;
	}
	.f-our-clinic-item:last-of-type{
		margin-top: 0;
	}
}
@media(min-width: 960px){
	.f-our-clinic-content{
		padding: 40px;
	}
	.f-our-clinic-grid{
		gap: 40px;
		margin-top: 40px;
	}
	.f-our-clinic-item{
		padding: 30px;
	}
}



/* コピペ用 copy&paste
------------------------------------------------------------------*/
@media(min-width: 768px) and (max-width:960px) {

}
@media(max-width: 767px) {

}

.grecaptcha-badge { visibility: hidden; }
