@charset "utf-8";

/*リセットCSS（sanitize.css）の読み込み
---------------------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");

/*slick.cssの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");

/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css");

/*テンプレート専用cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("animation.css");
@import url("inview.css");


/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	-webkit-text-size-adjust: none;
	background: #fff;	/*背景色*/
	color: #333;		/*全体の文字色*/
	line-height: 2;		/*行間*/
	overflow-x: hidden;
	overflow-y: scroll;
}
html,body {
	margin: 0;padding: 0;
	height: 100%;
	font-size: 1rem;	/*基準となるフォントサイズ。下の方にある「画面幅900px以上」で基準を大きなサイズに再設定しています。*/
}

#container {
    overflow-x: hidden;
}

/*リセット*/
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}

/*table全般の設定*/
table {border-collapse:collapse;}

/*画像全般の設定*/
img {border: none;max-width: 100%;height: auto;vertical-align: middle;border-radius: 10px;}

/*videoタグ*/
video {max-width: 100%;}

/*iframeタグ*/
iframe {width: 100%;}

/*ul,olタグ*/
ul, ol {margin-bottom: 30px;list-style: none;}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #333;	/*文字色*/
	transition: 0.3s;
    text-decoration: none;
}

a:hover {
	opacity: 0.8;	/*マウスオン時に80%の透明度にする*/
}

/*btn設定
---------------------------------------------------------------------------*/
.btn {
	padding: 0.5rem 2rem;
    text-align: center;
    border-radius: 100px;
    margin: 2rem auto 1rem;
    text-decoration: none;
    display: block;
}
.btn_gray {
	background: #7e7e7e;
	width: 20rem;
}
a.btn_gray {
    color: #fff;
}
.btn_blue {
	background: rgb(40,100,160);
	width: 20rem;
}
a.btn_blue {
    color: #fff;
}
.btn_white {
	position: relative;
    color: #333!important;
    font-weight: bold;
    background: #fff;
    width: 10rem;
    margin: 0.5rem auto 0;
    text-align: center;
}
a.btn_white::before {
	position: absolute;
	top: 50%;
	right: 20px;
	content: '';
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 3px solid #333;
	border-right: 3px solid #333;
	-webkit-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
  }
/*sectionタグと、詳細ページの共通設定
---------------------------------------------------------------------------*/
section,
main > article {
	margin: 0 auto;
	max-width: 1200px;
	padding: 3% 5% 5%;
}
@media screen and (min-width:1280px) {
	section, main > article {
		padding: 3% 0 5%;
	}
}
section.index-top {
	padding: 13rem 5% 10%;
}
.other {
	padding-top: 125px;
}
.other section{
	max-width: 980px;
}
@media screen and (min-width:768px) {
	section.index-top {
		padding: 10% 5%;
	}
}
@media screen and (min-width:1024px) {
	.other {
		padding-top: 125px;
	}
	section.index-top {
		padding: 10% 0 5%;
	}
}
/*header（ロゴなどが入った最上段のブロック）
---------------------------------------------------------------------------*/
header {
    width: 100%;
    height: 100px;
    align-items: center;
    justify-content: flex-end;
    color: #fff;
    position: fixed;
    z-index: 9;
    font-size: 1rem;
}
.hd_inner {
	color: #666;
	display: flex;
	flex-direction: column;
}
.inr_l {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
ul.hd_tel {
	display: none;
	justify-content: flex-end;
	align-items: center;
	margin: 0;
	padding: 0;
	width: 100%;
	font-size: 90%;
}
.inr_r {
	display: none;
	padding: 0.5em 1em;
	background: #2864a0;
	color: #fff;
	border-radius: 10px;
	margin: 0.5em 1em;
}
.inr_l li.big-text {
	font-size: 150%;
    font-weight: bold;
    margin-left: 2rem;
}
.hd_contact {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	align-items: center;
	color: #fff;
}
.hd_contact i.material-icons {
	padding: 0 10px 10px;
}
.hd_contact p {
	padding: 0;
	margin: 0;
}
.hd_inner hr {
	display: none;
	border-top: 1px solid #666;
	width: 100%;
	margin: 0;
}
/*ヘッダーのリンクテキストの文字色*/
header a {
	color: #5b5b5b;
}
header hr {
    display: none;
}
#logo p{
	color: #000D6D;
	margin: 0;
	display: none;
}
h1#logo img {
	display: block;
	width: 70%;
    margin-left: 10%;
}
h1#logo {
	margin: 0;
	width: 100%;
	position: absolute;
	top: 0px;
	font-size: 1rem;
    z-index: 10;
    padding: 10px 0 0 0;
	left: 0;
	border-radius: 0;
    background: #ffffff9e;
	height: 70px;
	box-shadow: 0px 0px 30px rgb(74 74 74 / 20%);
}
.img-pc {
    display: none!important;
}
@media screen and (min-width:768px) {
	h1#logo.img-sp {
		height: 100px;
	}
	h1#logo.img-sp img {
		width: 45%;
		margin-left: 5%;
	}
}
@media screen and (min-width:900px) {
	header {
		display: flex;
		background: #fff;
	}
	ul.hd_tel {
		display: flex;
	}
	.inr_r {
		display: block;
	}
}
@media screen and (min-width:1024px) {
	header {
		box-shadow: 0px 0px 10px rgb(106 106 106 / 20%);
	}
	.hd_inner hr {
		display: block;
	}
	h1#logo img {
		display: block;
		width: 100%;
		margin-left: 0;
	}
	h1#logo {
		width: 130px;
		padding: 10px;
		left: 1%;
		background: #cff0ff;
		border-radius: 0 0 10px 10px;
		height: auto;
	}
	#logo p{
		display: block;
	}
	.img-pc {
        display: block!important;
    }
    .img-sp {
        display: none;
    }
}
@media screen and (min-width: 1280px){
	h1#logo {
		position: fixed;
	}
}
@media screen and (min-width: 900px) and (max-width:1280px) {
	header {
		font-size: 0.85em;
	}
}

