@charset "UTF-8";

:root{
	--user-color-main: #FA633D;
	--user-color-main-font: #FA633D;
	--user-color-accent: #E4E8ED;
	--user-color-accent-font: #3C3D3D;
	--user-color-point: #3C3D3D;
	--user-color-point-font: #a5a5a5;
	--user-color-background: #ffffff;
}

.css-main-color { background-color: var(--user-color-main); }
.css-accent-color { background-color: var(--user-color-accent); }
.css-point-color { background-color: var(--user-color-point); }
.css-main-font-color { color: var(--user-color-main-font); }
.css-accent-font-color { color: var(--user-color-accent-font); }
.css-point-font-color { color: var(--user-color-point-font); }
.css-background-color { background-color: var(--user-color-background); }



/*
Theme Name: Wavy		
Author: Aimi Kinjo
Version: 1.0
*/
body{margin:0}

/*--------------------------------------------------------------------------------
 *
 *
 * リセット
 *
 *
--------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; font:inherit; font-size:100%; vertical-align:baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html, body { width:100%; height:100%; line-height:1; }
ol, ul { list-style:none; }
blockquote, q {quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
table { border-collapse:collapse; border-spacing:0; }
* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; }

/*--------------------------------------------------

   Clearfix

--------------------------------------------------*/
.cf { zoom:1; } .cf:before,.cf:after { content:""; display:table; } .cf:after { clear:both; }

/*--------------------------------------------------------------------------------
 *
 *
 *
 *
 * 基本設定
 *
 *
 *
 *
--------------------------------------------------------------------------------*/
html { overflow:auto; }
@media screen and (max-width:1000px){ body { width:1000px; } }
@media screen and (max-width:768px){ body { width:100%; background:none; } }
body {font-family:'Noto Sans Japanese',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック", Verdana,Arial, Helvetica, sans-serif; font-size:100%; line-height:1.75; 
	font-weight:normal; background:#fff; position:relative; min-height: 100vh;
	display:-webkit-box; display:-ms-flexbox; display: flex; 
	flex-flow: column; }
a:link,
a:visited { text-decoration:none; transition:.3s ease; }
a:hover,
a:active { ; text-decoration:none; transition:.3s ease; opacity: 1;}
img { max-width:100%; height:auto; vertical-align:top; backface-visibility:hidden; }
a:link img,
a:visited img {opacity:1.0; transition:.3s ease; }
a:hover img,
a:active img {opacity: 0.6; transition: .3s ease; }
video::-webkit-media-controls-enclosure { overflow:hidden; }
video::-webkit-media-controls-panel { width: calc(100% + 30px); }
b, strong { font-weight: bold; }
em { font-style: italic; }

/* ------------------------------小見出し属性------------------------------　*/
p { font-size:14px; margin:0 0 20px 0; padding:0; line-height:2; display:block; /*text-align: justify;*/}
ul { margin:0; padding:0; }
li { margin:0; padding:0; font-size:14px; }
img { max-width:100%; height:auto; display:block; }
/*@media screen and (max-width:768px){
	p { font-size:14px; }
	li { font-size:14px; }
}*/

.pc { display:block!important; }
.sp { display:none!important; }
@media screen and (max-width:768px){
	.pc { display:none!important; }
	.sp { display:block!important; }
}

/*--------------------------------------------------------------------------------
 *
 * ヘッダー
 *
--------------------------------------------------------------------------------*/
/* ------------------------------ロゴ・メニューバーエリア------------------------------　*/
header { margin: 0 auto; /*position: fixed; z-index: 1000;  transition: .8s ease; top: 0; */width: 100%; box-shadow: 1px 1px 0px #eee;}
@media screen and (max-width:768px) {
  header + * { padding-top: 82px!important; }
}
header .inner {width:100%; }
.header-wrap { width: 100%; max-width: 1000px; height: 60px; margin: auto;
	display:-webkit-box; display:-ms-flexbox; display: flex; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center; 
	/*-webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;*/ }
.header-right { margin-left: auto; width: 70%;
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;   
	-webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
.header-right  > ul {  padding: 0; margin: 0; list-style: none;
	display: -webkit-box; display: -ms-flexbox; display: flex; 
	-webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; 
	-ms-flex-line-pack: center; align-content: center; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;  
	-webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end;}
.header-right ul > li { font-size: 0.75rem; line-height: 1.5;
	-ms-flex: 0 0 auto; flex: 0 0 auto; -webkit-box-flex: 0; }
.header-right a {text-align: center; width: auto; font-size: 14px;}
.header-right p {margin: 0; line-height: 1.4; font-size: 12px; text-align: center;}
.header-right .header-time {display: flex; /*margin-right: 20px;*/ justify-content: space-between;}
.header-right .header-time p.time {margin: 0 10px;}
.header-right .time span {padding: 4px 10px; font-weight: bold; margin: 2px 0; margin-right: 10px;}
.header-contact {/*font-weight: bold;*/ transition: all 0.3s ease 0s; box-sizing:border-box; position: relative; padding-right: 1.8em !important; height: 40px; 
	/*margin-right: 10px;*/ padding-left: 1em !important; border-radius: 2px; color: #fff !important;
	display: -webkit-box !important; display: -ms-flexbox !important; display: flex !important;	
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.header-contact i {position: absolute; top: 50%; right: 1%; -webkit-transform : translate(-50%,-50%); transform : translate(-50%,-50%);}
.header-contact:hover {border-radius: 50px; transition: all 2s ease 0s;}
.number {font-size: 24px;}
.header-tel  {text-align: center;
	/*display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;*/} 
.header-tel a {padding-right: 10px;}  
.header-tel p {
	display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
#hdr__Logo { display: block;
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;}  
#hdr__Logo img { object-fit: contain; }
#header-h1 {font-size: 10px;  padding: 2px 0; /* padding: 3px 0; width: 90%;*/
    max-width: 1000px;
    margin: auto;
    display:-webkit-box; display:-ms-flexbox; display:flex;
     -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
header #h2 { position:absolute; left:150px; top:-6px; font-size:10px; color:#ffffff; text-align:left; margin:0; padding:0; font-weight:normal; }
img.header-logo.js-image{  margin-top: 0; width: auto; }

@media screen and (max-width:966px){
	header { width:100%; height:auto; position: fixed; top: 0; z-index: 9999;}
	.header-wrap {/*display: none;*/ }
	#header-h1 {padding: 2px 5%;}
	
}

@media screen and (max-width:766px){
	
	header .inner { width:100%; height:auto; }
	.header-wrap {/*height: 0px; width: 100%;*/}
}

/* ------------------------------ヘッダー切り替え------------------------------　*/
#header { -webkit-transition-property: top; -o-transition-property: top; transition-property: top; -webkit-transition-duration: .3s;-o-transition-duration: .3s; transition-duration: .3s;}

/*--------------------------------------------------------------------------------
 *
 * トップメインビジュアル
 *
--------------------------------------------------------------------------------*/

/* ------------------------------メインビジュアル------------------------------　*/
#kv { width:100%; height:600px;  background:  url(/templates/25/images/header.jpg) no-repeat 50% 0; background-size:  cover; /*background-attachment:fixed;*/}
.bg-slider {background-position:center center; background-size:cover; 
	display:-webkit-box; display:-ms-flexbox; display: flex; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center; 
	-webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
#kv #kv_inner { width:1000px; height:auto; margin:0 auto; padding:0; height: 600px;
	display:-webkit-box; display:-ms-flexbox; display:flex;  
	-webkit-box-pack: start; -ms-flex-pack: start; justify-content:flex-start; 
	-webkit-box-align:center; -ms-flex-align:center; align-items:center;/*上下中央揃え*/ }
#kv #kv_inner .catch_copy {width:  50%;
	/*-webkit-box-flex:0; -ms-flex:0 0 1410px; flex: 0 0 410px; */  }

#kv #kv_inner .catch_copy h2{font-size:36px; text-align:left; /*font-weight:bold;*/ color:#fff; text-shadow:0 3px 3px rgba(0,0,0,0.3); line-height: 1.5; margin-bottom: 20px;}
#kv #kv_inner .catch_copy p {color: #fff; text-align: left;}
#kv #kv_inner .catch_copy span {margin: 0 auto 20px;}

@media screen and (max-width:966px){
	#kv #kv_inner {padding-left: 5%; /*margin-top: 80px;*/}
}

@media screen and (max-width:766px){
	#kv { height: 80vh; /*padding-top:60px;*/ background-attachment:initial;display: block; }		
	#kv #kv_inner { width:100%; height: 100%; padding-left: 0;}
	#kv #kv_inner .catch_copy { width:100%;  padding: 5%; }
	#kv #kv_inner .catch_copy h2 {font-size: 1.8em; letter-spacing: 3px;}
}


/* ------------------------------メインビジュアル------------------------------　*/
/*#kv { width:100%; height: 600px; position: relative;}
.swiper-slide {position: relative;}
.swiper-slide .catch_copy {background: rgba(0,0,0,.3); width: 100%; height: 100%; padding: 10%;
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
.swiper-slide img {height: 600px; object-fit: cover; width: 100%;
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;}    
.swiper-container .swiper-slide .swiper-slide-content {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: all 2s ease 0s;}
.swiper-pagination {left: 0; width: 100%; bottom: 20px;}
.bg-opacity {background-color: rgba(0,0,0,0.6);}*/

/*キャッチコピー*/
/*.catch_copy h2 {font-size: 50px; margin: 0; padding: 0;line-height: 1.7; text-align: center; color: #fff;}
.catch_copy h2 span {font-size:20px; display: block;}
.catch_copy h3 {font-size: 35px; font-weight: bold; color: #fff;}
.copy_center {-webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
.copy_left {-webkit-box-pack: left;	-ms-flex-pack: left; justify-content: left;}*/

/*@media screen and (max-width:966px) {
	#kv {height: 50vh; margin-top: 0;background-position: 100% 100%; background-size: 80%;}   
	#kv #kv_inner {  height: 90vh; width: 90%; justify-content: center;}
}

@media screen and (max-width:766px){
	#kv { height: auto; display: block; background-position: 50% 100%; background-size: 100%; background-image: none;}
	#kv #kv_inner { width: 90%; padding-top: 50px; height: auto;}
    #kv #kv_inner .catch_copy { width: 100%;}
	#kv #kv_inner .catch_copy h2 span { font-size: 40px;letter-spacing: 0;}
	#kv #kv_inner .catch_copy h2 {font-size: 20px;}
	#kv #kv_inner .kv-point-wrapper {padding: 5%;}
	#kv #kv_inner .kv-point-wrapper p.point {font-size:  18px;}
	#kv .kv-point ul li {font-size: 14px;}
	#kv .kv-point p{font-size: 18px;}
	#kv #kv_inner .kv-point ul li { font-size: 14px;}
	.kv-sp-img {display:block;margin: 0;}
	.swiper-slide .catch_copy {padding: 7%;}
	.catch_copy h2 {font-size: 2em;}
}*/

/* ------------------------------TEL------------------------------　*/
.phone .inner {display: flex; color: #fff; padding: 10px 0; align-items: center;
    justify-content: center;} 
.phone h2 {font-size: 16px; margin-bottom: 0; letter-spacing: 3px;}
.phone a {color: #FFFFFF;
    font-size: 160%;
    /*font-weight: 700;*/
    margin: 0 20px;}
.phone i {margin-right: 10px; font-size: 80%;}
.phone p {margin-bottom: 0;}

@media screen and (max-width:766px){
	.phone .inner {display: block;
    padding: 5%;
    width: 100%;
    text-align: center;}
    .phone a {margin: auto;}
}
/*--------------------------------------------------------------------------------
 *
 * グローバルナビゲーション
 *
--------------------------------------------------------------------------------*/
/* ------------------------------グローバルナビゲーション（PC）------------------------------　*/
nav#header__nav { clear:both; margin:0 auto; padding:0; z-index:999;  display:initial;}
nav#header__nav > ul { overflow: hidden; margin: 0 auto; padding-left: 0; height: 45px;
	display:-webkit-box; display:-ms-flexbox; display: flex; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center; 
	-webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end;}
nav#header__nav >  ul >  li {/*border-right: solid 1px;*/ height: 65px; margin: 0 1em !important;
    display:-webkit-box; display:-ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
nav#header__nav >  ul >  li:hover {border-bottom: 1px solid ; transition: all .3s;}
nav#header__nav >  ul >  li:last-child {margin-right: 0 !important;}
nav#header__nav >  ul >  li:last-child:hover {border-radius: 50px;}
nav#header__nav  > ul  > li a { display: block;  box-sizing: border-box; transition: background .25s cubic-bezier(.165, .84, .44, 1); text-align: center; font-size: 14px; 
	display: flex;
    align-items: center;
    }
