@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Infant:wght@300&family=Shippori+Mincho+B1&display=swap');

body {
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic",Meiryo,sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #4a4137;
	font-size: 17px;
	letter-spacing: 0.04em;
	font-feature-settings: "palt" 1;
	line-height: 1.8;
	padding:0;
	margin:0;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.ft_normal{
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","游ゴシック","Yu Gothic",Meiryo,sans-serif!important;
}
strong{
	font-weight: normal;
}
div,
dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,form,fildset,p,blockquote{
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font-weight: normal;
}

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

address{
	font-style:normal;
}

ul,ol{
	list-style:none;
}

a{
	color: inherit;
	text-decoration: none;
	outline: 0;
	transition: color 0.4s, background-color 0.4s;
}

i {font-weight: normal !important;}	/*アイコンフォント*/

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

.clearfix {
  min-height: 1px;
}

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

/*<group=style>*/
.fw_bold{font-weight: bold;}
.fw_mid {font-weight: 500;}
.fw_reg {font-weight: 400;}
/*</group>*/

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

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

.blocklink,
.blocklink_out {
	cursor:pointer;
}

.img_max {
	width: 100% !important;
	max-width: initial !important;
}
.change_img img {margin-left: auto; margin-right: auto;}

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

.white,.white a{color:#ffffff;}
.beige,.beige a{color:#d9ba7c;}
.beige2,.beige2 a{color:#e0c896;}/*薄い*/
.beige3,.beige3 a{color:#b59555;}/*濃い*/
.green,.green a{color:#004150;}
.purple,.purple a{color:#704350;}
.red,.red a{color:#c1272d;}
.gray,.gray a{color: #948f8b;}

.bg_beige{background: #c4a871;}
.bg_beige2{background: #b59555;}
.bg_white{background: #f8f7f6;}
.bg_white2{background: #fbf8f2;}
.bg_white3{background: #fff;}
.bg_white3_75{background:rgba(255,255,255,0.75);}
.bg_gray{background: #948f8b;}
.bg_green{background: #004150;}

.bg_grd{
	position: relative;
}
.bg_grd::before{
	position: absolute;
	display: block;
	content: "";
	background: linear-gradient(to bottom,  rgba(251,248,242,1) 0%,rgba(255,255,255,1) 100%); 
	background-size: 100% auto;
	width: 100%;
	height: 360px;
	top:0;
	left: 0;
	z-index: -2;
}
.com_bgimg{
	background: url(../images/about/img17@2x.jpg)no-repeat center center;
	background-size: cover;
}

.ft_min,
.ft_min a{
	font-family: "Shippori Mincho B1", serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: normal;
}
.ft_co,
.ft_co a{
	font-family: "Cormorant Infant", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	line-height: 1em;
}

.com_txt_link{
	text-decoration: underline;
	transition: 0.4s;
}
.com_txt_link:hover{
	text-decoration: none;
	opacity: .7;
	transition: 0.4s;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
body {
	font-size: 15px;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/* スマホのときはビューポートを基準にサイズ調節する */
/* スマホ時：emまたは%で指定する */
/* スマホ以外でビューポート基準にするときは、その都度「vw」で指定する */
body {
	font-size: 3.9vw;
	letter-spacing: 0.05em;
	line-height: 1.8em;
}
/*<group=text_align>*/
.sp_txt_l{text-align:left;}	
.sp_txt_c{text-align:center;}
/*</group>*/
	
.bg_grd::before{
	height: 30vw;
}
}



/*共通
---------------------------------------------------------*/
.max_1500 {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}
.max_1130{
	width: 100%;
	max-width: 1130px;
	margin: 0 auto;
}
.max_1120{
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
}
.max_1070{
	width: 100%;
	max-width: 1070px;
	margin: 0 auto;
}
.max_width,
.w1500,
.w1450,
.w1400,
.w1390,
.w1360,
.w1330,
.w1300,
.w1280,
.w1260,
.w1200,
.w1190,
.w1185,
.w1170,
.w1160,
.w1130,
.w1100,
.w1030,
.w1000,
.w900{
	width: 92%;
	padding: 0 4%;
	margin-left: auto;
	margin-right: auto;
}
.w1500 {max-width: 1500px;}
.w1450{max-width: 1450px;}
.w1400{max-width: 1400px;}
.w1390{max-width: 1390px;}
.w1360{max-width: 1360px;}
.w1330{max-width: 1330px;}
.w1300{max-width: 1300px;}
.w1280{max-width: 1280px;}
.w1260{max-width: 1260px;}
.w1200{max-width: 1200px;}
.w1190{max-width: 1190px;}
.w1185{max-width: 1185px;}
.w1170{max-width: 1170px;}
.w1160{max-width: 1160px;}
.w1130{max-width: 1130px;}
.w1100{max-width: 1100px;}
.w1030{max-width: 1030px;}
.w1000{max-width: 1000px;}
.w900 {max-width: 900px;}

.max_1200{
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.max_width,
.w1500,
.w1450,
.w1400,
.w1390,
.w1360,
.w1330,
.w1300,
.w1280,
.w1260,
.w1200,
.w1190,
.w1185,
.w1170,
.w1160,
.w1130,
.w1100,
.w1030,
.w1000,
.w900{
	width: 90%;
	padding: 0 5%;
}
}



/*アニメーション
---------------------------------------------------------*/
/*その場でフェードしながら出てくる*/
.fadein {
	opacity: 0;
	transition: opacity 1.5s ease;
}
.anime_on .fadein,
.anime_on.fadein {
	opacity: 1;
}

/*下からフェードしながら出てくる
.fadeup {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s ease;
}
.anime_on .fadeup,
.anime_on.fadeup {
	opacity: 1;
	transform: translateY(0px);
}

/*その場でズームしながら出てくる
.fadezoom {
	opacity: 0;
	transform: scale(0.9);
	transition: all .5s ease;
}
.anime_on .fadezoom,
.anime_on.fadezoom {
	opacity: 1;
	transform: scale(1.0);
}

/*com_step_fade
.com_step_fade span{
	display: inline-block;
	opacity: 0;
	transform: translateY(30px);
	transition: all .7s ease;
}
.anime_on .com_step_fade span{
	opacity: 1;
	transform: translateY(0px);
}
/*遅れて */
.anime_dilay_2 {transition-delay: .2s;}
.anime_dilay_4 {transition-delay: .4s;}
.anime_dilay_6 {transition-delay: .6s;}
.anime_dilay_8 {transition-delay: .8s;}
.anime_dilay_10 {transition-delay: 1.0s;}






/*swiper共通設定
---------------------------------------------------------*/
.swiper { display: none;}
.swiper.swiper-initialized { display: block;}
.swiper-fade .swiper-slide {
    transition-property: opacity !important;	/* フェードモード時 共通調整 */
}
.swip_ticker .swiper-wrapper {
	transition-timing-function: linear !important;	/*滑らかに流れ続ける*/
}

/*ドット
.swip-pagination {
	display: flex;
	margin-top: 1.2em;
	z-index: 1;
}
.swip-pagination .swiper-pagination-bullet {
	position: relative;
	cursor: pointer;
	display: block;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	background: transparent;
	box-sizing: border-box;
	border: 1px solid #45858c;
	margin: 0 1.6em 0 0 !important;
	opacity: 1 !important;
	transition: all 0.4s;
}
.swip-pagination .swiper-pagination-bullet-active,
.swip-pagination .swiper-pagination-bullet:hover {
	background: #99e0dc;
}



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



/*アコーディオン
---------------------------------------------------------*/
.open_btn {
	cursor: pointer;
}
.open_box {
	display: none;
}

.icon_open {
	letter-spacing: normal;
	line-height: 1em;
	display: inline-block;
	vertical-align: middle;
	width: .7em;
	height: .7em;
	margin-left: .5em;
	transform: translateY(-.1em);
	position: relative;
	transition: transform .4s;
}
.icon_open::before,
.icon_open::after {
	display: inline-block;
	content: "";
	position: absolute;
	width: .7em;
	height: 1px;
	background: #58595b;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius: 1px;
}
.icon_open.white::before,
.icon_open.white::after{
	background: #fff;
}
header .icon_open::before,
header .icon_open::after{
	background: #fff;
}
.icon_open::after{
  transform: rotate(90deg);
  transition: transform 0.4s;
}
.open_btn.active .icon_open::after{
  transform: rotate(0deg);
}

@media (min-width: 769px) {
.sp_accordion .open_box {
display: block !important;
}

.sp_accordion .open_btn {
display: none;
}
}



/* 下層隙間
---------------------------------------------------------*/
.com_p_top_60{padding-top: 60px;}
.com_p_top_70{padding-top: 70px;}
.com_p_top_80{padding-top: 80px;}
.com_p_top_100{padding-top: 100px;}
.com_p_top_120{padding-top: 120px;}
.com_p_top_130{padding-top: 130px;}
.com_p_top_140{padding-top: 140px;}
.com_p_top_160{padding-top: 160px;}
.com_p_top_170{padding-top: 170px;}
.com_p_top_180{padding-top: 180px;}

.com_p_btm_50{padding-bottom: 50px;}
.com_p_btm_70{padding-bottom: 70px;}
.com_p_btm_80{padding-bottom: 80px;}
.com_p_btm_100{padding-bottom: 100px;}
.com_p_btm_120{padding-bottom: 120px;}
.com_p_btm_130{padding-bottom: 130px;}
.com_p_btm_150{padding-bottom: 150px;}
.com_p_btm_160{padding-bottom: 160px;}
.com_p_btm_170{padding-bottom: 170px;}

.com_top_70{margin-top: 70px;}
.com_top_80{margin-top: 80px;}
.com_top_120{margin-top: 120px;}

.com_btm_03em{margin-bottom: .3em;}
.com_btm_05em{margin-bottom: .5em;}
.com_btm_1em{margin-bottom: 1em;}
.com_btm_10{margin-bottom: 10px;}
.com_btm_20{margin-bottom: 20px;}
.com_btm_30{margin-bottom: 30px;}
.com_btm_40{margin-bottom: 40px;}
.com_btm_50{margin-bottom: 50px;}
.com_btm_60{margin-bottom: 60px;}
.com_btm_70{margin-bottom: 70px;}
.com_btm_80{margin-bottom: 80px;}
.com_btm_90{margin-bottom: 90px;}
.com_btm_100{margin-bottom: 100px;}
.com_btm_110{margin-bottom: 110px;}
.com_btm_120{margin-bottom: 120px;}
.com_btm_130{margin-bottom: 130px;}
.com_btm_150{margin-bottom: 150px;}
.com_btm_170{margin-bottom: 170px;}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_p_top_60{padding-top:4%;}
.com_p_top_70{padding-top: 5%;}
.com_p_top_80{padding-top: 6%;}
.com_p_top_100{padding-top: 7%;}
.com_p_top_120{padding-top: 9%;}
.com_p_top_130{padding-top: 10%}
.com_p_top_140{padding-top: 12%;}
.com_p_top_160{padding-top: 14%;}
.com_p_top_170{padding-top: 15%;}
.com_p_top_180{padding-top: 16%;}
	
.com_p_btm_50{padding-bottom: 4%;}
.com_p_btm_70{padding-bottom: 5%;}
.com_p_btm_80{padding-bottom: 6%;}	
.com_p_btm_100{padding-bottom: 7%;}
.com_p_btm_120{padding-bottom: 9%;}
.com_p_btm_130{padding-bottom: 10%;}
.com_p_btm_150{padding-bottom: 13%;}
.com_p_btm_160{padding-bottom: 14%;}
.com_p_btm_170{padding-bottom: 15%;}

.com_top_70{margin-top: 5%;}
.com_top_80{margin-top: 6%;}
.com_top_120{margin-top: 10%;}
	
.com_btm_10{margin-bottom: 2%;}
.com_btm_20{margin-bottom: 3%;}
.com_btm_30{margin-bottom: 3%;}
.com_btm_40{margin-bottom: 4%;}
.com_btm_50{margin-bottom: 4%;}
.com_btm_60{margin-bottom: 5%;}
.com_btm_70{margin-bottom: 5%;}
.com_btm_80{margin-bottom: 6%;}
.com_btm_90{margin-bottom: 7%;}
.com_btm_100{margin-bottom: 8%;}
.com_btm_110{margin-bottom: 9%;}
.com_btm_120{margin-bottom: 10%;}
.com_btm_130{margin-bottom: 11%;}
.com_btm_150{margin-bottom: 13%;}
.com_btm_170{margin-bottom: 15%;}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.com_p_top_60{padding-top:6%;}
.com_p_top_70{padding-top: 7%;}
.com_p_top_80{padding-top: 8%;}
.com_p_top_100{padding-top: 10%;}
.com_p_top_120{padding-top: 12%;}
.com_p_top_130{padding-top: 13%}
.com_p_top_140{padding-top: 14%;}
.com_p_top_160{padding-top: 16%;}
.com_p_top_170{padding-top: 17%;}
.com_p_top_180{padding-top: 18%;}
	
.com_p_btm_50{padding-bottom: 5%;}
.com_p_btm_70{padding-bottom: 7%;}
.com_p_btm_80{padding-bottom: 8%;}	
.com_p_btm_100{padding-bottom: 10%;}
.com_p_btm_120{padding-bottom: 12%;}
.com_p_btm_130{padding-bottom: 13%;}
.com_p_btm_150{padding-bottom: 15%;}
.com_p_btm_160{padding-bottom: 16%;}
.com_p_btm_170{padding-bottom: 17%;}
	
.com_top_70{margin-top: 7%;}
.com_top_80{margin-top: 8%;}
.com_top_120{margin-top: 12%;}
	
.com_btm_10{margin-bottom: 3%;}
.com_btm_20{margin-bottom: 4%;}
.com_btm_30{margin-bottom: 4%;}
.com_btm_40{margin-bottom: 5%;}
.com_btm_50{margin-bottom: 5%;}
.com_btm_60{margin-bottom: 6%;}
.com_btm_70{margin-bottom: 7%;}
.com_btm_80{margin-bottom: 8%;}
.com_btm_90{margin-bottom: 9%;}
.com_btm_100{margin-bottom: 10%;}
.com_btm_110{margin-bottom: 11%;}
.com_btm_120{margin-bottom: 12%;}
.com_btm_130{margin-bottom: 13%;}
.com_btm_150{margin-bottom: 15%;}
.com_btm_170{margin-bottom: 17%;}
}



/* 文字サイズ
---------------------------------------------------------*/
.fs25{font-size: min(155%,2.6vw);letter-spacing: 0.05em;}
.fs21{font-size: min(125%,2.2vw);}
.fs20{font-size: 115%;}
.fs19{font-size: 110%;}
.fs16{font-size: 90%;}
.fs15{font-size: 85%;}
.fs14{font-size: 85%;}
.fs13{font-size: 80%;}

.min56,
.min50,
.min47,
.min43,
.min40,
.min35,
.min30,
.min27,
.min26,
.min25,
.min24,
.min23,
.min21,
.min20,
.min19,
.min16,
.min15,
.min14{
	line-height: 1.6em;
}
.min56{font-size: min(340%,4.3vw);}
.min50{font-size: min(280%,4.1vw);}
.min47{font-size: min(270%,3.75vw);}
.min43{font-size: min(240%,3.6vw);}
.min40{font-size: min(230%,3.5vw);}
.min35{font-size: min(210%,3.2vw);}
.min30{font-size: min(170%,2.9vw);}
.min27{font-size: min(160%,2.8vw);}
.min26{font-size: min(155%,2.7vw);}
.min25{font-size: min(150%,2.7vw);}
.min24{font-size: min(140%,2.6vw);}
.min23{font-size: min(130%,2.5vw);}
.min21{font-size: min(120%,2.4vw);}
.min20{font-size: min(115%,2.2vw);}
.min19{font-size: min(110%,2vw);}
.min16{font-size: min(95%,1.8vw);}
.min15{font-size: min(90%,1.8vw);}
.min14{font-size: min(85%,1.8vw);}

.co215{font-size: min(1200%,15vw);}
.co155{font-size: min(950%,11vw);}
.co150{font-size: min(900%,11vw);}
.co145{font-size: min(890%,11vw);}
.co130{font-size: min(750%,10vw);}
.co110{font-size: min(650%,9vw);}
.co96{font-size: min(590%,8.5vw);}
.co80{font-size: min(500%,8.2vw);}
.co51{font-size: 310%;}
.co30{font-size: 180%;}
.co20{font-size: 110%;}
.co15{font-size: 95%;}
.co14{font-size: 90%;}
.co13{font-size: 85%;}
.co11{font-size: 80%;}

.le_short{
	letter-spacing: -0.1em;
}
.le_short2{
	letter-spacing: -0.2em;
}
.le_short4{
	letter-spacing: -0.4em;
}
.li45,
.li45 > p,
.li45 > span{
	line-height: 1.9em!important;
}
.li50,
.li50 > p,
.li50 > span{
	line-height: 2.3em!important;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.fs20{font-size: 110%;}
.fs19{font-size: 105%;}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.fs25{font-size: 115%;letter-spacing: normal;}
.fs21{font-size: 110%;}
.fs20{font-size: 105%;}
.fs19{font-size: 103%;}
.fs16{font-size: 90%;line-height: 1.6em;}
.fs15{font-size: 85%;line-height: 1.6em;}
.fs14{font-size: 80%;line-height: 1.6em;}
.fs13{font-size: 80%;line-height: 1.6em;}

.min56,
.min50,
.min47,
.min43,
.min40,
.min35,
.min30,
.min27,
.min26,
.min25,
.min24,
.min23,
.min21,
.min20,
.min19,
.min16,
.min15,
.min14{
	line-height: 1.7em;
}
	
.min56{font-size: 175%;}
.min50{font-size: 170%;}
.min47{font-size: 165%;}
.min43{font-size: 155%;}
.min40{font-size: 155%;}
.min35{font-size: 140%;}
.min30{font-size: 120%;}
.min27{font-size: 120%;}
.min26{font-size: 110%;}
.min25{font-size: 105%;}
.min24{font-size: 105%;}
.min23{font-size: 105%;}
.min21{font-size: 105%;}
.min20{font-size: 105%;}
.min19{font-size: 105%;}
.min16{font-size: 90%;}
.min15{font-size: 85%;}
.min14{font-size: 85%;}
	
.min47.min47_sp1{font-size:130%;}
.min43.min43_sp1{font-size:120%!important;line-height: 1.5em!important;}
.min30.min30_sp1{font-size:140%;}
.min26.min26_sp1{font-size:140%;}
.min26.min26_sp2{font-size:130%;}
	
.co215{font-size: 670%;}
.co155{font-size: 450%;}
.co150{font-size: 450%;}
.co145{font-size: 400%;}
.co130{font-size: 400%;}
.co110{font-size: 400%;}
.co96{font-size: 300%;}
.co80{font-size: 280%;}
.co51{font-size: 250%;}
.co30{font-size: 130%;}
.co20{font-size: 110%;}
.co15{font-size: 95%;}
.co14{font-size: 90%;}
.co13{font-size: 85%;}
.co11{font-size: 80%;}
.menu_stf #intyo .co30{font-size:130%;line-height: 1.2em;}
	
.frontpage #counseling .box2 .co215{font-size:400%;}
	
.li45,
.li45 > p,
.li45 > span{
	line-height: 1.8em!important;
}
.li50,
.li50 > p,
.li50 > span{
	line-height: 2em!important;
}
}



/* com_slide
---------------------------------------------------------*/
.com_slide .swiper-slide{
	width: min(800px,60vw);
	aspect-ratio: 800 / 510;
}
.com_slide.img550 .swiper-slide{
	width: min(550px,35vw);
	aspect-ratio: 550 / 350;
}
.com_slide .swiper-slide img{
	width: 100%!important;
	height: 100%!important;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/
@media only screen and (max-width: 767px) { 
.com_slide .swiper-slide{
	width: 60vw;
}
.com_slide.img550 .swiper-slide{
	width: 50vw;
}
}



/*header
---------------------------------------------------------*/
header{
	position: absolute;
	top:0;
	left: 0;
	right: 0;
	z-index: 888;
	padding-top: min(35px,2vw);
}
header::before{
	position: absolute;
	display: block;
	content: "";
	background: linear-gradient(to bottom,  rgba(117,115,108,1) 0%,rgba(117,115,108,0.99) 1%,rgba(117,115,108,0) 100%);
	background-size: 100% auto;
	width: 100%;
	height: calc(100% + 135px);
	top:0;
	left: 0;
}
header .header_inbox{
	max-width: 3000px;
	margin: 0 auto;
}
header .header_flex{
	position: relative;
	z-index: 10;
	padding: 0 min(4%,3vw);
	box-sizing: border-box;
	max-width: 1500px;
	margin: 0 auto 0 0;
}
header .h_left{
	width: 18%;
	max-width: 250px;
}
header .h_right{
	width: 79%;
	max-width: 1123px;
}
header .h_right .txt1{
	display: flex;
    justify-content: start;
    align-items: center;	
	font-size:min(95%,1.6vw);
	margin-bottom: min(.5em,.5vw);
}
header .h_right .txt1 dt{
	background: #004150;
	padding: .3em .75em;
	box-sizing: border-box;
	margin-right: 1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
header .header_flex{
	padding: 0 min(40px,1.5vw);
}
header::before{
	height: calc(100% + 20vw);
}
header .h_right{
	width: 79%;
}
header .h_right .txt1 dt{
	padding: .2em .5em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
header{
	padding-top: 3vw;
}
header::before{
	height: calc(100% + 20vw);
}
header .header_flex{
	padding: 0 4vw;
}
header .h_left{
	width: 69%;
	max-width: 100%;
}
header .h_right{
	width: 26%;
	padding-top: 2vw;
}
header .h_right i{
	color: #fff;
	opacity: .8;
	font-size: 150%;
	line-height: 1em;
}
}



/*メニュー
---------------------------------------------------------*/
.m_nav {
	width: 100%;
	display: flex;
    align-items: center;
	letter-spacing: 0.1em;
	line-height: 1em;
}
.m_nav > li {
	position: relative;
}
.m_nav > li > a {
	position: relative;
	display: block;
	text-align: center;
	font-size:min(95%,1.5vw);
	line-height: 1em;
	letter-spacing: normal;
	padding: 0 min(1.25em,1vw);
}
#scl_header .m_nav > li > a {
	font-size:min(95%,1.32vw);
}
.m_nav_area .m_nav > li > a{
	color: #fff;
}
.m_nav > li > a::before{
	position: absolute;
	display: block;
	content: "";
	background: #4a4137;
	width: 1px;
	height: 1.5em;
	top: 50%;
	transform: translateY(-50%) rotate(25deg);
	left: 0;
	opacity: .4;
}
.m_nav_area .m_nav > li > a::before{
	background: #fff;
}
.m_nav > li > a::after{
	position: absolute;
	display: block;
	content: "";
	background: #4a4137;
	background-size: 100% auto;
	width: .3em;
	height: .3em;
	bottom: -1.5em;
	left: 0;
	right: 0;
	margin: 0 auto;
	border-radius: 50px;
	opacity: 0;
	transition: 0.4s;
}
.m_nav_area .m_nav > li > a::after{
	background: #fff;
}
.m_nav > li > a:hover::after,
.m_nav > li > a.select::after{
	opacity: 1;
	transition: 0.4s;
}

.m_nav_area{
	margin-top: min(2em,2vw);
}
.m_nav > li.menu_ins a{
	font-size:min(120%,1.5vw);
	opacity: .8;
}
#scl_header .m_nav > li.menu_ins{
	display: none;
}

/* アコーディオンメニュー */
.in_menu {
	display: none;
	position: absolute;
	width: 20em;
	color: #FFF;
	z-index: 999;
	right: 50%;
	top: calc(100% + 1rem);
	transform: translateX(50%);
	background:rgba(74,65,55,0.97);
	box-sizing: border-box;
	border-radius: 10px;
	letter-spacing: normal;
	text-align: left;
	padding: .8em 1.5em;
	font-size: min(100%,1.5vw);
}
#scl_header .in_menu.fir_inmenu{
	right: auto;
	left: 0;
	transform: translateX(0);
	top: calc(100% + 3.5rem);
}

.fir_inmenu li{
	border-bottom:rgba(255,255,255,0.2) 1px solid;
}
.fir_inmenu li:last-child{
	border-bottom: none;
}
.fir_inmenu li a{
	position: relative;
	display: block;
	padding: 1.5em 0;
}
.fir_inmenu li a:hover{
	color: #e0c896;
}
.fir_inmenu li a::before{
	position: absolute;
	font-family: 'fontello';
	content: '\e800';	
	right: 0;
	font-size: 40%;
	top: 50%;
	transform: translateY(-50%);
}
.med_inmenu{
	width: 100%;
	max-width: 1430px;
	padding: min(1em,1vw);
}/*
#scl_header .med_inmenu{
	width: 96%;
}*/
.com_medmenu{
	width: 100%;
	display: flex;
	justify-content: start;
	flex-wrap: wrap;
	font-size: min(100%,1.5vw)!important;
}
.com_medmenu li{
	width: 24.625%;
	margin-right: .5%;
	margin-top: .5%;
	box-sizing: border-box;
	line-height: 1.4em;
}
.com_medmenu li:nth-child(-n+4){
	margin-top: 0;
}
.com_medmenu li:nth-child(4n){
	margin-right: 0;
}
.com_medmenu li a{
	position:relative;
	color: #4a4137;
	display: block;
	height: 4em;
	border-radius:5px!important;
	background: #fff;
	border:1px solid #b7b3af;
}
.com_medmenu li a:hover{ 
	background:#fff;
	color: #997e48;
	border-color:#e0c896;
}
.com_medmenu li a::before{
	position: absolute;
	font-family: 'fontello';
	content: '\e800';	
	right: 2em;
	font-size: 35%;
	top: 50%;
	transform: translateY(-50%);
}
.com_medmenu li a span{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	width: calc(100% - 2em);
	margin: 0 auto;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {

}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.in_menu {
	top: calc(100% + .5rem);
}
#scl_header .in_menu.fir_inmenu{
	top: calc(100% + 3rem);
}
}
/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) {
.com_medmenu{
	font-size: 3.8vw!important;
} 
.com_medmenu li{
	width: 49%;
	margin-right: 2%;
	margin-top: 2%!important;
}
.com_medmenu li:nth-child(-n+2){
	margin-top: 0;
}
.com_medmenu li:nth-child(2n){
	margin-right: 0!important;
}
.com_medmenu li a{
	height: 4.8em;
	font-size: 95%;
	line-height: 1.3em;
}
.com_medmenu li a span{
	width: calc(100% - 1.5em);
}
}



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

#sp_footer{
	position: fixed;
	left: 0;
	bottom:0;
	z-index: 99999;
	width: 100%;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_nav_area {
	display: none;
}
#sp_footer{
	background: #fff;
	padding: 1.5%;
	box-sizing: border-box;
	display: flex!important;
    justify-content: space-between!important;
    align-items: center!important;
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.3));
}
#sp_footer dl{
	width: 25%;
	text-align: center;
}
#sp_footer dl dt{
	font-size: 3.7vw;
	line-height: 1em;
	margin-bottom: .4em;
}
#sp_footer dl dd{
	font-size: 4.7vw;
	line-height: 1em;
}
#sp_footer dl dd span{
	margin: 0 -0.2em;
}
#sp_footer ul{
	font-size: 4.8vw;
	width: 74%;
	align-items: center;
}
#sp_footer ul li{
	width: 33%;
	background: #4a4137;
	line-height: 1.2em;
	border-radius: 5px;
	display: flex;
    justify-content: center;
    align-items: center;	
	height: 3em;
}
#sp_footer ul li.line{background: #357d2e;}
#sp_footer ul li.web{background: #1c7573;}
	
#sp_footer ul li div,
#sp_footer ul li a{
	display: flex;
	justify-content: center;
	align-items: center;
}
#sp_footer ul li a{
	height: 100%;
	font-size:115%;
}
#sp_footer ul li a .img{
	width: 1.1em;
	margin-right: .3em;
}
#sp_footer ul li i{
	font-size:85%;
	margin-right: .1em;
}
}