/*menubarブロック設定
---------------------------------------------------------------------------*/
@media screen and (min-width:900px) {
/*メニューブロックの設定*/
	#menubar ul {
		display: flex;
		margin-bottom: 10px;
		margin-top: 10px;
		align-items: center;
	}

/*メニュー１個あたりの設定*/
	#menubar a {
		padding: 10px 15px;	/*上下、左右への余白*/
	}

/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
	#menubar .ddmenu_parent ul {
		position: absolute;
	}

/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*ハンバーガーメニューを非表示にする*/
	#menubar_hdr {display: none;}
}

/*menubarブロック初期設定
---------------------------------------------------------------------------*/
#menubar-s ul {list-style: none;margin: 0;padding: 0;}

/*メニューを非表示にしておく*/
#menubar-s {display: none;}
/*pcメニューを非表示にしておく*/
#menubar {display: none;}

/*開閉用のスタイル*/
#menubar-s.db {display: block;}
#menubar-s.dn {display: none;}

.img-sp.db {display: block;}
.img-sp.dn {display: none;}

/*メニュー１個あたりの設定*/
#menubar-s a {
	display: block;text-decoration: none;
	text-align: center;		/*テキストを中央に*/
	letter-spacing: 0.1em;	/*文字間隔を少しだけ広くする指定*/
}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

/*小さな端末時にアイコン類だけ横並びにする
---------------------------------------------------------------------------*/
.s #menubar-s.db li.inline,
.s #menubar-s.db li.inline a {
	display: inline-block;
}

/*小さな端末用の開閉ブロック設定
---------------------------------------------------------------------------*/
/*メニューブロック設定*/
.s #menubar-s.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding: 70px 0;	/*上下、左右へのブロック内の余白*/
	background: rgba(0,0,0,0.9);		/*背景色。0,0,0は黒の事で0.9は色が90%出た状態の事。*/
	color: #fff;						/*文字色*/
	animation: animation1 0.2s both;	/*animation.cssの、animation1を実行する。0.2sは0.2秒の事。*/
	text-align: center;
}

/*メニュー１個あたりの設定*/
.s #menubar-s.db a {
	color: #fff;	/*文字色*/
	padding: 10px;	/*メニュー内の余白*/
}

/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
/*ドロップダウンを非表示にしておく*/
#menubar-s .ddmenu_parent ul {
	display: none;
}

/*ドロップダウンメニューを持つ親に矢印アイコンをつける設定*/
a.ddmenu::before {
	font-family: "Font Awesome 5 Free";	/*Font Awesomeを使う指定*/
	content: "\f103";		/*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
	font-weight: bold;		/*この手の設定がないとアイコンが出ない場合があります*/
	margin-right: 0.5em;	/*アイコンとテキストとの間に空けるスペース*/
}