nav#header__nav >  ul  > li a:before { padding-right:5px; }
nav#header__nav >  ul  > li a:hover{ text-decoration:none; }
nav#header__nav > ul > li i {/*padding-right: 6px;*/}
nav#header__nav  > ul  > li  span {display: block;line-height: 1.2;text-align: center;}
#hdrLeft {/*padding-left: 15px;*/ width: 40%;
    display:-webkit-box; display:-ms-flexbox; display: flex; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center; 
    -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start;}

@media screen and (max-width: 966px) { 
	#hdrLeft {display: none !important; max-width: 28%;}
	nav#header__nav { display: none;}
}

/* ------------------------------グローバルナビゲーション（モバイル）------------------------------　*/
#header .slicknav_menu { width:100%; height:auto; margin:0; position:fixed; top:20px; z-index: 100;}
#header #slicknav_nav a { text-decoration:none; }
#header ul { list-style:none; }
#header ul li a:before { content:none; padding-right:0; }
#header ul li  span {display: block;line-height: 1.2;text-align: left;}
#header .slicknav_menu ul { width:100%; height: 100vh;padding: 30px 0;}
#header .slicknav_menu ul li { width:100%; text-shadow:none; border-bottom: 1px solid #fff; text-align:left; /*font-weight: bold;*/ font-size: 14px; }
#sp-header-logo {
    max-width: 300px;
    width: 80%;
    padding-left: 15px;
    max-height: 50px;
    object-fit: contain;
    object-position: 0% 50%;
}
.sp_logo_box{height: 60px; border-bottom: 1px solid #eee; width: calc(100% - 120px);
	display:-webkit-box; display:-ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center; 
	-webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }

@media screen and (max-width: 966px) {
    #header ul li a {padding: 20px ;display: block;}
    #header ul li a i {padding-right: 6px;}
}

/* ------------------------------ハンバーガーボタン------------------------------　*/
.slicknav_btn { position: absolute; display: block; vertical-align: middle; float: right; padding: 0.438em 0.625em 0.438em 0.625em; cursor: pointer; width: 60px; height: 60px;text-align: center; top: 0px; 
	right: 0;}