/*スクロールメニュー
---------------------------------------------------------*/
#scl_header {
	position: fixed;
	z-index: 500;
	left: 0;
	top: 0;
	width: 100%;
	background-color: #fff;
	box-sizing: border-box;
	transform: translateY(-100%);
	border-bottom: 1px solid #ccc;
}
#scl_header.is-show {
	display: block;
	transform: translateY(0);
	opacity: 1;
    animation: sclAnimation 1.0s;
}
#scl_header .scl_flex {
	position: relative;
	display: flex;
    justify-content: space-between;
    align-items: center;
	box-sizing: border-box;
}
#scl_header .scl_flex .scl_nav_area{
	width: 64%;
}
#scl_header .m_nav > li:first-child > a::before{
	display: none;
}

#scl_header .scl_flex .scl_contact{
	width: 36%;
	max-width: 547px;
	background: #fbf8f2;
	padding: min(1em,1vw);
	box-sizing: border-box;
}
#scl_header .scl_flex .scl_contact .txt{
	font-size:min(78%,1.2vw);
	letter-spacing: normal;
	line-height: 1.5em;
	margin-bottom: min(.8em,.8vw);
	text-align: center;
}
#scl_header .scl_flex .scl_contact .txt dt,
#scl_header .scl_flex .scl_contact .txt dd{
	display: inline;
}
#scl_header .com_contact{
	display: flex;
    justify-content: space-between;
    align-items: center;	
	font-size:min(100%,1vw);
}
#scl_header .com_contact li{
	background: none!important;
	border:none!important;
	padding: 0!important;
}
#scl_header .com_contact li.sp_tel_btn{
	background: none!important;
	border: none!important;
	padding: 0!important;
	font-size:70%!important;
}
#scl_header .com_contact li .a_inbox{
	display: block;
	width: 100%;
	text-align: center;
}
#scl_header .com_contact li.link1 .min16{
	border:none!important;
	padding: .4em 0!important;
	margin: 0 auto;
    justify-content: center;
	align-items: center;	
}
#scl_header .com_contact li.link1 .min16 strong{
	display: inline-block;
	line-height: 1.2em!important;
}
#scl_header .com_contact li.link1 .min16 .ft_co{
	font-size:125%;
	margin-right: .1em;
	line-height: 1em!important;
}
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1500px) {
#scl_header .scl_flex .scl_contact .txt dt,
#scl_header .scl_flex .scl_contact .txt dd{
	display: inline-block;
}
#scl_header .scl_flex .scl_contact .txt dd{
	letter-spacing: -0.1em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#scl_header .scl_flex .scl_contact .txt dt,