/*ドロップダウンを持つ親のマウスオン時にリンク用のカーソルでなくデフォルトの矢印を出す*/
a.ddmenu {
	cursor: default;
}

/*ドロップダウンメニュー１個あたりの設定*/
.ddmenu_parent ul a {
	background: rgba(0,0,0,0.8);	/*背景色。0,0,0は黒の事で0.8は色が80%出た状態の事。*/
}

/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*開閉用のスタイル*/
#menubar_hdr.db {display: flex;}
#menubar_hdr.dn {display: none;}

/*３本バーを囲むブロック*/
#menubar_hdr {
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 2%;			/*左からの配置場所指定*/
	top: 6px;			/*上からの配置場所指定*/
	padding: 16px 14px;	/*上下、左右への余白*/
	width: 52px;		/*幅（３本バーが出ている場合の幅になります）*/
	height: 52px;		/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	order: 0;						/*表示させる順番。「#menubar_hdr」「#logo」「#header-icon」それぞれに指定しており、数字の「小さな順」に左から並びます。*/
	background: rgba(0,0,0,0.5);	/*背景色*/
}

/*バー１本あたりの設定*/
#menubar_hdr span {
	display: block;
	transition: 0.3s;	/*アニメーションにかける時間。0.3秒。*/
	border-top: 2px solid #fff;	/*線の幅、線種、色*/
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;	/*変形の起点。センターに。*/
	width: 26px;						/*バーの幅*/
}

/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1){
	transform: rotate(45deg) translate(6px, 7px);	/*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※３本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3){
	transform: rotate(-45deg) translate(6px, -7px);	/*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※２本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2){
	display: none;	/*２本目は使わないので非表示にする*/
}

@media screen and (min-width:1024px) {
	/*pcメニューを表示にしておく*/
	#menubar {display: block;}
	#menubar_hdr{display: none;}
}