.slicknav_menu .slicknav_menutxt {font-size: 8px; display: block;line-height: 1.188em;transform: scale(0.85); }
.slicknav_menu .slicknav_menutxt {font-weight: bold;}
.header-bars {color: #fff;}

@media screen and (max-width: 966px) {
	.slicknav_menu {display: block !important;
    width: 100% !important;}
	#header.is_show {background: none;}
}

/* ------------------------------ヘッダーエントリーーボタン------------------------------　*/
.entry_btn { position: absolute; padding: 0.438em 0 0.438em 0; cursor: pointer; width: 60px; height: 60px; text-align: center; top: 0px; right: 60px; color: #fff;
	-webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.line_btn { position: absolute; padding: 0.438em 0.625em 0.438em 0.625em; cursor: pointer; width: 60px; height: 60px; text-align: center; top: 0; right: 60px; color: #fff; background-color: #31d507
	-webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.entry_btn span, .line_btn span {
    font-size: 8px;
    display: block;
    line-height: 1.188em;
    transform: scale(0.85);
    font-weight: bold;
    white-space: nowrap;
    margin: 0px -30%;
}

/*--------------------------------------------------------------------------------
 *
 * コンテンツ
 *
--------------------------------------------------------------------------------*/
/* ------------------------------共通------------------------------　*/
section { width:100%; overflow: hidden;display: block;}
section .inner { width:90% ;max-width:1000px; margin:0 auto; padding:80px 0; }
main {margin: 0 !important; padding: 0;}

/*--------------------------------------------------------------------------------
 *
 * コンテンツ
 *
--------------------------------------------------------------------------------*/
/* ------------------------------共通------------------------------　*/
section { width:100%; overflow: hidden;display: block;}
section .inner { width:90% ;max-width:1000px; margin:0 auto; padding:80px 0; }
main {margin: 0 !important; padding: 0;}
#contents {/*margin-top: 90px !important;*/  margin: 0; flex: 1;}
.contents-bg {background-color: rgba(0,0,0,0.2); height: 100%;}

@media screen and (max-width:966px) {
	/* #contents { padding-top: 80px; } */
}

@media screen and (max-width:766px) {
	section .inner { width:90%; padding:60px 0; }
	/*#contents {margin-top: 60px !important; margin-top: 60px !important; margin-left: 0!important; margin-right: 0 !important;}*/
}

/* ------------------------------パーツ------------------------------　*/
hr {display: block; height: 1px; border-top: 2px solid; margin: 15px auto 35px; width: 50px;}
section h2 { font-size: 30px; line-height: 1.5; font-weight: 500; padding: 0; margin-bottom: 45px; letter-spacing: 5px; padding-top: 0; text-align: center;}
section h2 span {font-size: 13px; display: block; margin-top: 10px; margin: 10px auto 0; font-weight: normal;
	/*display:-webkit-box; display:-ms-flexbox; display: flex; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;*/}
/*section h2 span:before, section h2 span:after {content: ""; height:2px; background-color:currentColor; margin: auto;
	-webkit-box-flex:0.2; -ms-flex-positive:0.2; flex-grow: 0.2; }
section h2 span:before {margin-right: 1rem; }
section h2 span:after {margin-left: 1rem;}*/
section .lead {text-align: center; }
.kv_underlayer h2 {padding: 50px 0; font-size: 45px;}
section h3  {font-size: 22px; /*font-weight: bold;*/ margin-bottom: 20px;}
section h4  {font-size: 18px; /*font-weight: bold;*/ margin-bottom: 20px;}

@media screen and (max-width:766px) {
	section h2 { font-size:1.6em; }
	section h2 span {width: 100%; margin: 15px auto 35px;}
	section h3 {font-size: 1.4em;}
	section h4 {font-size: 1.2em;}
}

/*--------------------------------------------------------------------------------
 * PHILOSOPHY
--------------------------------------------------------------------------------*/
.philosophy h3 { text-align:center; font-size:18px; /*font-weight:bold;*/ border-bottom: 1px solid;
    display: table;
    margin: 0 auto 20px;
    padding-bottom: 5px; }
.philosophy p { text-align:center; margin:0; clear: both;}

/*--------------------------------------------------------------------------------
 * TROUBLE
--------------------------------------------------------------------------------*/
/*.trouble {text-align: center;}
.trouble-wrapper {text-align: center; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center; }*/
.trouble ul {padding: 30px;}
.trouble ul li {font-size: 16px;line-height: 2; text-align: left; letter-spacing: 3px;}
.trouble ul li i {margin-right: 6px;}
.trouble ul li span {border-bottom: 1px solid;
    padding-bottom: 3px;}
.trouble p {font-size: 26px; text-align: center; margin: 0; line-height: 1.7; padding: 15px 30px; letter-spacing: 3px; font-weight: bold; position: relative;}
.trouble p:before {content: ""; position: absolute; top: 100%; left: 50%; margin-left: -15px; border: 15px solid transparent; border-top: 15px solid;} 
.trouble p span {color: #fff;}

@media screen and (max-width:766px) {
	.trouble ul {padding: 7%;}	
	.trouble ul li {font-size: 12px; }
	.trouble p {font-size: 1.2em; padding: 7%;}
}

/*--------------------------------------------------------------------------------
 * feature
--------------------------------------------------------------------------------*/
.feature ul { 
	display:-webkit-box; display:-ms-flexbox; display: flex; 
	-ms-flex-wrap: wrap; flex-wrap: wrap; 
	-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; 
	-webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch;}
.feature ul li { text-align: center; width: calc(32%); padding: 2%;}
.feature ul li h3 {font-size: 20px;
    font-weight: 500;
    margin-bottom: 10px;
    border-bottom: 1px solid; 
    padding-bottom: 10px;}
i.service-icon  {width: 100px;
    height: 85px;
    /* border-radius: 50%; */
    margin: 0 auto 30px;
    font-size: 45px;
    /* color: #fff; */
    padding-right: 0; 
	display:-webkit-box; display:-ms-flexbox; display: flex; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;
	-webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

@media screen and (max-width:766px) {
	.feature ul { display: block;}
	.feature ul li {width: 100%; margin-bottom: 5%;}
	.feature ul li h3 {font-size: 1.5em;}
}
    
/*--------------------------------------------------------------------------------
 * VOICE
--------------------------------------------------------------------------------*/
.voice .inner {padding: 80px 0 120px 0;} 
.voice ul {width: 100%;}
/*.voice ul li:first-child {width: 20%;}
.voice ul li:last-child {width: 80%; padding-left: 30px;}*/
.voice img {width: 130px; height: 130px; object-fit: cover; margin: 20px auto; border-radius: 50%;}
.voice h3 {border-bottom: 1px solid; padding-bottom: 10px;}
.voice p.voice-work {margin-bottom: 0px;
    letter-spacing: 1px;
    /* border-top: 1px solid; */
    padding-top: 20px;
    margin-top: 20px;
    text-align: right;}
.voice p.voice-name {font-size: 16px;
    /* font-weight: bold; */
    margin-bottom: 10px;
    letter-spacing: 2px;
    text-align: right;}
.voice p.voice-ttl {font-size: 24px; font-weight: bold; margin-bottom: 15px; line-height: 1.5;}

.voice .inner {position: relative;}


.swiper-slide {position: relative; margin: 0 15px; background: #fff; padding: 30px;}
/*.swiper-slide .catch_copy {background: rgba(0,0,0,.3); width: 100%; height: 100%; padding: 10%;
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;}*/
/*.swiper-slide img {height: 600px; object-fit: cover; width: 100%;
    display:-webkit-box; display:-ms-flexbox; display:flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;}  */  
/*.swiper-container .swiper-slide .swiper-slide-content {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: all 2s ease 0s;}*/
.swiper-pagination {left: 0; width: 100%; bottom: 55px;}
/*.bg-opacity {background-color: rgba(0,0,0,0.6);}*/



@media screen and (max-width:766px){
	/*.kv-sp-img {display:block;margin: 0;}*/
	.swiper-slide  { margin: 0 2%; padding: 7%; }
	
}


@media screen and (max-width:766px){
	.voice ul { display: block; margin-bottom: 5%;}
	.voice ul li:first-child { width: 100%; margin: 0 auto;}
	.voice ul li:last-child {width: 100%; margin-top: 10%; padding-left: 0;}	
}

/*--------------------------------------------------------------------------------
 * ACCESS
--------------------------------------------------------------------------------*/  
#map {width: 100%; height: 300px;} 
.map {width: 100%; height: 300px;} 
.map iframe {width: 100%; height: 100%;}  
.map ul > li {border-bottom: 1px solid #e6e6e6; padding: 26px 0; text-align: left; vertical-align: middle; line-height: 1.5; font-size: 14px;
	display: -webkit-box; display: -ms-flexbox; display: flex;}
.map ul > li:first-child {border-top: 1px solid #e6e6e6; position: relative;}
.map ul > li .map-right { margin-left: auto;}
.map ul > li h3 {font-size: 16px; font-weight: bold; margin-bottom: 12px; border-bottom: 3px solid; padding-bottom: 10px;}
.map ul > li p {font-size: 14px;margin-bottom: 0px; line-height: 1.7;}
.map-right .btn {width: 380px; border-radius: 4px; position: relative;}
.map-right .btn i {position: absolute; top: 50%; right: 0%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}

@media screen and (max-width:766px){
	.map ul > li:first-child .map-right .btn {position: absolute; top: -50px; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
    .map iframe {margin-bottom: 60px;}	
}

/*--------------------------------------------------------------------------------
 * SERVICE
--------------------------------------------------------------------------------*/
.service { background: url(/templates/25/images/service.png) no-repeat 50% 0; background-size: cover; background-attachment: fixed;}
.service h3 { text-align:center; /*font-size:26px; font-weight:bold; */margin: 0 0 20px 0; /*border-bottom: 3px dotted; padding-bottom: 10px;*/ padding-bottom: 15px; border-bottom: 1px solid;}
/*.service h3 span {font-size: 14px;}*/
.service h3 strong {font-size: 35px; font-weight: bold;}
.service .service-icon { font-size:26px; opacity: 1;}
.service ul { 
	display:-webkit-box; display:-ms-flexbox; display:flex; 
	-webkit-box-pack:center; -ms-flex-pack:center; 
	-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content:space-between; 
	-webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch;
	-ms-flex-wrap:wrap; flex-wrap:wrap;}
.service ul > li { width: calc(32%); margin:10px 0; /*padding:30px;*/}
.service li p { font-size:14px; margin: 0;}
.service .menu-img {height: 200px;}
.service .menu-img img {width: 100%;  height: 100%; object-fit: cover;}
.service .txt-wrapper {padding: 5px; margin: 25px;}
    
@media screen and (min-width:967px) and (max-width:1024px){
	.service ul > li { width:calc(32%);}
}

@media screen and (max-width:966px){
	.service ul > li { width:48.5%;  margin:15px 0; }
}

@media screen and (max-width:766px){
	.service ul {display: block;}
	.service ul > li {margin: 5% 0; width: 100%;}
	.service h3 {font-size: 1.6em;}
	.service li p { font-size:12px;}
	.service .menu-img {height: 200px;}
	.service .txt-wrapper {padding: 7% 2%; margin: 3%;}
}

/*--------------------------------------------------------------------------------
 * MESSAGE
--------------------------------------------------------------------------------*/
.message-left ul {margin: 0 auto;
	display:-webkit-box; display:-ms-flexbox; display: flex; 
	-ms-flex-wrap: wrap; flex-wrap: wrap; 
	-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.message-left ul > li:first-child {width: 45%; position: relative; height: auto; }
.message-left ul > li:first-child .message-img {margin-bottom: 0; height: 100%;}
.message-left ul > li:first-child .message-name {position: absolute; right: 0; bottom: -12px;  margin-bottom: 0; font-size: 100px; line-height: 1; font-weight: bold; text-align: right;}
.message-left ul > li:first-child .message-name span {display: block;}
.message-left ul > li:first-child img {width: 100%; height: inherit; object-fit: cover; position: absolute;
    left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%);}
.message-left ul > li:last-child {padding: 100px 0 100px 30px; max-width: 560px; counter-reset: number; margin-right: auto; width: 53%;}
.message h3 {font-weight: bold; text-align: justify;text-justify: inter-ideograph;}
.message-work {margin-bottom: 0px;
    letter-spacing: 1px;
    /*border-top: 1px solid;*/
    padding-top: 20px;
    margin-top: 20px;
    text-align: right;}
.message-work span.year {margin-left: 15px; font-size: 14px; font-weight: normal;}
.message-profile .message-name {font-size: 18px; /*font-weight: bold;*/ margin-bottom: 10px; letter-spacing: 2px; text-align: right;}
.message-profile .message-name span.en {margin-left: 15px; font-size: 12px;}
.message-wrapper {/*padding: 30px;*/ position: relative;}

@media screen and (max-width:966px) {
	.message-left ul > li:first-child {width: 100%; height: 450px;}
	.message-left ul > li:last-child {width: 100%; padding: 5%; max-width: none;}		   
}

@media screen and (max-width:766px) {
	.message-wrapper {/*padding: 7%;*/}
	.message-left ul {padding: 0 0 60px 0;}
	.message-left ul > li:first-child {margin-bottom: 5%; height: 200px;}
	.message-work {font-size: 12px;}
	.message-profile .message-name {font-size: 1.4em;}
	.message-profile .message-name span.en {font-size: .8em;}
}

/*--------------------------------------------------------------------------------
 * COLUMN
--------------------------------------------------------------------------------*/
.column  .bg-opacity {background-color: rgba(0,0,0,0.6);}
.column  > .bg-opacity > .inner > p { text-align:center; margin:0; color:#fff; }

/* ------------------------------新着情報------------------------------　*/
ul.post, #articles { width: 100%; 
	display:-webkit-box; display:-ms-flexbox; display:flex; 
	-webkit-box-pack:center; -ms-flex-pack:center; 
	-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; 
	-ms-flex-wrap:wrap; flex-wrap:wrap; }
ul.post > li { width:calc(49%); margin:10px 0; padding:0 0 20px 0; background:#fff; padding: 0; /*display: flex;*/}
ul.post > li a {display: flex;}
ul.post li p, #articles .article-box p { font-size:12px; margin:0;}
ul.post .img-wrapper {width: 40%;}
ul.post img { width: 100%;
    height: 100%;
    object-fit: cover;
    /* margin: 0 auto; */
    padding: 0;}
ul.post li h3{ font-size:16px; font-weight:normal; padding:0; margin:0; background: none; border-bottom: 1px solid; padding-bottom: 8px; margin-bottom: 5px;}
ul.post .txt-wrapper {padding: 20px 20px; width: 100%;}
#articles > a { width:calc(33%); margin:10px 0; padding:0 0 20px 0; background:#fff; padding: 0; /*display: flex;*/}
#articles > .js-article-link {margin-bottom: 10px;}
#articles .article-box {margin-bottom: 0;}

.post-wrapper {display: flex;}
.time-categories {display: flex; }
.category { margin-left: 10px;
    padding: 5px 15px;
    font-size: 12px;
    border-radius: 50px;
    color: #fff;}

@media screen and (min-width:967px) and (max-width:1024px){
	ul.post > li { width:calc(31%); flex-basis:31%;}
}

@media screen and (max-width:966px){
	ul.post li { width:100%;  /*margin:10px 0; padding:0 0 20px 0;*/ }
}
@media screen and (max-width:766px){
	ul.post {padding: 0;}
	ul.post > li a {display: block;}
	ul.post .img-wrapper {width: 100%;}
	ul.post .txt-wrapper {padding: 5%;}
	ul.post img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    margin: 0 auto;
    padding: 0;
}
.relative ul.post-categories {top: 155px;}
}

/*---ガテゴリーを画像の上に---*/
.relative { position:relative; }
.relative ul.post-categories { margin:0; padding:0; list-style:none; position:absolute; bottom: 5px; left:20px;}
.relative ul.post-categories > li { position:relative; display:inline-block; width:auto; height:26px; margin:0; padding:0 1em; border-radius:30px; color:#fff; 
	text-decoration:none; -webkit-transition:.2s; transition:.2s; list-style:none; box-shadow:0 1px 2px rgba(0,0,0,0.3); 
	display: flex;
    align-items: center;
    justify-content: center;s}
.relative ul.post-categories > li a { display:block; max-width:300px; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; font-size:10px; color: #fff;}

/*--------------------------------------------------------------------------------
 * RESOLUTION
--------------------------------------------------------------------------------*/
/*.resolution { background:  url(/templates/25/images/resolution.jpg) no-repeat 50% 0; background-size:  cover; background-attachment: fixed; }*/
.resolution ul {
	 display: flex;
    align-items: center;
    justify-content: center;}
.resolution ul li:first-child {width: 70%; padding-right: 1em;}
.resolution ul li:last-child {width: 30%;}
.resolution h2 {color: #fff; margin-bottom: 0; font-size: 22px; text-align: left;}

@media screen and (max-width:766px){
	.resolution {background-attachment:inherit;}
	.resolution ul  {display: block;}
	.resolution ul li:first-child {width: 100%;}
	.resolution ul li:last-child {width: 70%; margin: 10% auto 0;}
	.resolution h2 {font-size: 1.4em; text-align: center;
    letter-spacing: 3px;}
}

/* ------------------------------ボタン------------------------------　*/
.btn { display: block; font-size: 16px;  position: relative; outline: none; cursor: pointer;text-align: center; padding: 18px 0; position: relative; z-index: 2; /*font-weight: bold; */color: #fff; border-radius: 50px;}
.btn:hover {transition: all .3s; border-radius: 50px; box-sizing: border-box;} 
.btn-line { background: #00B900;}
.btn-icon {font-size: 15px; position: absolute;right: 10px;top: 50%; -ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); opacity: 1;}
.read-btn {margin: 0 auto;
    border-radius: 4px;
    position: relative;
    display: table;
    padding: 10px 40px;
    /* height: 40px; */
    text-align: center;}
.read-btn i {position: absolute; top: 50%;  right: 0%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
.kv-btn {width: 350px; /*margin: 0 auto;*/ border-radius: 4px; position: relative; padding: 15px;} 

.kv-btn i {position: absolute; top: 50%;  right: 0%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); font-size: 20px;}
.cta-wrapper {
	display:-webkit-box; display:-ms-flexbox; display:flex; 
	-webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; 
	-ms-flex-wrap:wrap; flex-wrap:wrap; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;}
#cta-btn { width: 100%;
    border-radius: 4px;
    position: relative;
     }
#cta-btn i {position: absolute; top: 50%; right: 1%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); font-size: 16px;}
#cta-btn span {display: block; font-size: 16px;}
#cta-btn:hover {box-sizing: border-box; border-radius: 100px;}
.cta-tel {text-align: center; border: 2px solid; height: 120px; width: 49%; border-radius: 5px; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;
    -webkit-box-pack:center; -ms-flex-pack:center; justify-content:center; }
.cta-tel .time {line-height: 1.7;}
.cta-tel i {font-size: 24px;}
.cta-tel .number {font-size: 30px;}
.service-btn {margin: 0 auto;
    border-radius: 4px;
    position: relative;
    display: table;
    padding: 10px 40px;
    /* height: 40px; */
    text-align: center; box-sizing: border-box;}
.service-btn i {position: absolute; top: 50%;  right: 3%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
.service-btn:hover { border-radius: 50px; box-sizing: border-box;}

@media screen and (max-width:966px){
	#cta-btn {width: 100%; margin: 5% auto 0;}
}
@media screen and (max-width:966px){ 
	.cta-tel {width: 100%;}	
}

@media screen and (max-width:766px){
	.btn {width: 70%; padding: 10px 0; font-size: 14px;}
	.cta-wrapper {display: block;}
	#cta-btn { margin-left: auto; margin: auto; width: 100%; height: auto; /*font-size: 5vw;*/}
	#cta-btn span {font-size: 3vw;}
	.cta-tel { margin-bottom: 5%; width: 100%; display: block; height: auto;}
	.cta-tel i {font-size: 5vw;}
	.cta-tel .number {font-size: 6vw;}
	.kv-btn {width: 70%; margin: auto; /*padding: 10px 0;*/}
}

/* ------------------------------背景------------------------------　*/
/*背景カラー*/
.js-main-color {background: var(--user-color-main);}
.js-accent-color {background: var(--user-color-accent);}
.js-point-color {background: var(--user-color-point);}
.js-background-color {background: var(--user-color-background);}

/*文字カラー*/
.js-main-font-color {color: var(--user-color-main-font);}
.js-accent-font-color {color: var(--user-color-accent-font);}
.js-point-font-color {color: var(--user-color-point-font);}

/*--------------------------------------------------------------------------------
 *
 * フッター
 *
--------------------------------------------------------------------------------*/
footer { /*position:relative; width:100%; margin:0; padding:60px 0 0px 0; background:#202937; z-index:999;*/ }
/*footer .inner { width: 90%!important; margin:0 auto; }*/
.footer-top {display: flex; width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 50px 0;}
footer p { font-size:12px; margin-bottom: 0; }
footer img.logo { margin:0 0 20px 0; max-width: 290px; height: 80px; object-fit: contain; }
footer .ftr_left { width:40%; float:left; }
footer .ftr_right { width:60%; float:right; padding:0px 0 0 0; }
/*footer ul { overflow: hidden; margin: 0 auto; padding-left: 0; padding: 10px 0; margin-top: 60px; 
    display:-webkit-box; display:-ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
    -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
    -ms-flex-wrap: wrap; flex-wrap: wrap;}
footer ul li { border-right: solid 1px; height: 25px;
   display:-webkit-box; display:-ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
footer ul li:last-child {border-right:none;}
footer li a { display: block; padding: 0px 30px !important; box-sizing: border-box; transition: background .25s cubic-bezier(.165, .84, .44, 1); text-align: center;}*/

footer ul li span { display: block; line-height: 1.2; text-align: left;}
footer table {margin-bottom:10px; width: 100%;}
footer table thead {/*font-weight: bold;*/ border-top: 1px solid;}
footer table tr { border-bottom:1px solid; }
footer table th { width:20%; }
footer table td { width:11.4285%; text-align:center }
footer table th, footer table td { padding: 1.5% 1.5%; }


.footer-bottom {width: 100%; /*padding-bottom: 80px;*/}
.footer-bottom .inner {height: 55px;
	display: flex; padding: 0 15px; 
    align-items: center; width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    }
.footer-bottom ul { width: 80%; display: flex;}
.footer-bottom ul li { padding-right: 30px; font-size: 14px;}
.footer-bottom {color: #fff;}
.footer-bottom a {color: #fff;}

address { font-size:10px; text-align:right; color:#fff; width: 20%;}

@media screen and (max-width:966px){
	.footer-bottom {padding-bottom: 0px;}
}

@media screen and (max-width:768px){
	footer { /*padding:40px 0 0 0;*/}
	footer .inner {width: 90%;}
	#footer { /*margin:0 auto;*/ width: 100%; }
	footer img { margin:0 auto; }
	footer p { font-size:10px; text-align:center; margin:0; }
	footer img.logo {margin: 0 auto 20px auto; height: 50px; object-fit: contain;}
	footer .ftr_left {width: 100%;  float:none; margin:0 auto;}
	footer .ftr_right { width:100%; float:none; margin:0 auto; padding:20px 0 0 0;}
	address { font-size:14px; text-align:center; }
	footer ul { margin:0 auto; 
		-webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start;}
	/*footer ul li { text-align:left; padding: 5% 0; width: 50%; border-right: none;}*/
	footer li a { font-size:10px; }
	address { font-size:10px; width: 100%;}	
	footer table {margin-bottom: 0px; width: 100%;}
	footer table th, footer table td {font-size: .8rem;}
	
	.footer-top {display: block; padding: 50px 5%;}
	
	.footer-bottom .inner {height: auto; width: 100%; padding: 15px 5%; display: block;}
	.footer-bottom ul {width: 100%; display: block; display: flex;
    flex-wrap: wrap; margin-bottom: 10px;
    border-bottom: 1px solid;
    padding-bottom: 10px;}
    .footer-bottom ul li {padding: 10px 0; width: 50%; }
    
}

/*--------------------------------------------------------------------------------
 *
 *
 * 下層ページ
 *
 *
--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
 *
 * 共通
 *
--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
 * kv
--------------------------------------------------------------------------------*/
.kv_underlayer { width: 100%;}
#kv_inner {height: 300px; 
	display: -webkit-box; display: -ms-flexbox; display: flex; 
	-webkit-box-pack: left; -ms-flex-pack: left;
	-webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;	
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
.underLayer-kv {height: 300px; background-size: cover;
    background-repeat: no-repeat; background-position: center;}
.underLayer-kv .catch_copy {height: auto; width: 100%; color: #fff;
	-webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.underLayer-kv h2 {font-size: 32px; margin: 0;}
/*.underLayer-kv h2 span {margin: 15px auto 0;}*/

@media screen and (max-width:966px){
	.kv_underlayer {width: 100%; padding-top: 60px;}	
}

@media screen and (max-width:766px){
	#kv_inner  { width:100%; height: 200px;}
	#kv_inner .catch_copy { width:100%; text-align:center;}
	#kv_inner .catch_copy span {margin: 10px auto 0;}
	.underLayer-kv { height: 200px;}
}

/*--------------------------------------------------------------------------------
 *
 * MENU
 *
--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
 * menu
--------------------------------------------------------------------------------*/
.menu_kv { background: url(/templates/25/images/menu.jpg) no-repeat 50% 50%; background-size: cover; /*background-attachment: fixed;*/}
.menu h3 {text-align: center; margin-bottom: 40px;}
.menu h3 span {font-size: 14px;}
.menu h4 {text-align: center;
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid;}
.menu-wrapper { padding: 60px 30px;}
.menu ul { margin-bottom: 40px;
	display:-webkit-box; display:-ms-flexbox; display:flex; 
	-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content:space-between; 
	-ms-flex-wrap:wrap; flex-wrap:wrap; }
.menu ul > li { width: calc(32%); margin:10px 0; /*padding:30px;*/}
.menu li p { font-size:14px; margin: 0;}
.menu ul > li .menu-img {height: 170px;}
.menu ul > li .menu-img img {width: 100%; height: 100%; object-fit: cover;}
.menu .txt-wrapper {padding: 25px;}
.menu ol > li {font-size: 12px;}

@media screen and (min-width:967px) and (max-width:1024px){
	.menu ul > li { width:calc(31%);}
}

@media screen and (max-width:966px){
	.menu ul > li { width:100%; margin:15px 0; }
}

@media screen and (max-width:766px){
	.menu_kv {background-attachment: inherit;}
	.menu-wrapper { padding: 5%;}
	.menu h3 {margin-bottom: 5%;}
	.menu h4 {font-size: 1.6em;}
	.menu ul {display: block;}
	.menu ul > li {margin: 5% 0; width: 100%;}	
}

/*--------------------------------------------------------------------------------
 * comment
--------------------------------------------------------------------------------*/
.comment ul {display: flex; display: -webkit-box; display: -ms-flexbox;}
.comment ul li:first-child {width: 40%; padding-right: 30px;}
.comment ul li:last-child {width: 60%;}
.comment h3 {text-align: left;
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid;}

.comment .comment-profile {margin-bottom: 0px;
    letter-spacing: 1px;
    /* border-top: 1px solid; */
    padding-top: 20px;
    /*margin-top: 20px;*/
    text-align: right;}
.comment .comment-profile p {margin-bottom: 0;}
    
 .comment .comment-name {
    font-size: 18px;
    /* font-weight: bold; */
    margin-bottom: 10px;
    letter-spacing: 2px;
}
.comment .comment-name span {
    margin-left: 10px;
    font-size: 12px;
}


@media screen and (max-width:766px){
	.comment ul {display: block;}
	.comment ul li:first-child {width:100%; padding-right:0; margin-bottom: 10%;}
	.comment ul li:last-child {width:100%;}	
}




/*--------------------------------------------------------------------------------
 *
 * FLOW
 *
--------------------------------------------------------------------------------*/ 
.flow_kv {background-image: url(/templates/25/images/flow.jpg);}
.flow ul {width: 100%; counter-reset: number;}
.flow ul li {/*border: 1px solid;*/ margin-bottom: 20px; padding: 30px;  position: relative; display: flex;
    flex-wrap: wrap;}
.flow ul li::before {counter-increment: number;
    content: "" counter(number);
    font-size: 25px;
    /*font-weight: bold;*/
    position: absolute;
    background: inherit;
    color: currentColor;
    width: 70px;
    height: 70px;
    top: 0;
    left: 0; display: flex;
    align-items: center;
    justify-content: center;
}
.flow ul li .img-wrapper {width: 30%; margin-bottom: 0;}
.flow ul li .txt-wrapper {width: 70%; padding-left: 30px;}
.flow ul li h3 {font-size: 20px;
    font-weight: 500;
    margin-bottom: 10px;
    border-bottom: 1px solid;
    padding-bottom: 10px;}

@media screen and (max-width:766px){ 
	.flow ul li {display: block; width: 100%; padding: 5%;}
	.flow ul li .img-wrapper {width: 100%;}
	.flow ul li .txt-wrapper {
    width: 100%;
    padding-left: 0;
    margin-top: 10%;
}
	
}


/*--------------------------------------------------------------------------------
 *
 * MESSAGE & MEMBER
 *
--------------------------------------------------------------------------------*/
.greeting_kv { background: url(/templates/25/images/staff.jpg) no-repeat 50% 50%; background-size: cover; /*background-attachment: fixed;*/}


/*--------------------------------------------------------------------------------
 * MESSAGE
--------------------------------------------------------------------------------*/
.greeting ul { display: flex; display: -webkit-box; display: -ms-flexbox;}
.greeting ul li:first-child {width: 50%; padding-right: 30px;}
.greeting ul li:last-child {width: 50%;}
.greeting h3 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 10px;
    border-bottom: 1px solid;
    padding-bottom: 10px;}
.greeting .greeting-profile {margin-bottom: 0px;
    letter-spacing: 1px;
    /* border-top: 1px solid; */
    padding-top: 20px;
    margin-top: 20px;
    text-align: right;}
.greeting-work {margin-bottom: 0;}
.greeting .greeting-name {
    font-size: 18px;
    /* font-weight: bold; */
    margin-bottom: 10px;
    letter-spacing: 2px;
}
.greeting .greeting-name span {
    margin-left: 10px;
    font-size: 12px;
}




@media screen and (max-width:766px){
	.greeting ul {display: block;}
	.greeting ul li:first-child {width: 100%; padding: 0;}
	.greeting ul li:last-child {width: 100%; margin-top: 10%;}
}


/*--------------------------------------------------------------------------------
 * STAFF
--------------------------------------------------------------------------------*/
.staff ul {width: 100%; 
	display: -webkit-box; display: -ms-flexbox; display: flex;   
	-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
	-ms-flex-wrap: wrap; flex-wrap: wrap;}
.staff ul li { width: calc(49%); margin: 10px 0; padding: 30px;}
.staff p.lead {text-align: center;}
.staff img { width: 180px; height: 180px; object-fit: cover; margin: 20px auto; border-radius: 50%;}
.staff h3 {font-size: 20px;
    font-weight: 500;
    margin-bottom: 10px;
    border-bottom: 1px solid;
    padding-bottom: 10px; margin-top: 30px;}
.staff h4 {font-size: 24px; font-weight: bold; margin-bottom: 10px;}
.staff h4 span { margin-left: 15px; font-size: 16px; font-weight: bold;}
.staff p {margin-bottom: 0px;}
.staff .staff-profile {margin-bottom: 0px;
    letter-spacing: 1px;
    /* border-top: 1px solid; */
    padding-top: 20px;
    margin-top: 20px;
    text-align: right;}
.staff .staff-name {font-size: 18px;
    /* font-weight: bold; */
    margin-bottom: 10px;
    letter-spacing: 2px;
    }
.staff .staff-name span {margin-left: 10px;
    font-size: 12px;}

@media screen and (max-width:766px){
	.staff_kv {background-attachment: inherit;}
	.staff  ul li:first-child {width: 100%;}
	.staff  ul li:last-child { width: 100%;}
	.staff  ul li {width: 100%;}
}

/*--------------------------------------------------------------------------------
 *
 * ABOUT
 *
--------------------------------------------------------------------------------*/
.about_kv {background: url(/templates/25/images/about.jpg) no-repeat 50% 50%; background-size: cover;; }
/*--------------------------------------------------------------------------------
 * WHAT
--------------------------------------------------------------------------------*/
.what .img-box {height:auto; max-height: 520px; overflow: hidden; margin-bottom: 0; margin-top: 50px;
	/*display:-webkit-box; display:-ms-flexbox; display: flex; 
	-webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; 
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;*/ }
.what .img-box img {height: 100%; object-fit: cover;}
.what p {text-align: center;}

@media screen and (max-width:966px) {
	.what .img-box {height: auto; min-height: auto;}
}

@media screen and (max-width:766px) {
	/*.what .img-box {height: 30vh;}*/
}

/*--------------------------------------------------------------------------------
 * BUSINESS
--------------------------------------------------------------------------------*/
.business ul {
	display:-webkit-box; display:-ms-flexbox; display: flex; 
	-ms-flex-wrap: wrap; flex-wrap: wrap; 
	-ms-flex-pack: distribute; justify-content: space-around; 
	-webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch;} 
.business ul li { text-align: center; width: calc(47%); margin-bottom: 5%;}
.business .img-box {margin-bottom: 0;}
.business .txt-box {padding: 30px;}
.business .txt-box h3 {text-align: center;
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid;}

@media screen and (max-width:766px) {
	.business ul {display: block;}
    .business ul li {width: 100%;}
    .business .txt-box {padding: 5%;}
}

/*--------------------------------------------------------------------------------
 * SUPPORT
--------------------------------------------------------------------------------*/
.support ul {
	display:-webkit-box; display:-ms-flexbox; display: flex; 
	-webkit-box-pack: center; -ms-flex-pack: center; 
	-ms-flex-pack: distribute; justify-content: space-around; 
	-ms-flex-wrap: wrap; flex-wrap: wrap;}
.support ul li {width: 31%; margin-bottom: 5%;}
.support ul li .img-box {height: 210px; overflow: hidden;}
.support ul li .img-box img {width: 100%; height: 100%; object-fit: cover;}

@media screen and (max-width:766px) {
	.support ul {display: block;}
	.support ul li {width: 100%;}
	.support ul li .img-box {height:  30vh;}
}



/*--------------------------------------------------------------------------------
 *
 * COMPANY
 *
--------------------------------------------------------------------------------*/
.company_kv { background: url(/templates/25/images/company.jpg) no-repeat 50% 50%; /*background-size: cover; background-attachment: fixed;*/}
/*--------------------------------------------------------------------------------
 * PROFILE
--------------------------------------------------------------------------------*/
.company .company-wrapper {display:-webkit-box; display:-ms-flexbox; display:flex; }
.company ol.company-table {width: 50%; border: none; padding: 0; padding-right: 15px;}  
.company ol.company-table > li { border-top: 1px solid #e6e6e6; padding: 22px 0; text-align: left; vertical-align: middle; line-height: 1.5; 
	display:-webkit-box; display:-ms-flexbox; display:flex;  
	-webkit-box-align: center; -ms-flex-align: center; align-items: center;}
.company ol.company-table > li:last-child {border-bottom: 1px solid #e6e6e6;}
.company ol.company-table .company-left {width: 23%; font-weight: bold; margin-right: 5%;}
.company ol.company-table .company-right {width: 77%;} 
.company ul.location li {font-size: 12px;}
.company iframe {width: 50%; padding-left: 15px;}

@media screen and (max-width:766px){
	/*.company_kv {background-attachment: inherit;}*/
	.company .company-wrapper {display:block; }
	.company ol.company-table {width: 100%; padding-right: 0;}  
	.company iframe {width: 100%; padding-left: 0; height: 30vh; margin-top: 5%;}
}

/*--------------------------------------------------------------------------------
 * GALLERY
--------------------------------------------------------------------------------*/ 
.gallery ul {margin-top:50px; 
	display:-webkit-box; display:-ms-flexbox; display:flex; 
	-webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start;/*均等*/ 
	-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/}
.gallery li { width: calc(25%);margin: 5px 0; padding: 0px 5px; }
.gallery ul li .gallery-img {height: 170px;}
.gallery ul li .gallery-img img  {width: 100%; height: 100%; object-fit: cover;}

@media screen and (max-width:966px){
	.gallery ul li { width:calc(25%);}
	.gallery ul li .gallery-img {height: 12vh;}
}

@media screen and (max-width:766px){
	.gallery  ul li { width:calc(50%);}	
	.gallery ul li .gallery-img {height: 15vh;}
}

.line-tel .inner {padding: 0;}
.line-tel ul {display: flex;}
.line-tel ul li {width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 0; position: relative; font-size: 16px;}
.line-tel ul li:hover {opacity: .9;}
.line-tel i {position: absolute; top: 50%;
    right: 1%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);}

@media screen and (max-width:766px){ 
	.line-tel ul {display: block;}
	.line-tel ul li {width: 100%; height: 70px;}
}

/*--------------------------------------------------------------------------------
 * CONTACT
--------------------------------------------------------------------------------*/ 
.contact_kv { background: url(/templates/25/images/contact.jpg) no-repeat 50% 50%; background-size: cover; background-attachment: fixed;}
.contact ul { 
	display:-webkit-box; display:-ms-flexbox; display:flex; 
	-webkit-box-pack:center; -ms-flex-pack:center; 
	-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content:space-between;/*均等*/ 
	-ms-flex-wrap:wrap; flex-wrap:wrap; /*折り返す*/ }
.contact ul li {width: 48%;padding: 30px;}
.contact h3 {/*font-weight: bold;*/ margin-bottom: 12px; text-align: center;}
.line-btn, .phone-btn {display: block;  position: relative; outline: none; cursor: pointer; text-align: center; width: 100%; position: relative; z-index: 2; /*font-weight: bold;*/ color: #fff;}
.line-btn {background: #00c300; color: #fff; /*border-radius: 5px; font-size: 24px; margin-bottom: 25px;*/ }
.phone-btn i {font-size: 18px;}
.phone-btn {border-radius: 5px; /*font-size: 18px;*/}
.phone-btn span {font-size: 12px; display: block; margin-top: 10px;}
.contact .time { line-height: 1.7; text-align: center; margin-top: 20px;}
.line-btn .fa-chevron-circle-right, .phone-btn .fa-chevron-circle-right  {position: absolute; top: 50%; right: 0%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);font-size: 20px;}
.contact .contact-wrapper {padding: 30px; }
.contact .cta-box {margin-top: 30px;}

@media screen and (max-width:766px){
	.contact_kv {background-attachment: inherit;}
	.contact ul { width: 100%; display: block;}
	.contact ul li {width: 100%; padding: 5%; margin-bottom: 10%;}	
	.contact h3 {font-size: 6vw;}
	.contact .contact-wrapper {padding: 5%;}
}

/*form*/
dl { padding: 0 0 10px 0; border-bottom: 1px solid #eee;
	display:-webkit-box; display:-ms-flexbox; display:flex;  
	-webkit-box-align: center; -ms-flex-align: center; align-items: center; }
dt { /*font-weight: bold;*/ font-size: 16px; width: 40%; display: table-cell; table-layout: fixed; vertical-align: middle;}
dd, dd span,input[type="text"],textarea { width: 100% !important;}
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required, input.wpcf7-form-control.wpcf7-text.wpcf7-email.wpcf7-validates-as-email, input.wpcf7-form-control.wpcf7-text.wpcf7-tel.wpcf7-validates-as-tel, input.wpcf7-form-control.wpcf7-text, textarea.wpcf7-form-control.wpcf7-textarea,input { padding: 20px; background-color: #fff; border: 2px solid #ccc; border-radius: 5px; height: auto; line-height: 1;}
span.wpcf7-list-item { display: inline-block; width: 100%; float: left; line-height: 3; }
dl ul {margin-left: 200px;}

@media screen and (max-width:766px){
	dl { display: grid; padding: 4% 0;}
	dt {line-height: 2; width: 100%;}
	span.wpcf7-list-item {width: 100%;}
}

dl.form dl,dt,dd {margin:0; padding:0; }
dl.form{ width:100%; }
dl.form dt,dd { padding:20px 0; }
dl.form dt { clear:left; float:left; width:27%; font-size:14px; border-top:1px solid #ccc; }
dl.form dd { margin-left:27%; border-top:1px solid #ccc; }

@media screen and (max-width:766px){
	dl.form dt,dd { padding:0; }
	dl.form dt { clear:both; float:none; width:100%; border-top:1px solid #ccc; padding:20px 0 10px 0; }
	dl.form dd { margin-left:0%; border-top:none; padding-bottom:20px; }
}

/* ------------------------------プレースホルダーの色・サイズ指定------------------------------　*/
input::-webkit-input-placeholder {color:#ccc; font-size:14px; }
input:-moz-placeholder {color:#ccc; font-size:14px; }
textarea::-webkit-input-placeholder {color:#ccc; font-size:14px; }
textarea:-moz-placeholder {color:#ccc; font-size:14px; }

/* ------------------------------コンタクトフォーム７------------------------------　*/
div.wpcf7 { display:block; width:100%; margin:0 auto!important; box-shadow:none; background:transparent; }
div.wpcf7 br { display:none; }

@media screen and (max-width:766px){
	div.wpcf7 { width:100%; }
}
/* １列の場合 */
div.wpcf7 ul li { padding:30px 0 0 0; margin:0; font-size:16px; line-height:2; color:#455A64; }
div.wpcf7 ul li:first-child { padding:0 0 0 0!important; }
div.wpcf7 ul.question li { padding:80px 0 0 0; margin:0; font-size:16px; line-height:2; color:#455A64; }
div.wpcf7 ul.question li:first-child { padding:0 0 0 0!important; }
div.wpcf7 ul.question li:before { content:'Q,'; padding-right:10px; font-size:26px; color:#ED1E79; font-weight:bold; }

/* ２列の場合 */
div.wpcf7 dl{ border-top:none; width:100%; }
div.wpcf7 dl dt { clear:left; float:left; width:30%; border-top: 1px dotted #cccccc; padding:10px 0; font-size:14px; }
div.wpcf7 dl dd { margin-left:30%; border-top: 1px dotted #cccccc; padding:10px 0; }
div.wpcf7 dl dd span { font-size:12px; color:#666666; line-height: 4; width: 180px; }

@media screen and (max-width:766px){
	div.wpcf7 dl dt { float:none; width:100%; padding-bottom:0; }
	div.wpcf7 dl dd { margin:0; border:none;}
}

div.wpcf7 input, .wpcf7 textarea , .wpcf7 select { width:100%; border:1px solid #CDCDDF; padding:14px; font-size:16px; border-radius:2px; }
div.wpcf7 textarea { height:215px; }
div.wpcf7 select { height:60px; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }

/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; display: table-footer-group;}
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1;}

/* 必須赤色表示 */
.wpcf7 .required { color: #000000;}

/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}
select { background:#ffffff; border:1px solid #cccccc; border-radius:3px; color:#0C2245; font-size:14px; height:40px; line-height:30px; text-align:left; text-indent:5px; vertical-align:middle; width:100%; }

/* 必須or任意 */
.hissu,.nini { color:#ffffff; margin:0 0 0 5px; padding:3px 7px; font-size:10px; font-weight:bold; border-radius:3px; }
.hissu { background:#D8544F; }
.nini { background:#78919C; }
::placeholder { color:#999999; }

/* ------------------------------送信ボタン------------------------------　*/
input[type="submit"] { -webkit-appearance:none; margin:0 auto; position: relative;  outline: none; border: none;  font-size: 18px; padding: 20px 0; /*font-weight: bold;*/ border-radius: 5px; max-width: 500px !important;
    height: 65px;}
.contact-btn {width: 400px; margin: auto; position: relative; }
.contact-btn i {position: absolute; top: 50%; right: 0%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 2;}
input.wpcf7-submit{ background:#fff136; display:block; font-size:24px!important; color:#CF2B4B; width:70% ; border-radius:55px!important; margin:0 auto; border:none!important; position: relative; outline: none; cursor: pointer; font-weight: bold; padding: 3%;}
input.wpcf7-submit:hover {background-color: rgba(0, 0, 0, 0); border-color: #ff8c00; color: #ff8c00; border: 2px solid #ff8c00 !important;}

@media screen and (max-width:768px) {
	input.wpcf7-submit {height: auto; padding: 5% 0; width: 100% !important;}	
	input[type="submit"]  {height: auto;}
}

/* ------------------------------チェックボックスのデザイン------------------------------　*/
input[type=checkbox] { display:none; }
.wpcf7-list-item-label { position:relative; padding:0 0 0 56px; top:0px; }
.wpcf7-list-item-label:hover:after { border-color:#CF2B4B; }
.wpcf7-list-item-label:after,  .wpcf7-list-item-label:before{position:absolute; content:""; display:block; top:50%; }
.wpcf7-list-item-label:after { left:0px; margin-top:-20px; width:36px; height:36px; border:2px solid #ccc; border-radius:3px; }
.wpcf7-list-item-label:before { left:18px; margin-top:-7px; width:5px; height:9px; border-right:3px solid #CF2B4B; border-bottom:3px solid #CF2B4B; transform:rotate(45deg); opacity:0; }
input[type=checkbox]:checked + .wpcf7-list-item-label:before {opacity:1 !important; }

@media screen and (max-width:768px){
	.wpcf7-list-item  { padding:15px 0; } /* チェックボックス下に14pxのスペース */
}

/* ------------------------------ページ下部固定CTA_SP------------------------------　*/
#buttonTow , #buttonTow a { display:none; }
#buttonTow i { padding-left:5px; }

@media screen and (max-width:766px){
	#buttonTow { position:fixed; bottom:0; width:100%; height:auto; z-index:1000; background:rgba(0,0,0,0.5);}
	#buttonTow #box01 { width:100%; float:left; background-size:contain; padding:15px 10px;}
	#buttonTow a { display:block; text-align:center; font-size:14px; color:#ffffff; font-weight:bold; }
	#buttonTow a img { margin:0 auto; padding:0; }
	#buttonTow a:hover { text-decoration:none; opacity:0.7; }
}

/* ------------------------------ページ下部固定CTA_PC------------------------------　*/
#buttonPc { position:fixed; bottom:0; width:100%; height:auto; z-index:1000; background: rgba(0,0,0,.7);
    height: 55px;
    display: flex;
    align-items: center; }
#buttonPc a#pc_box { display:block; width:100%; height:auto; color:#ffffff; padding:15px 0; text-align:center; font-size:16px; }
#buttonPc i { padding-left:5px; }
#buttonPc a:hover { text-decoration:none }

@media screen and (max-width:966px){
	#buttonPc { display:none !important; }
	#buttonPc a#pc_box { display:none; }
}


/* ------------------------------フェードインアニメーション------------------------------　*/
/*.sa {opacity: 0; transition: all .5s ease; } /* ノーマル */
/*.sa.show {opacity: 1; transform: none; } /* ノーマル */
/*.sa-lr {transform: translate(-100px, 0); } /* 右から */
/*.sa-rl {transform: translate(100px, 0); } /* 左から */
/*.sa-up {transform: translate(0, 100px); } /* 下から */
/*.sa-down {transform: translate(0, -100px); } /* 上から */
/*.sa-scaleUp {transform: scale(.5); } /* 縮小→拡大 */
/*.sa-scaleDown {transform: scale(1.5); } /* 拡大→縮小 */
/*.sa-rotateL {transform: rotate(180deg); } /* 左回転 */
/*.sa-rotateR {transform: rotate(-180deg); } /* 右回転 */

/*--------------------------------------------------------------------------------
 *
 * その他固定ページ
 *
--------------------------------------------------------------------------------*/
/*
.container section {padding: 100px 0;}

@media screen and (max-width: 766px) {
	.container { padding-right: 0 !important; padding-left: 0 !important; margin-right: 0 !important; margin-left: 0 !important; margin-top: 60px; padding: 5%;}
}
*/
@media screen and (max-width:966px) {
	.container {padding-top: 80px;}
}

/*--------------------------------------------------------------------------------
 * articles
--------------------------------------------------------------------------------*/ 
.all-wrapper {flex: 1;}

/*--------------------------------------------------------------------------------
 * reserve & finished & contact
--------------------------------------------------------------------------------*/ 
#section1 {padding: 100px 0;}

@media screen and (max-width: 766px) {
	#section1 {padding: 60px 5%;} 
}
/*
.container {flex: 1;}
@media (min-width: 992px) {
	.container {margin-top: 145px;}
}
*/

.main-contents {margin-top: 145px!important;}
@media screen and (max-width: 766px) {
	.main-contents {margin-top: 60px!important;}
}

/*--------------------------------------------------------------------------------
 * contact
--------------------------------------------------------------------------------*/ 
.contact .common-layout {max-width: 1000px; margin: 0 auto;}
.contact-btn {width: 60% !important; height: 80px !important;}

@media screen and (max-width: 766px) {
	.contact-btn {background-color: none; height: auto !important; margin-bottom: 15%!important; width: 100% !important;}
}

/*
 * ヘッダーロゴの表示サイズ変更
 */
.header-logo-lg .header-wrap {
    height: 76px;
}
.header-logo-lg .header-logo {
    max-height: 70px;
    height: 70px;
}
.header-logo-lg .header-inner__image {
    height: 70px;
}
.header-logo-lg .sp_logo_box {
    height: 76px;
}
.header-logo-lg #sp-header-logo {
    max-height: 66px;
    height: 66px;
}
.header-logo-lg .slicknav_btn {
    height: 76px;
    padding: calc(0.438em + 8px) 0.625em;
}
.header-logo-lg .entry_btn {
    height: 76px;
    padding: calc(0.438em + 8px) 0;
}