#scl_header .scl_flex .scl_contact .txt dd{
	display: inline-block;
}
#scl_header .scl_flex .scl_contact .txt dd{
	letter-spacing: -0.1em;
}
#scl_header .com_contact{
	font-size:1.2vw;
	letter-spacing: normal;
}
}

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

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



/* com_acc
---------------------------------------------------------*/
.com_acc p.maru{
	position: relative;
	padding-left: 1em;
	box-sizing: border-box;
}
.com_acc p.maru::before{
	position: absolute;
	display: block;
	content: "";
	background: #a4a09b;
	background-size: 100% auto;
	width: .5em;
	height: .5em;
	top: .55em;
	left: 0;
	border-radius: 50%;
}
.com_acc p.maru.type2::before{
	background:rgba(209,202,196,0.50);}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_acc p.maru::before{
	top: .7em;
}
}



/* com_btn1
---------------------------------------------------------*/
.com_btn1{
	line-height: 1.5em!important;
}
.com_btn1 a{
	position: relative;
	padding-right: 2.5rem;
	box-sizing: border-box;
	margin-top: .5em;
	line-height: 1.5em!important;
}
.icon-arrow.waku{
	position: absolute;
	font-size: 6px!important;
	letter-spacing: 0!important;
	line-height: 0!important;
	top: 55%;
	transform: translateY(-50%);
	right: 0;
	width: 24px;
	height: 24px;
	box-sizing: border-box;
	background: #f1efed;
	border:1px solid #a4a09b;
	border-radius: 8px;
	display: flex;
    justify-content: center;
    align-items: center;	
	transition: 0.4s;
}
.com_btn1 a:hover{
	color: #c4a871;
}
.com_btn1 a:hover .icon-arrow.waku{
	border:1px solid #c4a871;	
	color: #fff;
	background: #c4a871;
	transition: 0.4s;
}
.icon-arrow.waku.line{
	background: none;
	border-color:#d9ba7c;
}
.white .icon-arrow.waku.line{
	border-color:#fff;
}
.icon-arrow.maru_ank{
	position: absolute;
	font-size: 6px!important;
	letter-spacing: 0!important;
	line-height: 0!important;
	top: 55%;
	transform: translateY(-50%) rotate(90deg);
	left: 0;
	width: 24px;
	height: 24px;
	box-sizing: border-box;
	background: #f1efed;
	border-radius: 9px;
	display: flex;
    justify-content: center;
    align-items: center;	
	transition: 0.4s;
}
.icon-arrow2.maru{
	position: absolute;
	font-size: 11px!important;
	letter-spacing: 0!important;
	line-height: 0!important;
	top: 55%;
	transform: translateY(-50%);
	left: 0;
	width: 24px;
	height: 24px;
	box-sizing: border-box;
	background: #4a4137;
	border-radius: 50px;
	display: flex;
    justify-content: center;
    align-items: center;	
	transition: 0.4s;
	color: #fff;
}
.icon-arrow3.maru{
	position: absolute;
	font-size: 6px!important;
	letter-spacing: 0!important;
	line-height: 0!important;
	top: 55%;
	transform: translateY(-50%);
	left: 0;
	width: 24px;
	height: 24px;
	box-sizing: border-box;
	background: #4a4137;
	border-radius: 50px;
	display: flex;
    justify-content: center;
    align-items: center;	
	transition: 0.4s;
	color: #fff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

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



/* com_schedule_list
---------------------------------------------------------*/
.com_schedule_list{
	margin-top: .5em;
}
.com_schedule_list li:nth-child(2){
	padding-left: 4em;
	text-indent: -4em;
}




/* com_btn2
---------------------------------------------------------*/
.com_btn2 a{
	display: block;
	border:rgba(255,255,255,0.5) 1px solid;
	border-radius: 20px;
	font-size:105%;
	line-height: 1.6em;
	text-align: center;
	width: 100%;
	max-width: 400px;
	padding: .9em 0 1em;
	box-sizing: border-box;
	transition: 0.4s;
	font-family: "Shippori Mincho B1", serif;
	font-weight: 400;
	font-style: normal;
}
.com_btn2 a:hover{
	background: rgba(255,255,255,0.10);
	transition: 0.4s;
}
.txt_al_c .com_btn2 a,
.com_btn2.txt_al_c a{
	margin: 0 auto;
}
.com_btn2 a span{
	position: relative;
	padding-right: 2em;
	box-sizing: border-box;
}
.com_btn2.type_line a{
	border:#4a4137 1px solid;
}
.com_btn2.type_brown a{
	border:none;
	background: #4a4137;
	padding: 1.2em 0;
	color: #fff;
	font-size: min(90%,1.8vw);
	line-height: 1.6em;
}
.com_btn2.type_brown a:hover{
	background: #695643;
}
.com_btn2.type_brown a .icon-arrow.waku{
	background: #534a41;
	border:1px solid #534a41;
	color: #fff;
}
.com_btn2.type_white a{
	background: #fff;
	border:1px solid #4a4137;
}
.com_btn2.type_white a:hover{
	color: #997e48;
	border:1px solid #997e48;
}

.com_btn2 a i{
	margin-left: .5em;
}
.com_btn2_list div{
	margin-bottom: 1em;
}
.com_btn2_list div:last-child{
	margin-bottom: 0;
}
.com_btn2_list_yoko{
	display: flex;
    justify-content: center;
	text-align: center;
}
.com_btn2_list_yoko .com_btn2{
	display: block;
	width: 100%;
	max-width: 400px;
	margin-right: min(4em,2vw);
}
.com_btn2_list_yoko .com_btn2:last-child{
	margin-right: 0;
}

.com_btn2 p.fs15{
	font-size:15px;
	margin-top: .7em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_btn2 a{
	border-radius: 10px;
	font-size:100%;
	max-width: 100%;
}

.com_btn2_list_yoko{
	display: block;
}
.com_btn2_list_yoko .com_btn2{
	display: block;
	width: 100%;
	max-width: 100%;
	margin-right:auto;
	margin-bottom: 4%;
}
.com_btn2_list_yoko .com_btn2:last-child{
	margin-right: auto;
	margin-bottom: 0;
}
.com_btn2.type_brown a{
	font-size:85%;
}
.com_btn2 p.fs15{
	font-size:90%;
}
}



/* com_btn3
---------------------------------------------------------*/
.com_btn3 a{
	position: relative;
	padding-right: 1.5em;
	box-sizing: border-box;
}
.com_btn3 i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
	font-size:60%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

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



/* com_contact
---------------------------------------------------------*/
.com_contact{
	max-width: 1190px;
	margin-left: auto;
	margin-right: auto;
    font-size: min(100%,1.5vw);
}
.com_contact.type2{
	max-width: 770px;
	margin-left: 0;
}
.com_contact.type_com{
	max-width: 1135px;
}
.com_contact li{
	width: 32.8%;
	background: #05615f;
	border-radius: 5px;
	text-align: center;
	box-sizing: border-box;
}
.com_contact.type_com li{
	width: 27.5%;
}

/*link_map*/
.com_contact.type_com li.link_map{
	width: 15%;
	background: #82916b;
}
.com_contact.type_com li.link_map:hover{
	background: #b0c294;
}
.com_contact.type_com li.link_map a{
	display: flex;
    justify-content: center;
    align-items: center;
	height: 100%;
}
.com_contact.type_com li.link_map a span{
	display: flex;
    justify-content: center;
    align-items: center;
	flex-wrap: wrap;
}
.com_contact.type_com li.link_map a span .icon-map{
	font-size:250%;
	line-height: 1em;
	display: inline-block;
}
.com_contact.type_com li.link_map a span strong{
	display: flex;
    justify-content: center;
    align-items: center;
	width: 100%;
	margin-top: .1em;
}
.com_contact.type_com li.link_map a span strong i{
	font-size: 40%;
	margin-left: .2em;
}

.com_contact li a{
	display: block;
	height: 100%;
}
.com_contact li a .a_inbox{
	display: flex;
    justify-content: center;
    align-items: center;
	height: 100%;
}

/*sp_tel_btn*/
.com_contact li.sp_tel_btn{
	background: #fdfcfc;
	border:1px solid #05615f;
	color: #05615f;
	padding: 1em 0;
}
.com_contact.type2 li.sp_tel_btn{
	padding: .4em 0;
	background: none;
	border:none;
}
.com_contact li.sp_tel_btn.type_brown{
	border:1px solid #4a4137;
	color: #4a4137;
}
.com_contact li.sp_tel_btn.type_white{
	color: #fff;
}
.com_contact li.sp_tel_btn .ft_min{
	width: 100%;
	display: block;
	word-spacing: 100%;
	font-size:110%;
	margin-bottom: .2em;
}
header .com_contact li.sp_tel_btn .ft_min,
#scl_header .com_contact li.sp_tel_btn .ft_min{
	display: none;
}
.com_contact li.sp_tel_btn div{
	width: 100%;
	display: flex;
    justify-content: center;
    align-items: center;	
	font-size:210%;
	margin-right: .5em;
}
.com_contact li.sp_tel_btn div i{
	font-size: 60%;
	margin-right: .1em;
}
.com_contact li a{
	display: block;
}
.com_contact li,
.com_contact li:hover{
	transition: 0.4s;
}