/*FV
---------------------------------------------------------------------------*/
.fv_wrap {
	display: flex;
	position: relative;
}
.video_wrap {
    position: relative;
    width: 100vw;
    height: 70vh;
    overflow: hidden;
    display: flex;
}
video {
    position: absolute;
    top: 46%;
    left: 35%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
    -webkit-filter: sepia(50%);
    -moz-filter: sepia(50%);
    -ms-filter: sepia(50%);
    filter: sepia(50%);
    max-width: 160%;
}
.fv_wrap .catch_wrap{
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.fv_wrap .catch {
	font-size: 130%;
    color: #ffffff;
    line-height: 180%;
    width: 95%;
    margin: 0 auto;
    font-weight: bold;
    text-shadow: 3px 3px 5px #000000;
}
@media screen and (min-width:768px) {
	.video_wrap {
		height: 85vh;
	}
	video {
		top: 65%;
		left: 50%;
		max-width: 100%;
	}
	.fv_wrap .catch {
		font-size: 170%;
	}

}

/*mainブロック設定
---------------------------------------------------------------------------*/
/*h2タグ*/
h2 {
	position: relative;
    padding-bottom: 5px;
    border-bottom: none;
    text-align: center;
    font-size: 130%;
    letter-spacing: 0.08em;
	margin-bottom: 3rem;
}
h2::after {
    position: absolute;
    left: 0;
    bottom: 0;
    content: "";
    width: 100%;
	height: 8px;
    background: repeating-linear-gradient(90deg, #a9a9a9, #a9a9a9 1.5px, #fff 1.5px, #fff 4px);
}
h2::before {
	position: absolute;
    margin: 0 auto;
    background-image: url(../images/ttl.svg);
    content: '';
    display: inline-block;
    width: 5rem;
    height: 5rem;
    background-size: contain;
    transform: translate(-50%,-50%);
    left: 50%;
	top: -15px;
}
@media screen and (min-width:768px){
	h2 {
		font-size: 160%;
	}
	h2::before {
		top: -30px;
	}
}

/*index h3タグ*/
.index-about h3 {
    color: rgb(40,100,160);
	max-width: 1200px;
	font-family: 'Kaisei Opti', serif;
	display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
	font-size: 140%;
    border-bottom: #598bff 4px dotted;
	letter-spacing: 0.1em;
}
@media screen and (min-width:768px){
	.index-about h3 {
		font-size: 200%;
		border-bottom: none;
		color: #333;
	}
	.index-about h3::before,
	.index-about h3::after {
		content: '';
		flex-grow: 1;
		border-top: 4px dotted #598bff;
		display: block;
	}
	.index-about h3::before {
		margin-right: 20px;
	}
	.index-about h3::after {
		margin-left: 20px;
	}
}

.index-beforeafter h3 {
    color: #2864a0;
	max-width: 980px;
	font-family: 'Kaisei Opti', serif;
	display: flex;
    align-items: center;
    justify-content: center;
	font-size: 120%;
	text-align: center;
	letter-spacing: 0.1em;
	margin: 0 auto 1em;
}
@media screen and (min-width:768px){
	.index-beforeafter h3 {
		font-size: 150%;
	}
}

.index h3 {
    color: #2c828b;
	max-width: 980px;
	font-family: 'Kaisei Opti', serif;
	margin: 0 auto 1em;
	display: flex;
    align-items: center;
    justify-content: center;
	font-size: 120%;
	text-align: center;
	letter-spacing: 0.1em;
}
@media screen and (min-width:768px){
	.index h3 {
		font-size: 150%;
	}
}

/*index h4タグ*/
.index-about h4 {
	display: flex;
    align-items: center;
    justify-content: center;
	font-family: 'Kaisei Opti', serif;
	font-size: 110%;
    letter-spacing: 0.1rem;
    position: relative;
}
.index-about h4::before,
.index-about h4::after {
	content: none;
}
@media screen and (min-width:768px){
	.index-about h4 {
		font-size: 130%;
		margin: 0 auto 3rem;
	}
}

/*other h4タグ*/
.other h4 {
	color: #08428b;
    font-size: 100%;
    text-align: center;
    letter-spacing: 0.05em;
}
@media screen and (min-width:768px){
	.other h4 {
		font-size: 110%;
	}
}

/*フッター設定
---------------------------------------------------------------------------*/
footer small {font-size: 100%;}

.footerContainer {
	text-align: center;		/*内容をセンタリング*/
	background: #8ccaff;		/*背景色*/
	color: #fff;			/*文字色*/
	padding: 3% 5% 10%;
}
.footerContainer a {text-decoration: none;color: #fff;}
.footerContainer .wrap  {
	max-width: 980px;
    margin: 0 auto;
	font-size: 75%;
}
.footerContainer .f_sitemap {
    display: none;
}
.f_sitemap .f_sitemap_wrap {
	display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    text-align: center;
    background: #ffffff2e;
    border-radius: 15px;
}
.f_sitemap .f_sitemap_wrap ul.title {
    width: 25%;
    margin-bottom: 10px;
    padding-left: 0px;
}
.footerContainer .f_map {
	margin-bottom: 1rem;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 65%;
}
.footerContainer .f_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.footerContainer .f-tel {
    font-size: 1.8rem;
}
.f-tel .material-icons {
    font-size: 2rem;
    vertical-align: text-top;
    transform: rotate(10deg);
	margin-right: 0.3rem;
}
.footerContainer .f_copyright {
    position: relative;
    padding-bottom: 40px;
	margin: 1rem 0;
	font-size: 70%;
}
.footerContainer .access_area {
    display: flex;
    margin: 0 auto;
    justify-content: space-around;
	flex-wrap: wrap;
}
@media screen and (min-width:768px){
	.footerContainer {
		padding: 3% 5%;
	}
	.footerContainer .f_copyright {
		padding-bottom: 0;
	}
	.footerContainer .wrap {
		width: 50%;
	}
}
@media screen and (min-width:1024px){
	.footerContainer .f_sitemap {
		margin-top: 1rem;
		display: block;
	}
	.footerContainer .img_wrap {
		width: 60%;
	}
	.footerContainer .access_wrap {
		width: 30%;
	}
	.footerContainer .wrap {
		width: 100%;
	}
}
/*フローティングメニュー*/
.footerFloatingMenu {
	width: 100%;
    background-color: #f5f5f5;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index: 9999;
    text-align: center;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 0.8rem 0;
}
.footerFloatingMenu .f_mail {
    width: 40%;
    border-right: 1px solid #aaaaaa;
}

.footerFloatingMenu .f-tel {
    font-size: 1rem;
	width: 50%;
    border-right: 1px solid #aaaaaa;
}
.footerFloatingMenu .f-top {
    width: 15%;
}
.footerFloatingMenu .top_icon::before {
    content: "\f106";
    font-family: 'Font Awesome 5 Free';
    font-weight: bold;
	font-size: 1.3rem;
	margin-right: 1rem;
}
.footerFloatingMenu .f-tel .material-icons {
    font-size: 1.3rem;
}
.footerFloatingMenu .f_mail .material-icons {
    font-size: 1.3rem;
	margin-right: 0.3rem;
    vertical-align: text-top;
}
@media screen and (min-width:768px){
	.footerFloatingMenu {
		display: none;
	}
}

/*問合わせ
---------------------------------------------------------------------------*/
.contact_form .contact_tel_fax {
    margin-bottom: 3rem;
}
.contact_form .contact_item {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-start;
    border-bottom-width: 1px;
    border-bottom-style: dashed;
    border-bottom-color: #CCCCCC;
	padding: 20px 0;
}
.contact_form .contact_article {
	font-weight: bold;
    text-align: left;
    padding: 5px;
    font-size: 15px;
    min-width: 350px;
    display: flex;
    align-items: center;
}
.contact_form span.memo {
    font-weight: normal;
    margin-left: 2rem;
}
.contact_form .contact_input_area {
    width: 60%;
    text-align: left;
    padding: 5px;
    min-width: 320px;
}
.contact_form .contact_article_comments {
	text-align: left;
	font-size: 0.8rem;
	padding: 1rem 5rem;
	clear: both;
}
.contact_form h4{
	text-align: left;
    font-size: 130%;
    line-height: 0;
}
.contact_form .f-tel {
    font-size: 1.8rem;
}
/*記入枠の色*/
.contact_form .contact_input_area input ,
.contact_form .contact_input_area textarea {
	font-size: 1rem;
	color: #666;
	background-color:#fff;
	border: solid 1px #ccc;
	border-radius: 3px;
}
/*必須表示*/
.need {
	padding: 0.1rem 0.5rem;
    font-size: 0.7rem;
    color: #FFFFFF;
    background-color: #F00;
    margin: 0 1rem 0 0;
    border-radius: 4px;
}
.input_space_01 {
	width:55%;
	padding-left: 10px;
	height:2em;
}
.input_space_02 {
	width:90%;
	padding-left: 10px;
}

/*確認ボタン*/
.contact .btnArea_submit {
    clear: both;
    padding-top: 4rem;
}
.contact .btn_blue {
	border-radius: 0.6rem;
    color: #fff;
    font-size: 1.3rem;
    padding: 1rem 3rem;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
	-webkit-appearance: none;/*iosでのデフォルトスタイル回避*/
	margin: 3rem;
}
.contact .btn_gray {
	border-radius: 0.6rem;
    color: #fff;
    font-size: 1.3rem;
    padding: 1rem 3rem;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
	-webkit-appearance: none;/*iosでのデフォルトスタイル回避*/
	margin: 3rem;
}
.contact .btnArea_submit .btn_blue {
	border: 1px solid #2864a0;
    width: auto;
}
.contact .btnArea_submit .btn_blue:hover {
	opacity: 0.5; /*透明度。50%の色がついた状態*/
	transition: 0.5s; /*ふわっと変化させる*/
}
.contact .btnArea_submit .btn_gray {
    background: #aaa;
    border: 1px solid #aaa;
    margin: 0;
    width: auto;
}
.contact .btnArea_submit .btn_gray:hover {
    background-color: #ccc;
    color: #fff;
}

.partner .btnArea_submit {
    clear: both;
    padding-top: 4rem;
}
.partner .btn_blue {
	border-radius: 0.6rem;
    color: #fff;
    font-size: 1.3rem;
    padding: 1rem 3rem;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
	-webkit-appearance: none;/*iosでのデフォルトスタイル回避*/
	margin: 3rem;
}
.partner .btn_gray {
	border-radius: 0.6rem;
    color: #fff;
    font-size: 1.3rem;
    padding: 1rem 3rem;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
	-webkit-appearance: none;/*iosでのデフォルトスタイル回避*/
	margin: 3rem;
}
.partner .btnArea_submit .btn_blue {
	border: 1px solid #2864a0;
    width: auto;
}
.partner .btnArea_submit .btn_blue:hover {
	opacity: 0.5; /*透明度。50%の色がついた状態*/
	transition: 0.5s; /*ふわっと変化させる*/
}
.partner .btnArea_submit .btn_gray {
    background: #aaa;
    border: 1px solid #aaa;
    margin: 0;
    width: auto;
}
.partner .btnArea_submit .btn_gray:hover {
    background-color: #ccc;
    color: #fff;
}

@media (min-width: 767px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}
/*page_block
---------------------------------------------------------------------------*/
.page_block_wrap {
    margin-bottom: 5rem;
}
.img_box{
	width: 100%;
}
.img_box2{
	display:block;
	float:right;
}
.img_all_box{
	display:block;
	width:100%;
	margin:auto;
}
.text_contencts {
    width: 100%;
	margin-top: 1rem;
}
.page_text{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.page_all_text{
	display:block;
	width:100%;
}
@media screen and (min-width:768px){
	section.index .text_contencts {
		width: 50%;
		margin-top: 0;
	}
	section.index .img_box {
		width: 47%;
		margin-right: 0.5rem;
	}
	section.about .text_contencts {
		width: 55%;
		margin-top: 0;
	}
	section.about .img_box {
		width: 40%;
		margin-right: 0.5rem;
	}
	section.partner .text_contencts {
		width: 50%;
		margin-top: 0;
	}
	section.partner .img_box {
		width: 47%;
		margin-right: 0.5rem;
	}
	section.recruit .page_text {
		flex-wrap: nowrap;
	}
	section.recruit .text_contencts {
		width: 55%;
		margin-top: 0;
	}
	section.recruit .img_box {
		width: 65%;
		margin-right: 0.5rem;
	}
}
@media screen and (min-width:1024px){
	section.index-about .text_contencts {
		width: 47%;
		font-size: 115%;
		margin-top: 0;
	}
	section.index-about .img_box {
		width: 50%;
	}
	section.partner .text_contencts {
		width: 60%;
		margin-top: 0;
		font-size: 115%;
	}
	section.partner .img_box {
		width: 38%;
	}
	section.shop .text_contencts {
		width: 47%;
		font-size: 115%;
		margin-top: 0;
	}
	section.shop .img_box {
		width: 50%;
	}
	section.recruit .text_contencts {
		width: 47%;
		margin-top: 0;
		font-size: 125%;
	}
	section.recruit .img_box {
		width: 50%;
	}
}

/*改行設定
---------------------------------------------------------------------------*/
/* スマホ用<br> */
@media screen and (max-width:767px) {
	.br-sp { display: block; }
	.br-tb { display: none; }
	.br-pc { display: none; }
}
/* tablet 縦用<br> */
@media only screen and (min-width:768px) and (max-width:1023px) {
	.br-sp { display: none; }
	.br-tb { display: block; }
	.br-pc { display: none; }
}
/* pc用<br> */
@media screen and (min-width:1024px) {
	.br-sp { display: none; }
	.br-tb { display: none; }
	.br-pc { display: block; }
}

/*背景色・装飾
---------------------------------------------------------------------------*/
.bg_blue {
	background: #eaf9ff;
}
.bg_gray {
    background: rgb(255,231,203);
    background: linear-gradient(0deg, #F6F6F6 70%,#fff 70%);
}
@media screen and (min-width:768px){
	.bg_gray {
		background: linear-gradient(0deg, #F6F6F6 50%,#fff 50%);
	}
}

.bg_wrap {
    background: url(../images/bg-blue-dot.jpg) no-repeat;
    background-position: center top;
    position: relative;
}
.scallop-up {
    height: 100px;
    width: 100%;
    background: -webkit-gradient(radial, 50% 100%, 10, 50% 100%, 40, from(#fff), color-stop(0.49, #fff), color-stop(0.51, #fff), to(white));
    -webkit-background-size: 49px 100%;
}
.scallop-down {
    height: 100px;
    width: 100%;
    background: -webkit-gradient(radial, 50% 0, 10, 50% 0, 40, from(#e7f6ff), color-stop(0.49, #e7f6ff), color-stop(0.51, #fff), to(white));
    -webkit-background-size: 49px 100%;
}

/*mark
---------------------------------------------------------------------------*/
.mark {
	width: 100%;
    height: auto;
    text-align: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
	margin-bottom: 0;
}
.mark:before {
	content: "";
    display: inline-block;
    width: 10rem;
    height: 10rem;
    background: url(../images/mark.png) no-repeat;
    background-size: contain;
    position: absolute;
}
@media screen and (min-width: 768px){

}
@media screen and (max-width: 480px){
	.mark:before {
		margin-top: 60%;
	}
}

/*サイトマップ
---------------------------------------------------------------------------*/
table.table_sitemap {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	line-height: 30px;
	text-align: left;
}
table.table_sitemap th {
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #CCCCCC;
	padding: 20px;
	font-weight: normal;
}
table.table_sitemap td {
	border-bottom-width: 1px;
	border-bottom-style: dashed;
	border-bottom-color: #CCCCCC;
	padding: 20px;
}

/*サイトマップ*/
.table_sitemap .sm_list {
    position: relative;
    padding-left: 15px;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
}
.table_sitemap .sm_list:before {
	content: "";
	position: absolute;
	top: 0.25em;
	left: 0;
	width: 0;
	height: 0;
	border-width: 6px;
	border-style: solid;
	border-color: transparent transparent transparent #04558f;
}
.table_sitemap .sm_clist{
	position: relative;
	padding-left: 15px;
	font-weight: bold;
}
.table_sitemap .sm_clist:before {
	content: "";
	position: absolute;
	top: .45em;
	left: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 5px;
	height: 5px;
	border-top: 2px solid #65bde1;
	border-right: 2px solid #65bde1;
}

@media screen and (max-width:767px){
	table.table_sitemap {
		margin-bottom: 0;
		margin-top: 0;
		text-align: left;
	}
	table.table_sitemap th {
		width: 100% !important;
		display: block;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	table.table_sitemap td {
		width: 100% !important;
		display: block;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	table.table_sitemap th {
		font-weight: bold;
		border: none;
		padding: 20px 0 0 20px;
	}
}

/*問合わせ
---------------------------------------------------------------------------*/
/*確認画面*/
.table_contact{
	border: 1px solid #ddd;
    border-collapse: collapse;
    width: 80%;
    margin-bottom: 1em;
}
.table_contact th,
.table_contact td {
    padding: 10px;
    border: 1px solid #ddd;
}
.table_contact th{
    background-color: #f5f5f5;
}
/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {display: block;}

/*ボタンの設定*/
.pagetop a {
	display: none;
	text-decoration: none;
	text-align: center;
	z-index: 99;
	position: fixed;	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;		/*右からの配置場所指定*/
	bottom: 20px;		/*下からの配置場所指定*/
	color: #fff;		/*文字色*/
	font-size: 1.5em;	/*文字サイズ*/
	background: rgba(0,0,0,0.2);	/*背景色。0,0,0は黒の事で0.2は色が20%出た状態。*/
	width: 60px;		/*幅*/
	line-height: 60px;	/*高さ*/
	border-radius: 50%;	/*円形にする*/
}
@media screen and (min-width:768px){
	.pagetop a {
		display: block;
	}
}

/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: #9ddbf8 !important;}
.color-check, .color-check a {color: #f00 !important;}
.c {text-align: center !important;}
.ws {width: 100%;display: block;}
.wl {width: 100%;display: block;}
.mb30 {margin-bottom: 30px !important;}
.mt30 {margin-top: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: #666; color: #fff; border-radius: 3px;margin: 5px 0; word-break: break-all;}
.look .color-check {color: #ffcc00 !important;}
.small {font-size: 0.6em;}

/*index
---------------------------------------------------------------------------*/
section.index-top span.text {
	display: block;
    color: #1c8ccd;
    font-weight: bold;
    position: relative;
    font-size: 120%;
}
@media screen and (min-width:768px){
	section.index-top span.text {
		text-align: center;
		font-size: 1.3em;
	}
}

/*index-about
----------------------------------------*/
.index-about_contents .contents {
	margin-top: 10vh;
}

/*テキスト内*/
section.index-about br {
	display: none;
}
section.index-about .text_contencts ul.list {
	padding-left: 0;
	line-height: 1.5em;
	margin-top: 0;
	font-size: 110%;
}
section.index-about .text_contencts  ul.list ol {
	padding-left: 0;
}
section.index-about .text_contencts ul.list li{
	position: relative;
	padding: 0.5em 1em 0.5em 1.5em;
	margin-bottom:5px;
	color: #2864a0;
	font-weight: bold;
	font-size: 115%;
}
section.index-about .text_contencts ul.list li:before{
	content: "";
	position: absolute;
	border-radius: 50%;
}
section.index-about .text_contencts ul.list li:before{
	left: 0.2em;
	width: 17px;
	height: 17px;
	background: rgba(129,194,250,0.5);
	top: 50%;
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
@media screen and (min-width:768px){
	section.index-about .text_contencts ul.list li{
		font-size: 100%;
	}
}

/*index-beforeafter
----------------------------------------*/
.index-beforeafter_wrap {
	display: flex;
	flex-wrap: wrap;
	text-align: center;
}
.index-beforeafter_content {
	background: #fff;
	box-shadow: 0px 0px 15px 1px rgb(0,0,0,0.1);
	margin: 0.5em;
	width: 100%;
	border-radius: 10px;
}
.index-beforeafter_content .item {
	display: flex;
	padding: 1rem;
	margin: 0;
}
.index-beforeafter_content .image-wrap img {
	border: none;
	object-fit: cover;
	padding: 0.5em;
	display: block;
	width: 50vw;
    height: 20vh;
}
.index-beforeafter_content h4 {
	position: relative;
	display: inline-block;
	background-color: #fff;
	border-bottom: solid 1px #666;
	padding: 16px;
	min-width: 300px;
	max-width: 100%;
	text-align: center;
}
.index-beforeafter_content h4:before,
.index-beforeafter_content h4:after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.index-beforeafter_content h4:before {
	border: solid 13px transparent;
	border-top: solid 13px #666;
}
.index-beforeafter_content h4:after {
	border: solid 16px transparent;
	border-top: solid 16px #fff;
	margin-top: -5px;
}
.index_link {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 auto;
}
@media screen and (min-width:768px){
	.index-beforeafter_wrap {
		flex-wrap: nowrap;
		margin-bottom: 4em;
	}
	.index-beforeafter_content {
		width: 47%;
		margin: 0 auto;
	}
	.index_link {
		flex-wrap: nowrap;
		width: 100%;
	}
}
@media screen and (min-width:1024px){
	.index-beforeafter_content .image-wrap img {
		width: 30vw;
		height: 30vh;
	}
}

/*shop
---------------------------------------------------------------------------*/
.shop .map{
	position: relative;
    overflow: hidden;
    max-width: 100%;
	height: 35vh;
    padding-bottom: 50%;
}
.shop .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.access .material-icons {
    color: #2864a0;
    margin-right: 0.5rem;
	vertical-align: middle;
}

/*partner
---------------------------------------------------------------------------*/
.partner ul {
	position: relative;
	margin: 0;
}
.partner ul li {
	line-height: 1.5;
	padding: 0.5em 0;
	list-style-type: none!important;/*ポチ消す*/
}
.partner ul li:before {
	font-family: "Font Awesome 5 Free";
	content: "\f0a4";
	position: absolute;
	left : 1em; /*左端からのアイコンまで*/
	color: #2864a0; /*アイコン色*/
}
.partner br {
	display: block;
	content: "";
	margin: 10px 0;
}
.partner .contact_form {
	width: 90%;
    margin: 5rem auto 0;
}
.partner .contact_form .contact_tel_fax {
	margin-bottom: 5rem;
    display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
.partner .contact_form .f-tel {
    font-size: 1.3rem;
}
.partner .f-tel .material-icons {
    font-size: 1.5rem;
}
.partner .contact_form .contact_input_area {
    width: 55%;
}
.partner .input_space_01 {
    width: 90%;
}
.partner .contact_form h4 {
    font-size: 100%;
}
@media screen and (min-width:768px){
	.partner .contact_form .contact_tel_fax {
		justify-content: flex-start;
	}
	.partner .contact_form .contact_telArea {
		margin: 0 2rem;
	}
}

/*recruit
---------------------------------------------------------------------------*/
.recruit .material-icons {
    font-size: 1.1rem;
}

/*更新履歴
---------------------------------------------------------------------------*/
ul.ul_news {
	margin: 0px;
	padding: 0px;
	font-size: 100%;
	font-weight: normal;
}
ul.ul_news .news_icon {
	display: inline-block;
	width: 50px;
	margin: 2px;
	text-align: center;
	font-size: 12px;
	padding: 0 5px;
	border-radius: 4px;
	color: #fff !important;
}
ul.ul_news .news {
	background: #fd7d32;
}
ul.ul_news .blog {
	background: #2b2ebc;
}
ul.ul_news .dash_hr{
	border: none;
	border-top: dashed 1px #a1a1a1;
	height: 1px;
	color: #FFFFFF;
	background-color: #FFFFFF;
}
ul.ul_news .newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}