/*com_contact_open*/
.com_contact_open{
	position: relative;	
    cursor: pointer;
}
.com_contact .com_contact_open{
	color: #fff;
	font-size:140%;
	display: flex;
    justify-content: center;
    align-items: center;
}
.com_contact .com_contact_open:hover{
	background: #067875;
}
.com_contact .com_contact_open span{
	display: flex;
    justify-content: center;
    align-items: center;	
}
.com_contact .com_contact_open i{
	margin-right: .4em;
}
.com_contact .com_contact_open .icon-first{
	font-size:120%;
}
.com_contact .com_contact_open::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/kado@2x.png")no-repeat top right;
	background-size: 100% auto;
	width: .7em;
	height:.7em;
	top:0;
	right: 0;
}
.in_menu.com_contact_open_box{
	width: 100%;
	min-width: min(21rem,30vw);
	top: calc(100% + .5rem);
	border-radius: 5px;
	padding: min(1em,1vw);
	box-sizing: border-box;
	background: #d1cac4;
	font-size:17px!important;
}
.in_menu.com_contact_open_box .com_contact{
	margin: 0!important;
}
.in_menu.com_contact_open_box .com_contact li{
	width: 100%;
	margin-bottom: .5em;
}
.in_menu.com_contact_open_box .com_contact li:last-child{
	margin-bottom: 0;
}
.in_menu.com_contact_open_box .com_contact li.link1{
	height: 6em;
}
/* 上に開く状態 */
.com_contact_open.open-up .in_menu.com_contact_open_box{
    top: auto;
    bottom: calc(100% + .5rem);
}


/*link1*/
.com_contact li.link1 a{
	display: flex;
    justify-content: center;
    align-items: center;
}
.com_contact li.link1 .min30{
	position: relative;
	padding-left: 2em;
	box-sizing: border-box;
}
.com_contact.type_com li.link1 .min30{
	padding-left: 1.6em;
}
.com_contact li.link1 .min30::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/icon_line.svg")no-repeat top left;
	background-size: 100% auto;
	width: 1.5em;
	height: 1.5em;
	top: 55%;
	transform: translateY(-50%);
	left: 0;
}
.com_contact.type_com li.link1 .min30::before{
	width: 1.3em;
	height: 1.3em;
}
.com_contact li.link1.link_web .min30::before{
	background-image: url("../images/common/icon_web.svg");
	top: 70%;
}
.com_contact.type2 li.link1 .min30{
	padding-left: 0;
}
.com_contact.type2 li.link1 .min30::before{
	display: none;}

.com_contact li.link1 .min30 strong{
	font-size: 60%;
	margin: 0 .5em 0 .2em;
}
#scl_header .com_contact li.link1 .min30{
	display: none;
}
.com_contact li.link1 .min16{
	border:rgba(255,255,255,0.50) 1px solid;
	border-radius: 8px;
	display: flex;
    align-items: center;
	padding: .1em .5em;
	box-sizing: border-box;
}
.com_contact.type2 li.link1 .min16{
	border: none;
	background: #357d2e;
	transition: 0.4s;
}
.com_contact.type2 li.link1.link_web .min16{
	background: #1c7573;
}
#scl_header .com_contact.type2 li.link1:hover .min16{
	transition: 0.4s;
}
#scl_header .com_contact.type2 li.link1:hover .min16{background: #6bad66;}
#scl_header .com_contact.type2 li.link1.link_web:hover .min16{background: #5baba8;}

.com_contact li.link1 .min16 i{
	font-size:40%;
	margin-left: 1em;
}
.com_contact li.link_line{background: #357d2e;}
.com_contact li.link_web{background: #1c7573;}
.com_contact li:hover.link_line{background: #6bad66;}
.com_contact li:hover.link_web{background: #5baba8;}

.com_contact.type2 li.link_line{background:rgba(53,125,46,0.50); border:1px solid rgba(0,65,80,0.25);}
.com_contact.type2 li.link_web{background:rgba(29,122,121,0.50);border:1px solid rgba(0,65,80,0.25);}
.com_contact.type2 li.link_line:hover{background:rgba(53,125,46,0.8); border:1px solid rgba(0,65,80,1);}
.com_contact.type2 li.link_web:hover{background:rgba(29,122,121,0.8);border:1px solid rgba(0,65,80,1);}

.com_contact li.link1 .min16 .ft_co{
	display: none;
}
#scl_header .com_contact li.link1 .min16 .ft_co{
	display: block;
}

/*com_contact_memo*/
.com_contact_memo{
	text-align: center;
	margin-top: min(2em,2.5vw);
}
.com_contact_memo li{
	display: inline-block;
	margin-right: 1em;
}
.com_contact_memo li.full{
	display: block;
	margin-right: auto;
}
.com_contact_memo li:last-child{
	margin-right: 0;
}

/*type_soro*/
.com_contact.type_soro{
    justify-content: center;
}
.com_contact.type_soro li{
	width: min(390px,30vw);
}
.com_contact.type_soro li.link1{
	height: 6.2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_contact.type_com li.link1 .min30{
	padding-left: 1.3em;
}
.com_contact.type_com li.link1 .min30::before{
	width: 1.1em;
	height: 1.1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_contact{
    font-size: 3.5vw;
}
.com_contact.type2{
	max-width: 100%;
}
.com_contact li{
	width: 100%!important;
	margin-bottom: 2%;
}
.com_contact li:last-child{
	margin-bottom: 0;
}
.com_contact li.sp_tel_btn{
	padding: 4% 0;
	display: flex;
    justify-content: center;
    align-items: center;
	text-align: center;
}
.com_contact.type2 li.sp_tel_btn{
	padding: .4em 0;
}
.com_contact li.sp_tel_btn .ft_min{
	display: inline-block;
	width: auto;
	font-size:110%;
	margin-bottom: 0;
	margin-right: .3em;
}
.com_contact li.sp_tel_btn div{
	width: 6.5em;
	margin-right: 0;
}
.com_contact .com_contact_open{
	font-size:120%;
	height: 3.5em;
}
.com_contact li.link1{
	height: 4em;
	font-size:120%;
}
	
.com_contact.type_com li.link_map a{
	height: 4em;
}
.com_contact.type_com li.link_map a span{
	display: flex;
    justify-content: center;
    align-items: center;
	flex-wrap: wrap;
	height: 100%;
}
.com_contact.type_com li.link_map a span .icon-map{
	font-size:200%;
	display: inline-block;
	height: 1.2em;
	margin-right: .3em;
}
.com_contact.type_com li.link_map a span strong{
	position: relative;
	display: inline-block;
	width: auto;
	margin-top: 0;
	padding-right: 1em;
	box-sizing: border-box;
	font-size:120%;
}
.com_contact.type_com li.link_map a span strong i{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}
/*com_contact_memo*/
.com_contact_memo{
	text-align: left;
	font-size:80%;
	line-height: 1.9em;
}
.com_contact_memo li{
	margin-right: 0;
}
	
/*com_contact_open_box*/
.in_menu.com_contact_open_box{
	padding: 3%;
	font-size:3.9vw!important;
}
.in_menu.com_contact_open_box .com_contact li.link1{
	height: 3.5em;
}
	
/*type_soro*/
.com_contact.type_soro li{
	width: 100%;
}
.com_contact.type_soro li.link1{
	height: 4em;
}
}



/* footer
---------------------------------------------------------*/
footer .f_box1 .f_box1_l{
	width: 50%;
	background: url("../images/common/f_img1@2x.jpg")no-repeat center center;
	background-size: cover;
}
footer .f_box1 .f_box1_r{
	width: 50%;
	background: url("../images/top/reason_abs4@2x.png")no-repeat bottom -1px right #004150;
	background-size: 80% auto;
	padding: min(80px,7vw) 9%;
	box-sizing: border-box;
}
footer .f_box1 .f_box1_r .inbox{
	width: 100%;
	max-width: 480px;
	margin-left: 0;
	margin-right: auto;
}
footer .f_box1 .logo{
	position: relative;
	padding-left: min(9.3em,10vw);
	box-sizing: border-box;
	margin-bottom: 1em;
}
footer .f_box1 .logo::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/logo_white.svg")no-repeat top left;
	background-size: 100% auto;
	width: min(8em,9vw);
	height: min(6.5em,7.5vw);
	left: 0;
	top:50%;
	transform: translateY(-50%); 
	aspect-ratio: 130 / 101;
}
footer .f_box1 .logo .min43{
	margin: .1em 0;
	line-height: 1em!important;
}
footer .f_box1 .com_btn1{
	margin-top: .4em;
}
footer .com_btn1 a {
	line-height: 1em;
}
footer .com_btn1 a span{
	display: flex;
    align-items: center;
}
footer .com_btn1 a .icon-arrow{
	font-size: 40%;
	color: #c9c6c3;
	margin-left: 1em;	
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1250px) {
footer .f_box1 .f_box1_r{
	padding-left: 4%;
	padding-right: 4%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
footer .f_box1 .f_box1_r{
	padding: 4vw 4%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
footer .f_box1{
	display: block;
}
footer .f_box1 .f_box1_l{
	width: 100%;
	background: #004150;
	background-image: none;
	padding-top: 9%;
}
footer .f_box1 .f_box1_l .img{
	width: 85%;
	margin: 0 auto;
}
footer .f_box1 .f_box1_r{
	width: 100%;
	background-size: 100% auto;
	padding: 6% 5% 8%;
}
footer .f_box1 .f_box1_r .inbox{
	max-width: 100%;
}
footer .f_box1 .inbox > div,
footer .f_box1 address,
footer .f_box1 ul{
	text-align: left;
}
footer .f_box1 .inbox_spcenter{
	display: inline-block;
	margin: 0 auto;
}
footer .f_box1 .logo{
	display: inline-block;
	margin: 0 auto 1.5em;
	padding-left: 5.5em;
}
footer .f_box1 .logo::before{
	width: 5em;
	height: 4em;
}
footer .f_box1 .logo .min43{
	margin: .3em 0 .4em;
}
footer .f_box1 .f_box1_r .com_btn1{
}
}



/* f_box2
---------------------------------------------------------*/
footer .f_box2{
	background: #fbf8f2;
	padding: min(60px,6vw) 0;
}
footer .f_box2 .f_box2_tit{
	margin-bottom: min(1.5em,2.5vw);
}
footer .f_box3{
	background: #fbf8f2;
}
footer .f_box3 .inbox{
	border-top:1px solid #d1cac4;
	padding: min(50px,5vw) 0 min(60px,6vw);
}
footer .f_box3 .open_box{
}
footer .f_box3 .inbox2{
	position: relative;
	max-width: 1300px;
	margin: 0 auto;
}
footer .f_box3 .list p,
footer .f_box3 .list li{
	margin-bottom: 1em;
}
footer .f_box3 .list li:last-child{
	margin-bottom: 0;
}
footer .f_box3 .list li a{
	position: relative;
	padding-left: 1.2em;
	box-sizing: border-box;
}
footer .f_box3 .list li a:hover{
	color: #c4a871;
}
footer .f_box3 .list li a::before{
	position: absolute;
	font-family: 'fontello';
	content: '\e800';	
	left: 0;
	font-size: 40%;
	top:.3em;
	color: #c9c6c3;
}
footer .f_box3 .list li a:hover::before{
	color: #c4a871;
}
footer .f_box3 .menu-column1{
	width: 15%;
}
footer .f_box3 .menu-column2{
	width: 50%;
}
footer .f_box3 .menu-column2 ul{
	width: 48%;
}
footer .f_box3 .menu-column3{
	width: 29%;
}
footer .f_box3 .bnr{
	margin-top: min(70px,6vw);
}
footer .f_box3 .bnr li{
	width: 50%;
	max-width: 400px;
}
footer .f_box3 .last{
	width: 50%;
	text-align: right;
	position: absolute;
	bottom: 0;
	right: 0;
}
footer .f_box3 .last .flex_box{
    justify-content: flex-end;	
}
footer .f_box3 .last .flex_box li{
	margin-right: 1.3em;
}
footer .f_box3 .last .flex_box li:last-child{
	margin-right: 0;
}
footer .f_box3 .last .co14{
	margin-top: 1em;
} 

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1280px) {
footer .f_box3 .menu-column1{
	width: 18%;
}
footer .f_box3 .menu-column2{
	width: 62%;
}
footer .f_box3 .menu-column2 ul:nth-child(1){
	width: 47%;
}
footer .f_box3 .menu-column2 ul:nth-child(2){
	width: 53%;
}
footer .f_box3 .menu-column3{
	width: 15%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
footer .f_box3 .menu-column1{
	width: 18%;
}
footer .f_box3 .menu-column2{
	width: 62%;
}
footer .f_box3 .menu-column2 ul:nth-child(1){
	width: 47%;
}
footer .f_box3 .menu-column2 ul:nth-child(2){
	width: 53%;
}
footer .f_box3 .menu-column3{
	width: 15%;
}
footer .f_box3 .list li a{
	padding-left: .8em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
footer .f_box2{
	padding: 8% 0;
}
footer .f_box2 .f_box2_tit{
	margin-bottom: 4%;
}
footer .f_box3 .inbox{
	padding: 10% 0 25vw;
}
footer .f_box3 .sp_accordion{
	border-top:1px solid #4a4137;
	border-bottom:1px solid #4a4137;
	padding: 1em 0;
}
footer .f_box3 .open_btn{
	font-size: 140%;
	letter-spacing: 0.1em;
}
footer .f_box3 .open_box{
	padding-top: 1em;
}
footer .f_box3 .open_box .min14{
	font-size:100%;
}	
footer .f_box3 .list{
	display: block;
}
footer .f_box3 .list p,
footer .f_box3 .list li,
footer .f_box3 .menu-column2 ul{
	margin-bottom: .5em;
}
footer .f_box3 .menu-column2 ul:last-child{
	margin-bottom: 0;
}
footer .f_box3 .list li a{
	position: relative;
	padding-left: 1.2em;
	box-sizing: border-box;
}
footer .f_box3 .list li a::before{
	position: absolute;
	font-family: 'fontello';
	content: '\e800';	
	left: 0;
	font-size: 40%;
	top:.3em;
	color: #c9c6c3;
}
footer .f_box3 .menu-column1 ul,
footer .f_box3 .menu-column3 ul{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
footer .f_box3 .menu-column1 ul li,
footer .f_box3 .menu-column3 ul li{
	width: 50%;
}
footer .f_box3 .menu-column1{
	width: 100%;
}
footer .f_box3 .menu-column2{
	width: 100%;
	margin: 5% 0;
}
footer .f_box3 .menu-column2 ul{
	width: 100%;
}
footer .f_box3 .menu-column3{
	width: 100%;
}
footer .f_box3 .bnr{
	margin-top: 10%;
	margin-bottom: 7%;
}
footer .f_box3 .bnr li{
	width: 100%;
	margin: 0 auto;
}
footer .f_box3 .last{
	width: 100%;
	position: static;
}
footer .f_box3 .last .flex_box li{
	margin-right: 1em;
}
}



/* f_bnr
---------------------------------------------------------*/
.f_bnr .inbox{
	border-top:1px solid #d1cac4;
	max-width: 1310px;
	margin-left: auto;
	margin-right: auto;
}
.f_bnr .inbox > .flex_box{
	align-items: stretch!important;
}
.f_bnr .tit,
.f_bnr .tit span{
	line-height: 1em;
}
.f_bnr .f_bnr_info{
	width: 14%;
}
.f_bnr .f_bnr_info li{
	border-bottom: 1px solid #d1cac4;
}
.f_bnr .f_bnr_info li a{
	position: relative;
	display: block;
	padding: 1.7em .5em 1.3em;
	box-sizing: border-box;
    font-size: min(105%,1.5vw);
}
.f_bnr .f_bnr_info li a:hover{
	color: #997e48;
}
.f_bnr .f_bnr_info li a:hover i{
	background:rgba(153,126,72,0.6);
	border-color:rgba(153,126,72,0.6);
	color: #fff;
}
.f_bnr .f_bnr_off{
	width: 40%;
	display:flex;
	flex-direction:column;
}
.f_bnr .f_bnr_off .tit{
	margin-bottom: min(1em,1vw);
}
.f_bnr .f_bnr_off ul.flex_box{
	flex:1;
	align-items:stretch;
}
.f_bnr .f_bnr_off li{
	display: flex;
    justify-content: center;
    align-items: center;	
	width: 32%;
	background: #fbf8f2;
	border:1px solid #ede5d4;
	border-radius: 10px;
	transition: 0.4s;
}
.f_bnr .f_bnr_off li:hover{
	background:rgba(224,200,150,0.2);
	border-color:#e0c896;
	transition: 0.4s;
}
.f_bnr .f_bnr_off li a{
	position: relative;
	display: flex;
    justify-content: center;
    align-items: center;	
	width: 100%;
	height: 100%;
	padding: 0 4%;
	box-sizing: border-box;
}
.f_bnr .f_bnr_off li a i{
	position: absolute;
	bottom: 1em;
	right: 1em;
	left: auto;
	top:auto;
	transform: translateY(0);
	width: 20px;
	height: 20px;
}
.f_bnr .f_bnr_rec{
	width: 39.5%;
	background:url(../images/common/fbnr_rec@2x.jpg)no-repeat center center;
	background-size: cover;
}
.f_bnr .f_bnr_rec a{
	position: relative;
	display: block;
	height: 100%;
}
.f_bnr .f_bnr_rec a span{
	position: absolute;
	display: inline-block;
	bottom: .7em;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.f_bnr .f_bnr_rec .ft_co{
	width: 100%;
	display: inline-block;
	font-size: min(350%,4.5vw);
	line-height: 1em;
}
.f_bnr .f_bnr_rec .ft_min{
	position: relative;
	display: inline-block;
	font-size:min(125%,2vw);
	line-height: 1em;
	padding-right: 35px;
	box-sizing: border-box;
}
.f_bnr .f_bnr_rec .ft_min i{
	left: auto;
	right: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.f_bnr .f_bnr_info li a{
	padding: 1.4em 0 1em;
}
.f_bnr .f_bnr_info li a i{
	border-radius: 3px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.f_bnr .inbox > .flex_box{
	display: block;
}
.f_bnr .tit,
.f_bnr .tit span{
	margin-bottom: .5em;
}
.f_bnr .f_bnr_info{
	width: 100%;
}
.f_bnr .f_bnr_info ul{
	display: flex;
	justify-content: space-between;
	margin-top: -.5em;
}
.f_bnr .f_bnr_info li{
	width: 48%;
}
.f_bnr .f_bnr_info li a{
	padding: 1em .5em;
    font-size: 100%;
}
.f_bnr .f_bnr_off{
	width: 100%;
	display:flex;
	flex-direction:column;
	margin: 8% 0;
}
.f_bnr .f_bnr_off .tit{
	margin-bottom:.5em;
}
.f_bnr .f_bnr_off .img{
	width: 18vw;
	margin: 0 auto;
}
.f_bnr .f_bnr_off li{
	height: 6.5em;
}
.f_bnr .f_bnr_rec{
	width: 100%;
	height: 8em;
}
.f_bnr .f_bnr_rec .ft_co{
	font-size:10vw;
}
.f_bnr .f_bnr_rec .ft_min{
	font-size: 4vw;
}
}



/* drawer
---------------------------------------------------------*/
.dr_box1{
	background: #fff;
	padding: 8% 0;
}
.dr_box1 .dr_logo{
	position: relative;
	padding-left:5.5em;
	box-sizing: border-box;
	margin-bottom: 5%;
}
.dr_box1 .dr_logo::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/common/dr_logo.svg")no-repeat top left;
	background-size: 100% auto;
	width: 4.5em;
	height: 3.5em;
	top: 55%;
	transform: translateY(-50%);
	left: 0;
}
.dr_box1 .dr_logo dd{
	margin-top: .2em;
}
.dr_box1 .dr_logo dd a{
	display: flex;
    justify-content: start;
    align-items: center;
	letter-spacing: 0.1em;
}
.dr_box1 .dr_logo dd i{
	font-size:50%;
	margin-left: .5em;
}
.com_spmenu li{
	width: 49%;
	border-bottom: 1px solid #4a4137;
	text-align: center;
}
.com_spmenu li a{
	display: block;
	padding: 1.5em 0 1em;
}

.dr_box2{
	background: #fcfaf6;
	padding: 10% 0;
}
.dr_box2 .tit{
	font-size:120%;
	letter-spacing: 0.1em;
	margin-bottom: .6em;
	text-align: center;
}
.dr_box2 .com_btn2 a{
	margin: 4% auto 0;
	width: 90%;
	background:rgba(35,67,138,0.75);
}

.dr_box3{
	background: #fff;
	padding: 8% 0 25vw;
}
.dr_box3 .menu1{
	margin-bottom: 5%;
	font-size:90%;
}
.dr_box3 .menu1 li{
	border-right: 1px solid #4a4137;
	text-align: center;
	width: 33.333%;
	box-sizing: border-box;		
}
.dr_box3 .menu1 li:first-child{
	border-left: 1px solid #4a4137;
}
.dr_box3 .menu1 li a{
	display: block;
}
.dr_box3 .menu2{
	justify-content: center;
}
.dr_box3 .menu2 li{
	margin-right: 1em;
}
.dr_box3 .menu2 li:last-child{
	margin-right: 0;
}
.dr_box3 .menu2 li img{
	width: 2.5em;
	height: auto;
}



/* com_index1
---------------------------------------------------------*/
.com_index1{
	text-align: center;
}
.com_index1 .ft_co{
	margin-bottom: .2em;
}
.com_index1.type_line{
	position: relative;
	padding-bottom: min(40px,3vw);
}
.com_index1.type_line::before{
	position: absolute;
	display: block;
	content: "";
	background: #004150;
	background-size: 100% auto;
	width: 100%;
	max-width: 230px;
	height: 1px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.com_index2{
	text-align: center;
	background: #fbfbf8;
	border-top:1px solid #004150;
	border-bottom:1px solid #004150;
	padding: .7em 0 .75em;
	font-family: "Shippori Mincho B1", serif;
	font-weight: 400;
	font-style: normal;
	color:#004150;
}
.com_index2 span.ft_co{
	font-size:130%;
}

.com_index3{
	position: relative;
	padding-left: 1.2em;
	box-sizing: border-box;
	margin-bottom: 1em;
	font-weight: bold;
}
.com_index3::before{
	position: absolute;
	display: block;
	content: "";
	background: #4a4137;
	background-size: 100% auto;
	width: 5px;
	height: calc(100% + -.3em);
	top:50%;
	transform: translateY(-50%); 
	left: 0;
}
.com_index3.beige3::before{background: #b59555;}

.com_index4{
	position: relative;
	text-align: center;
}
.com_index4 .co215{
	margin-bottom: -0.2em;
}
.com_index4 .ft_min{
	position: absolute;
	top:50%;
	transform: translateY(-50%); 
	left: 0;
	right: 0;
	margin: 0 auto;
}
.com_index4 .co215.green{
	color:#f2f5f6;
}
.com_index4{
	width: calc(100% + 20em);
	margin-left: -10em;
}

.com_index5{
	position: relative;
	background: #004150;
	padding: .8em .5em .85em;
	box-sizing: border-box;
	line-height: 1.3em;
	color: #fff;
	font-family: "Shippori Mincho B1", serif;
	font-weight: 400;
	font-style: normal;
	text-align: center;
}
.com_index5::before{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/common/index_grd_l@2x.jpg) no-repeat top left;
	background-size: auto 100%;
	width: 500px;
	height: 100%;
	top:0;
	left: 0;
}
.com_index5::after{
	position: absolute;
	display: block;
	content: "";
	background: url(../images/common/index_grd_r@2x.jpg) no-repeat top right;
	background-size: auto 100%;
	width: 500px;
	height: 100%;
	top:0;
	right: 0;
}
.com_index5_box{
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.com_index5 span{
	position: relative;
	z-index: 2;
}

.com_index6{
	text-align: center;
	font-family: "Shippori Mincho B1", serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: normal;
}
.com_index6 > span{
	position: relative;
	display: inline-block;
	padding-left: 1.2em;
	padding-right: 1.2em;
	box-sizing: border-box;
}
.com_index6 > span::before{
	position: absolute;
	display: block;
	content: "―";
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
.com_index6 > span::after{
	position: absolute;
	display: block;
	content: "―";
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}
.com_index6.nami > span::before,
.com_index6.nami > span::after{
	content: "〜";
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_index1 .ft_co{
	margin-bottom: .1em;
}
.com_index1.type_line{
	padding-bottom: 4%;
}
.com_index4 .ft_co{
	letter-spacing: -0.05em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_index1 .ft_co{
	margin-bottom: .1em;
}
.com_index2 small{
	font-size:80%;
	margin: 0 -0.5em;
	letter-spacing: normal;
}
	
.com_index3{
	padding-left: 1.5em;
}
.com_index3::before{
	width: 3px;
	height: calc(100% + -.1em);
}
	
.com_index4 .ft_co{
	font-size: 600%;
	letter-spacing: -0.05em;
}
.com_index6 > span{
	line-height: 1.6em;
	padding-left: 1em;
	padding-right: 1em;
}
.com_index6 > span::before{
	left: -0.5em;
}
.com_index6 > span::after{
	right: -0.5em;
}
}



/* com_qa
---------------------------------------------------------*/
.com_qa dl{
	margin-bottom: min(70px,6vw);
}
.com_qa dl:last-child{
	margin-bottom: 0;
}
.com_qa dt{
	margin-bottom: min(2.5em,2.5vw);
}
.com_qa dt p{
	position: relative;
	padding-left: 4.7em;
	box-sizing: border-box;
}
.com_qa dt p::before{
	position: absolute;
	content: "Q";
	top:-.8em;
	left: 0;
	background: #004150;
	color: #fff;
	width: 3em;
	height: 3em;
	border-radius: 500px;
	display: flex;
    justify-content: center;
    align-items: center;	
	font-family: "Cormorant Infant", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-size:110%;
}
.com_qa dd{
	background: #fafaf9;
	padding: min(2em,2vw) 3.5%;
	box-sizing: border-box;
}
.com_qa dd p{
	position: relative;
	padding-left: 3.5em;
	box-sizing: border-box;
}
.com_qa dd p::before{
	position: absolute;
	display: block;
	content: "A.";
	top:-.5em;
	left: 0;
	color: #004150;
	font-family: "Cormorant Infant", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	font-size:200%;
}
.com_qa .post_cat{
	justify-content: start;
}
.com_qa .post_cat a,
.com_qa .post_cat a:hover{
	color: #d3bf99!important;
}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_qa dl{
	margin-bottom: 10%;
}
.com_qa dt{
	margin-bottom: 1em;
}
.com_qa dt p{
	padding-left: 3.4em;
}
.com_qa dt p::before{
	top:-.35em;
	width: 2em;
	height: 2em;
	font-size:130%;
}
.com_qa dd{
	padding: 5% 4% 6%;
}
.com_qa dd p{
	padding-left: 2.7em;
}
.com_qa dd p::before{
	top:-.3em;
	font-size: 170%;
}
}


/* m_img_area
---------------------------------------------------------*/
.contentpage .m_img_area{
	position: relative;
	height:min(560px,40vw);
	background: url(../images/about/m_img@2x.jpg)no-repeat top center;
	background-size: cover;
}
.contentpage header::before{
	display: none;
}
.contentpage .m_copy{
	position: absolute;
	bottom: min(50px,5vw);
	left: 0;
	right: 0;
	margin: 0 auto;
	text-align: center;
	color: #fff;
}
.contentpage .m_copy .ft_co{
	mix-blend-mode: difference!important;
	font-size: min(780%,9.2vw);
	line-height: .9em;
	text-transform: uppercase;
}
.contentpage .m_copy .ft_min{
	font-size:min(240%,3vw);
	line-height: 1.4em;
	margin-top: min(.9em,.9vw);
	display: flex;
    justify-content: center;
    align-items: center;
}
.contentpage .m_copy .ft_min small{
	font-size: 45%;	
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.contentpage .m_img_area{
	height: 60vw;
}
.contentpage .m_copy{
	bottom: 5vw;
}
.contentpage .m_copy .ft_co{
	font-size: 12vw;
	line-height: .3em;
}
.contentpage .m_copy .ft_min{
	font-size: 5.5vw;
	margin-top:0.9em;
	display: block;
}
.contentpage .m_copy .ft_min small{
	display: block;
	width: 100%;
	font-size: 70%;
}
}



/* 下層共通
---------------------------------------------------------*/
.pankuzu{
	color: #b3b3b3;
	line-height: 1.5em;
	margin-top: 1em;
	text-align: right;
}
.pankuzu li{
	position: relative;
	display: inline-block;
	padding-right: 1.5em;
}
.pankuzu li:last-child{
	padding-right: 0;
}
.pankuzu li::before{
	position: absolute;
	display: block;
	content: "＞";
	top:0;
	right: 0;
}
.pankuzu li:last-child::before{
	display: none;
}
.pankuzu li a{
	text-decoration: underline;
}
.pankuzu li a:hover{
	text-decoration: none;
}

.com_anklist{
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
	margin-top:min(-2.5em,-2.5vw);
}
.com_anklist li{
	display: inline-block;
	margin-right: 3em;
	margin-top:min(2.5em,2.5vw);
}
.com_anklist li:last-child{
	margin-right: 0;
}
.com_anklist li a{
	position: relative;
	padding-left: 35px;
	box-sizing: border-box;
}

.com_bdr{
	border-bottom: 1px solid rgba(209,202,196,0.30);}
.com_bdr.opa5{
	border-bottom: 1px solid rgba(209,202,196,0.5);}

.com_bdr_tate{
	width: 1px;
	height: min(95px,7.5vw);
	margin-left: auto;
	margin-right: auto;
	background: #4a4137;
	opacity: .5;
}
.com_bdr_tate.white{background: #fff;}
.com_bdr_tate.blue{background: #004150;}
.com_bdr_tate.opa1{opacity: 1;}

.com_bdr_tate.type35{
	height: min(35px,2.5vw);}
.com_bdr_tate.type50{
	height: min(50px,4vw);}

.com_marulist li{
	position: relative;
	padding-left: 1.5em;
	box-sizing: border-box;
	margin-bottom: .2em;
}
.com_marulist li:last-child{
	margin-bottom: 0;
}
.com_marulist li::before{
	position: absolute;
	display: block;
	content: "";
	background: #dacaaa;
	background-size: 100% auto;
	width: .75em;
	height: .75em;
	top:.45em;
	left: 0;
	border-radius: 50px;
}
.com_marulist.green li::before{	background: #80a0a7;}

.com_col4 li{
	width: 24%;
}
.com_col4 li .ft_min{
	left: -0.1em;
	line-height: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_col4 li .fs19{
	line-height: 1.5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_anklist{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	margin-top: -1em;
	font-size:95%;
}
.com_anklist li{
	width: 49%;
	margin-right: 0;
	margin-top: 1em;
}
.com_anklist li.full{
	width: 100%;
}
.com_anklist li.long{
	width: 55%;
}
.com_anklist li.short{
	width: 43%;
}
.com_anklist li a{
	position: relative;
	display: block;
	padding-left: 30px;
}
.com_anklist li a i{
	position: absolute;
	top:.5em!important;
	transform: translateY(0) rotate(90deg)!important;
	left: 0;
}
.com_bdr_tate{height: 10vw;}
.com_bdr_tate.type50{height:9vw;}
.com_bdr_tate.type35{height:8vw;}
	
.com_marulist li{
	padding-left: 1.3em;
}
.com_col4{
	display: block;
}
.com_col4 li{
	width: 100%;
	margin-bottom: 8%;
}
.com_col4 li .img{
	width: 60%;
	margin: 0 auto .5em;
}
.com_col4 li:last-child{
	margin-bottom: 0;
}
.com_col4 li .fs19{
	line-height: 1.5em;
}
}





/* com_check
---------------------------------------------------------*/
.com_check li{
	position: relative;
	margin-bottom: .8em;
	padding-left: 1.6em;
	box-sizing: border-box;
}
.com_check li:last-child{
	margin-bottom: 0;
}
.com_check.type_inline li{
	display: inline-block;
	margin-right: min(2em,2vw);
}
.com_check.type_inline li:last-child{
	margin-right: 0;
}
.com_check li i{
	position: absolute;
	top:0;
	left: 0;
}
.com_attention li{
	padding-left: 1em;
	text-indent: -1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_check li{
	margin-bottom: .3em;
}
.com_check.type_inline li{
	display: block;
	margin-right: 0;
}
}



/* com_price_box
---------------------------------------------------------*/
.com_price_box{
	margin-bottom: 50px;
}
.com_price_box:last-of-type{
	margin-bottom: 0;
}
.com_price_box .table1{
	width: 100%;
	margin-bottom: 20px;
}
.com_price_box .table2{
	width: 100%;
}
.com_price_box .table1 th,
.com_price_box .table1 td,
.com_price_box .table2 th,
.com_price_box .table2 td{
	box-sizing: border-box;
	padding: min(1rem,1.5vw) min(1.5rem,1.5vw);
}
.com_price_box .table2 th,
.com_price_box .table2 td{
	border-bottom: 1px solid #f2e7d1;
}
.com_price_box .table2 tr:first-child th,
.com_price_box .table2 tr:first-child td{
	border-top: 1px solid #f2e7d1;
}
.com_price_box .table1 th,
.com_price_box .table2 th{
	width: 73%;
	text-align: left;
}
.com_price_box .table1 th{
	background:rgba(249,245,235,0.80);
}
.com_price_box .table1 td,
.com_price_box .table2 td{
	width: 27%;
	text-align: right;
    font-size: min(100%,1.6vw);
}
.com_price_box .table1 td{
	background:rgba(247,241,229,0.80);
}
.com_price_box .table2 td{
	background:rgba(247,241,229,0.80);
}
.com_price_box .table1 td dl,
.com_price_box .table2 td dl{
	display: flex;
	justify-content: flex-end;
    align-items: center;	
}
.com_price_box .table1 td dt,
.com_price_box .table2 td dt{
	margin-right: .5em;
}
.com_price_box .table1 td .ft_co,
.com_price_box .table2 td .ft_co{
	font-size:200%;
}
.com_price_box .table1 td strong,
.com_price_box .table2 td strong{
	font-size:120%;
}

.com_price_box .flt_box .img_l{
	width: 33%;
	float: left;
}
.com_price_box .flt_box .txt_r{
	width: 63%;
	float: right;
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_price_box{
	margin-bottom: 8%;
}
.com_price_box .table1{
	margin-bottom: 4%;
}
.com_price_box .table1 th,
.com_price_box .table1 td,
.com_price_box .table2 th,
.com_price_box .table2 td{
	display: block;
	width: 100%;
	padding:4%;
	text-align: center!important;
}
.com_price_box .table1 td,
.com_price_box .table2 td{
	padding:2%;
}
.com_price_box .table2 th{
	border-bottom: none;
}
.com_price_box .table2 td:first-child{
	border-top: none;
}
.com_price_box .table1 td,
.com_price_box .table2 td{
    font-size: 3.2vw;
	display: flex;
    justify-content: center;
	border-top:none!important;
}
.com_price_box .table1 td dl,
.com_price_box .table2 td dl{
	display: flex;
	justify-content: center;	
	margin-right: 1em;
}
.com_price_box .table1 td dl:last-child,
.com_price_box .table2 td dl:last-child{
	margin-right: 0;
}
.com_price_box .table1 td dt,
.com_price_box .table2 td dt{
	margin-right: .5em;
}

.com_price_box .flt_box .img_l{
	width: 60%;
	float: none;
	margin: 0 auto 4%;
}
.com_price_box .flt_box .txt_r{
	width: 100%;
	float: none;
}
}


/* com_case
---------------------------------------------------------*/
.com_case > li{
	border-bottom: 1px solid #4a4137;
	padding-bottom: 50px;
	margin-bottom: 50px;
}
.com_case .before_after > div{
	position: relative;
	width: 70%;
	max-width: 920px;
	margin: 0 auto;
}
.com_case .before_after > div::before{
	position: absolute;
	content: "BEFORE";
	top:0;
	left: 0;
	background: #004150;
	border:1px solid #004150;
	color: #fff;
	border-radius: 50%;
	width: 5em;
	height: 5em;
	text-align: center;
	display: flex;
    justify-content: center;
    align-items: center;
	font-family: "Cormorant Infant", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	line-height: 1em;	
	font-size:min(150%,2.3vw);
}
.com_case .before_after > div.after::before{
	content: "AFTER";
	background: #fff;
	color: #004150;
}
.com_case .before_after > div.before{
	padding-bottom: 3em;
}
.com_case .before_after > div.before::after{
	position:absolute;
	display: block;
	content: "";
	background: #004150;
	background-size: 100% auto;
	width: 1px;
	height: 1.5em;
	bottom: .8em;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.com_case table{
	width: 100%;
	margin-top: min(50px,3vw);
}
.com_case table th{
	width: 25%;
	background:rgba(247,241,229,0.80);
	font-size:110%;
	letter-spacing: 0.15em;
	line-height: 1.4em;
}
.com_case table td{
	width: 75%;
}
.com_case table th,
.com_case table td{
	border-top:1px solid #e8e5e2;
	padding: min(1.5rem,1.5vw) min(2.5rem,2.5vw);
	box-sizing: border-box;
}
.com_case table tr:last-child th,
.com_case table tr:last-child td{
	border-bottom:1px solid #e8e5e2;
}
.com_case .com_btn1{
	margin-top: min(3em,3vw);
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_case > li{
	padding-bottom: 8%;
	margin-bottom: 8%;
}
.com_case .before_after > div{
	width: 100%;
}
.com_case .before_after > div::before{
	font-size: 3.5vw;
}
.com_case table{
	margin-top:5%;
}
.com_case table th{
	font-size:100%;
	letter-spacing: normal;
}
.com_case table th,
.com_case table td{
	padding: .8em 3%;
}
.com_case .com_btn1{
	margin-top: 4%;
}
}




/* com_col2
---------------------------------------------------------*/
.com_col2 > li{
	width: 48.5%;
	border-top:1px solid #004150;
	padding: min(100px,8vw) 0;
}
.com_col2.type_white li{
	border-color:rgba(255,255,255,0.30);
}
.com_col2 > li .txt{
	max-width: 450px;
	margin-left: auto;
	margin-right: auto;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.com_col2 > li{
	width: 48%;
	padding: 6vw 0;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.com_col2{
	display: block;
	margin-bottom: 0
}
.com_col2 > li{
	width: 100%;
	padding: 12% 0;
}
.com_col2 > li .img{
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
.com_col2 > li .txt{
	max-width: 100%;
}
}


/* 
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

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



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

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

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