@charset "UTF-8";
/*
Theme Name: サンプル
Author: 株式会社メックコミュニケーションズ
Author URI: https://www.mec-com.co.jp
Date: 2023-05-01
*/

/*parts
-----------------------------------------------------------------------------------------*/
body{
/*特色*/
	--color_A:#00967C;/*メインカラー（青色）*/
	--color_B:#D1E5FF;/*メインカラー薄（水色）*/
	--color_C:#F4BC3E;/*アクセントカラー（黄色）*/
	--color_D:#F6F1F1;/*ベースカラー（灰色）*/
	--color_red:#FF0000;/*赤*/
/*em*/
	--color_notice:var(--color_red);
/*テキストリンク*/
	--color_link:#006deb;
/*-------------------------base*/
/*text*/
	--tx_sen:var(--color_A);
	--tx_waku:var(--color_A);
	--tx_kiji:var(--color_A);
	--tx_belt:var(--color_A);
	--tx_line:var(--color_A);
	--tx_bar:var(--color_A);
	--tx_maru:var(--color_B);
/*ya*/
	--ya_tri:var(--color_A);
	--ya_sen:var(--color_A);
	--ya_maru:var(--color_A);
/*btn*/
	--btn:var(--color_B);
/*list*/
	--list_line:#000;
	--list_box:#FFF;
	--list_mark:var(--color_red);
/*sitemap*/
	--sitemap:var(--color_A);
	--sitemap_ya:var(--color_A);
/*parts*/
	--flow_no:var(--color_A);
	--dtbox_tx:#FFF;
	--dtbox_bg:var(--color_A);
	--tab_btn:var(--color_A);
/*etc*/
	--sya:var(--color_A);
}
/*-------------------------------------------------------------------------------------------------特色border_color*/
body .sen_A{border-color:var(--color_A);}
body .sen_B{border-color:var(--color_B);}
body .sen_C{border-color:var(--color_C);}
body .sen_red{border-color:var(--color_red);}
/*-------------------------------------------------------------------------------------------------特色bg*/
.bg_A{background-color:var(--color_A);}
.bg_B{background-color:var(--color_B);}
.bg_C{background-color:var(--color_C);}
.bg_D{background-color:var(--color_D);}
.bg_red{background-color:var(--color_red);}
/*-------------------------------------------------------------------------------------------------特色text_color*/
.tx_A{color:var(--color_A);}
.tx_B{color:var(--color_B);}
.tx_C{color:var(--color_C);}
.tx_red{color:var(--color_tx);}
/*-------------------------------------------------------------------------------------------------特色ya*/
.ya_red::before{border-color:var(--color_red);background-color:var(--color_red);}
.ya_A::before{border-color:var(--color_A);background-color:var(--color_A);}
.ya_B::before{border-color:var(--color_B);background-color:var(--color_B);}
.ya_C::before{border-color:var(--color_C);background-color:var(--color_C);}
/*-------------------------------------------------------------------------------------------------img_position*/
body .img_r{float:right;margin:5px 0 5px 40px}
body .img_l{float:left;margin:5px 40px 5px 0}
body .img_c{text-align:center;margin:30px auto}
@media screen and (max-width:1024px){
body .img_r,
body .img_l,
body .img_c{float:none;text-align:center;margin:15px auto;}
}
/*-------------------------------------------------------------------------------------------------imgbox*/
.imgbox{display:flex;flex-direction:row-reverse;gap:40px;}
.imgbox figure{flex-shrink:0;}
@media screen and (max-width:1024px){
	.imgbox{flex-direction:column;gap:15px;}
	.imgbox figure{margin:0 auto;}
}
/*-------------------------------------------------------------------------------------------------scnone*/
body.scroll .scnone{display:none}
@media print, screen and (min-width:768px){
	body.scroll .pc_scnone{display:none;}
}
@media screen and (max-width:767px){
	body.scroll .sp_scnone{display:none;}
}
/*-------------------------------------------------------------------------------------------------title*/
/*-------------------------title1*/
.title1{
	font-size:3.4rem;
	line-height:1.5;
	font-weight:bold;
	position:relative;
}
@media screen and (max-width: 767px) {.title1{font-size:2.6rem;}}
/*-------------------------title2*/
.title2{
	font-size:2.8rem;
	line-height:1.5;
	font-weight:bold;
	position:relative;
}
@media screen and (max-width: 767px) {.title2{font-size:2.2rem;}}
/*-------------------------title3*/
.title3{
	font-size:2.4rem;
	line-height:1.5;
	font-weight:bold;
	position:relative;
}
@media screen and (max-width: 767px) {.title3{font-size:2rem;}}
/*-------------------------title4*/
.title4{
	font-size:2rem;
	line-height:1.5;
	font-weight:bold;
}
@media screen and (max-width: 767px) {.title4{font-size:1.8rem;}}
/*-------------------------btn*/
.btn{
	justify-content:center;
}
/*-------------------------dtbox*/
.dtbox dt{
	border-radius:5px;
}


/*home
-----------------------------------------------------------------------------------------*/
/*-------------------------pageimg*/
.pageimg{
	height:400px;
	background:url(images/pageimg.jpg) center;
	background-size:cover;
	display:flex;
	justify-content:center;
	align-items:center;
}
.pageimg h1{
	background:rgba(255,255,255,0.8);
	font-size:30px;
	font-family:serif;
	font-weight:bold;
	padding:20px 30px;
}
/*-------------------------greeting*/
.greeting{
	padding-top:30px;
	padding-bottom:60px;
}
.greeting h2{
	text-align:center;
	color:#754C24;
	font-weight:bold;
	font-size:3.6rem;
	margin-bottom:0.5em;
}
@media print, screen and (min-width: 768px) {
.greeting figure{
	position:absolute;
	right:50px;
	top:-120px;
	border-radius:100%;
	overflow:hidden;
}
}
@media screen and (max-width: 767px) {
.greeting figure img{
	min-width:100%;
}
.greeting figure{
	width:min(40vw, 240px);
	height:min(40vw, 240px);
	margin:0 auto 20px auto;
	border-radius:100%;
	overflow:hidden;
}
}
/*-------------------------staff_items*/
.staff_items{
	background:#F2F1E9;
	padding-top:60px;
	padding-bottom:60px;
	text-align:left;
}
.staff_items h2{
	font-size:24px;
	font-weight:bold;
}
.staff_items ul{
	display:flex;
	gap:30px;
}
.staff_items li{
	width:320px;
	background:#FFF;
	padding:20px;
	display:flex;
	flex-direction:column;
}
.staff_items figure{
	margin:-20px -20px 20px -20px;
}
.staff_items figure + p{
	font-size:16px;
	line-height:1.75;
	margin-bottom:0.5em;
}
.staff_items p.name{
	font-weight:bold;
	margin-top:auto;
	text-align:right;
}
@media screen and (max-width: 767px) {
.staff_items ul{
	flex-direction:column;
}
.staff_items li{
	width:100%;
}
.staff_items img{
	min-width:100%;
}
}

/*background
-----------------------------------------------------------------------------------------*/
.background_01{background: url(images/background_01.jpg) center;background-size:cover}
.background_w{background-color:rgba(255, 255, 255, 0.7)}
.background_k{background-color:rgba(0, 0, 0, 0.5);color:#fff}

/*frame_section-----------------------------------------------------------------------------------------*/
.frame_section{
	max-width:1100px;
	margin: 0 auto;
	text-align:left;
}
@media screen and (max-width: 739px){
	.frame_section {padding:0px 20px;}
}

/*imgtextarea
-----------------------------------------------------------------------------------------*/
.imgtextarea {
	max-width:1100px;
	margin: 0 auto;
	padding-top:70px;
	padding-bottom:20px;
}
@media screen and (max-width: 739px){
	.imgtextarea {padding-top:30px;margin-top:20px;}
}
/*-------------------------flexbox*/
.contents-wrap {
	display: flex;
	justify-content: space-between;
	margin-bottom: 70px;
}
.contents-wrap:nth-child(odd) {
	flex-direction: row-reverse;
}
.contents-text {
	width: 60%; /*flex: 2;*/
}
.contents-img {
	width: 35%; /*flex: 1;*/
}
.contents-text h2 {
	margin-bottom: 1.5rem;
	font-size: 24px;
	font-weight:bold;
	/*text-align:left;*/
}
.contents-text p {
	text-align:left;
}
.contents-img img {
	display: block;
	width: 100%;
	height: auto;
}
@media screen and (max-width: 739px){
	.contents-wrap,
	.contents-wrap:nth-child(odd)  {
		flex-direction: column;
	}
	.contents-text,
	.contents-img {
		width: 100%; /*flex: 1;*/
		padding: 10px 20px;
	}
	.contents-text {
		padding: 20px;
	}
	.contents-text h2 {
		/*text-align: center;*/
		font-size:20px;
		margin-bottom:10px;
	}
	.contents-text p {
		font-size:14px;
		line-height:1.75;
	}
	.contents-wrap{
		margin-bottom:15px;
	}
}
/*-------------------------btn*/
a.imgtextarea_btn {
	position: relative;
	display: block;
	width: 200px;
	padding: 0.2em;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	background: #CC0000;
	transition: .4s;
	margin:10px auto 0 auto;
}
a.imgtextarea_btn:hover {
	background-color:#E06666;
}
@media screen and (max-width: 739px){
	a.imgtextarea_btn {line-height: 30px;}
}

/*box-list
-----------------------------------------------------------------------------------------*/
.box-list{
	display: flex;
	flex-wrap:wrap;
	justify-content:space-around;
	align-content:flex-start;
	gap: 25px;
	margin-top:70px;
	margin-bottom:70px;
}
.box-list .waku_2,.waku_3,.waku_4{
	padding: 20px;
	border: 1px solid rgba(0, 0, 0, 0.3);
}
/*-- PCの表示列2列 --*/
.box-list .waku_2{
	width:530px;
}
/*-- PCの表示列3列 --*/
.box-list .waku_3{
	width:350px;
}
/*-- PCの表示列4列 --*/
.box-list .waku_4{
	width:250px;
}
/*-------------------------box-list list*/
.box-list ul li {
	font-size: inherit;
	margin-left: 1em;
	font-size:16px;
}
.box-list ul li::before{
	margin-left: -1em;
	display: inline-block;
	content: '';
	width: 1em;
	height: 1em;
	background: rgba(39,171,217,1);
	border-radius: 50%;
	transform: scale(0.8) translateY(0.1em);
	margin-right: 5px;
}
.box-list .tx {
	margin-top:10px;
}
@media screen and (max-width: 739px){
	.box-list{display: block;margin-top:30px;margin-bottom:30px;}
	.box-list .waku_2{width:100%;margin-bottom:15px;}
	.box-list .waku_3{width:100%;margin-bottom:15px;}
	.box-list .waku_4{width:100%;margin-bottom:15px;}
	.box-list ul li {font-size:14px;line-height:1.75;}
	.box-list .tx{font-size:14px;line-height:1.75;}
}
/*-------------------------box-list btn*/
a.box-list_btn {
	position: relative;
	display: block;
	width: 200px;
	padding: 0.2em;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	background: #CC0000;
	transition: .4s;
	margin:20px auto 0 auto;
}
a.box-list_btn:hover {
	background-color:#E06666;
}
@media screen and (max-width: 739px){
	a.box-list_btn {line-height: 30px;font-size:14px;}
}
/*見出し
-----------------------------------------------------------------------------------------*/
/*-------------------------左寄せ基本 title00-l*/
.title00-l{
	font-weight:bold;
	font-size:20px;
	text-align:left;
}
@media screen and (max-width: 739px){
	a.box-list_btn {line-height: 30px;}
}
/*-------------------------右寄せ基本 title00-r*/
.title00-r{
	font-weight:bold;
	font-size:20px;
	text-align:right;
}
/*-------------------------左寄せ基本 title00-c*/
.title00-c{
	font-weight:bold;
	font-size:20px;
	text-align:center;
}
/*-------------------------中央寄せ下線 title01*/
.title01{
	font-weight:bold;
	font-size:20px;
	text-align:center;
}
.title01::after {
	content: "";
	display: block;
	width: 5em;
	margin: 0 auto;
	height: 0.2em;
	border-bottom: 2px solid #27acd9;
	margin-bottom:20px;
}
/*-------------------------斜め線中央見出し title02*/
/*中央寄せ*/
.title02{
	display: flex;
	flex-wrap: nowrap;
	justify-content: center; 
	align-items: center;
	border:0;
	font-weight:bold;
	font-size:20px;
	margin-bottom: 15px;
}
/*短い左右線*/
.title02::before,
.title02::after {
	content: '';
	width: 25px;
	height: 2px;
	background-color:#27acd9;
/*Lightning見出しデザイン設定のCSS対策*/
	position: unset;
	border: unset;
	margin-left: unset;
	margin-right:unset;
	flex-grow: unset;
}
.title02::before{
	margin-right:14px;
	transform: rotate(60deg);
}
.title02::after {
	margin-left:14px;   
	transform: rotate(-60deg);
}
/*-------------------------中央寄せ短い左右線 title03*/
/*中央寄せ*/
.title03{
	display: flex;
	flex-wrap: nowrap;
	justify-content: center; 
	align-items: center;
	border:0;
	font-weight:bold;
	font-size:20px;
	margin-bottom: 15px;
}
/*短い左右線*/
.title03:before,
.title03:after {
	content: '';
	width: 20px;
	height: 2px;
	background-color:#27acd9;
	 /*Lightning見出しデザイン設定のCSS対策*/
	position: unset;
	border: unset;
	margin-left: unset;
	margin-right:unset;
	flex-grow: unset;
}
.title03:before{
	margin-right:14px;
}
.title03:after {
	margin-left:14px;
}
/*-------------------------背景文字重ね title04*/
.title04{
	position: relative;
	z-index:1;
	font-weight:bold;
	font-size:20px;
	margin-bottom: 20px;
	margin-top:10px;
	text-align:center;
}
/*背景の文字部分*/
.title04::before {
	position: absolute;
	 /*上下中央寄せ*/
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	color: rgba(0,0,0,0.1);
	font-size: 4rem;
	z-index: -1;
	width:300px;
}
@media screen and (max-width: 739px){
	.title04::before {font-size:2rem;}
}
/*背景の文字変更 必要数コピーして作成する*/
.bgtx01 .title04::before {
	content: '01';
}
.bgtx02 .title04::before {
	content: '02';
}
.bgtx03 .title04::before {
	content: 'STUDY';
}
/*-------------------------1文字目大きく title05*/
.title05 {
	border-bottom: solid 2px #27acd9;
	font-weight:bold;
	font-size:20px;
	padding-bottom:5px;
	margin-bottom: 15px;
	text-align:left;
}
.title05:first-letter {
	color: #27acd9;
	font-size:160%;
}
/*-------------------------吹き出し風 title06*/
/*見出し部分*/
.title06 {
	position:relative;
	padding-bottom:0.5rem;
	border-bottom:1px solid #000;
	font-weight:bold;
	font-size:20px;
	margin-bottom: 25px;
	text-align:center;
}
/*吹き出し部分*/
.title06::before{
	content:'';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) skew(-25deg);
	height: 15px;
	width: 15px;
	border-right: 1px solid #000;
	background-color: #fff !important;
	/*Lightning見出しデザイン設定のCSS対策*/
	border-left: none;
	border-top: unset;
	border-bottom: unset;
}

/*カード
-----------------------------------------------------------------------------------------*/
.card-list{
	display: flex;
	flex-wrap:wrap;
	justify-content:space-around;
	align-content:flex-start;
	gap: 25px;
	margin-top:70px;
	margin-bottom:70px;
}
@media screen and (max-width: 739px){
	.card-list{margin-top:50px;margin-bottom:30px;gap:20px;}
}
/*-------------------------カード共通*/
.card_2 li{
/*-- PCの表示列2列 --*/
	width: 530px;
	height: auto;
}
.card_3 li{
/*-- PCの表示列3列 --*/
	width: 350px;
	height: auto;
}
/*-- PCの表示列4列 --*/
.card_4 li{
	width: 250px;
	height: auto;
}
.card__textbox{
	width: 100%;
	height: auto;
	padding: 20px 18px;
	background: #ffffff;
	box-sizing: border-box;
}
.card__textbox > * + *{
	margin-top: 10px;
}
.card__titletext{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	color: #000;
}
.card__overviewtext{
	font-size: 16px;
	line-height: 1.75;
	color: #000;
}
@media screen and (max-width: 739px){
	.card_2 li,.card_3 li,.card_4 li{width:100%;}
	.card__overviewtext{font-size:14px;line-height:1.75;}
}
/*-------------------------card-list_btn*/
a.card-list_btn {
	position: relative;
	display: block;
	width: 180px;
	padding: 0.2em;
	text-align: center;
	text-decoration: none;
	color: #FFF;
	background: #CC0000;
	transition: .4s;
	margin:20px auto 0 auto;
}
a.card-list_btn:hover {
	background-color:#E06666;
}
@media screen and (max-width: 739px){
	a.card-list_btn {line-height: 30px;font-size:14px;}
}
/*-------------------------card01*/
.card01{
	box-shadow: 0px 0px 12px rgba(0,0,0,0.3);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all  0.4s ease;
}
.card01:hover {
	top:1px;
	box-shadow:0px 0px 3px rgba(0,0,0,0.2);
}
/*-------------------------card02*/
.card02{
	overflow: hidden;
	border-radius: 15px;
	box-shadow: 0px 0px 12px rgba(0,0,0,0.3);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all  0.4s ease;
}
.card02:hover {
	top:1px;
	box-shadow:0px 0px 3px rgba(0,0,0,0.2);
}
/*-------------------------card03*/
.card03{
  position: relative;

}
.card03 .card__textbox{
	margin-top:-50px;
	width:87%;
	margin: -44px auto 0;
	border-radius:15px;
	background-color:#eef8fc;
	position: relative;
	z-index:19;
}
.card__titletext{
	text-align:center;
	color: #000;
}
.card03 figure img{
	border-radius:15px;
}
/*-------------------------card04*/
.card04{
	position: relative;
	padding-top:20px;

}
.card04 .card__textbox{
	width:100%;
	border-radius:15px;
	background-color:#FFF;
}
.card04 figure img{
	border-radius:100%;
	width:60%;
	height:60%;
	text-align:center;
	margin: auto;
	display: block;
}
@media screen and (max-width: 739px){
	.card04 .card__textbox {padding:20px 0px;}
	.card04 figure img{width:75%;height:75%;}
}
/*-------------------------card05*/
.card05{
	position:relative;
	border:solid 1px #ccc;
	padding-top:20px;
	margin:20px auto;  /*ボックス外側の余白*/
}
.card05 .card__titletext{
    position:absolute;
    top:-17px;  /*上からのタイトルの位置*/
    left:10px;   /*左からのタイトルの位置*/
    padding:0 7px;  /*内側の余白*/
    background:#fff;  /*背景色*/
}
.card05 .card__textbox{
	background-color:#fff;
}
.card05 figure img{
	text-align:center;
	margin: auto;
	display: block;
	padding:5px 20px 0;
}

/*-------------------------card06*/
.card06{
	position:relative;
	border-radius:1px solid eef8fc;
}
.card06 .card__textbox{
	background-color:#eef8fc;
}
.card06 figure img{
	text-align:center;
	margin: auto;
	display: block;
}
.card06 a.card-list_btn {
	width: 100%;
	margin:0;
	padding:10px 0;
}

/*sns-icon
-----------------------------------------------------------------------------------------*/
.sns-icon {
	max-width:1100px;
	margin: 0 auto;
	padding-top:20px;
	padding-bottom:20px;
}
.sns-icon img {
	width:48px;
	height:48px;
}
.sns-icon ul {
	display: flex;
	justify-content: flex-end;
	/*ブランドごとにアイソレーション（不可侵領域）が決められているため変更する場合は要注意。アイコンサイズを大きくする場合はここも大きく。*/
	gap:24px;
	list-style-type: none;
}
@media screen and (max-width: 739px){
	.sns-icon {padding:15px 20px;}
	.sns-icon img {width:32px;height:32px;}
	/*ブランドごとにアイソレーション（不可侵領域）が決められているため変更する場合は要注意。アイコンサイズを大きくする場合はここも大きく。*/
	.sns-icon ul {gap:16px;}
}

/*submenu
-----------------------------------------------------------------------------------------*/
.submenu {
	margin:0 auto;
	margin-top:-70px;/*画像サイズによってマイナスマージンを変更して表示位置を調整*/
	position:relative;
	z-index: 900;
	width:1000px;
}
.submenu_hover a:hover{filter: brightness(120%);} /*暗くしたい場合は100%以下にする*/
@media screen and (max-width: 739px){
	.submenu {margin-top:-50px;padding:0px 20px 0px;width:auto;}/*スマホの時メイン画像と重ねたくない場合はマイナスマージンをとる*/
}

/*floating_ban
-----------------------------------------------------------------------------------------*/
.floating_ban{
	position:fixed;
	right:0;
	top:300px;
	z-index:999;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	letter-spacing: 0.2em;
}
.floating_ban a{
	display:inline-block;
	background:#3D77E6;
	color:#FFF;
	font-size:18px;
	font-weight:bold;
	line-height:1.1;
	padding:20px 20px 15px 20px;
	border-radius:20px 0 0 20px;
}
.floating_ban a:hover{
	background:#F78500;
}
.floating_ban a:before{
	position: relative;
	display: inline-block;
	content: "";
	width: 24px;
	height: 24px;
	margin-bottom: 10px;
	background: url("images/float_btn_icon.svg") no-repeat;
}
@media screen and (max-width: 739px){
.floating_ban{
	bottom:0;
	top:initial;
	z-index:999;
	width:100%;
	-ms-writing-mode: initial;
	writing-mode: initial;
	text-orientation: initial;
}
.floating_ban a{
	display:block;
	line-height:30px;
	padding:10px 15px;
	border-radius:15px 15px 0 0;
	margin:0 10px;/*marginをとると横幅いっぱいに広がる*/
}
.floating_ban a:before{
	vertical-align: middle;
	padding-right:10px;
	margin-bottom:0px;
}
}

/*frame
-----------------------------------------------------------------------------------------*/
.frame{
	max-width:1200px;
	margin:0 auto;
	text-align:left;
	position:relative;
	padding:0 50px;
}
.frame::after {
	display: block;
	clear: both;
	content: "";
}
@media screen and (max-width: 767px) {.frame{padding:0 20px;}}
/*-------------------------clearfix*/
.clearfix::after{
	display: block;
	clear: both;
	content: "";
}

/*診療時間テーブルth文字センター
-----------------------------------------------------------------------------------------*/
#info .data table th{
	text-align:center;	
}

/*テーブルth、tdのpadding、背景
-----------------------------------------------------------------------------------------*/
table th, table td {
	padding:20px;
}
@media screen and (max-width: 767px) {
	table th, table td {padding:12px 8px;}
}
table th {
	background-color:var(--color_B);
}

/*-------------------------flowサイズ微調整*/
.flow_no{
	width:1.8em;
	line-height:1.8em;
}

/*背景ライン画像
-----------------------------------------------------------------------------------------*/
.background_line01{
	background: url(images/bg_line01.png) center;
	background-size:cover;height:80px;
}
.background_line02{
	background: url(images/bg_line02.png) center;
	background-size:cover;height:80px;
}
@media screen and (max-width: 739px){
	.background_line01,
	.background_line02
	{height:40px;}
}

/*w-fullのサイズを追加
-----------------------------------------------------------------------------------------*/
/*body .w-full{width:100vw;position:relative;left:50%;margin-left:-50vw;}
@media print, screen and (max-width:1200px) and (min-width: 768px){body .w-full{width:1200px;margin-left:-600px;}}
@media screen and (max-width: 767px) {body .w-full{min-width:375px;margin-left:-50vw;}}
@media screen and (max-width: 375px) {body .w-full{margin-left:-187px;}}*/
	
#contents .accordion.open{
display:flex;
}
	
/*pagetopと重なってしまうので表示位置を調整　★★★floating_banを使わない時はコメントアウトする！！★★★ */
@media screen and (max-width: 739px){
	#pagetop a{bottom:60px;}
}

/*faqの矢印文字サイズ調整
-----------------------------------------------------------------------------------------*/
.faq .ya_b::before {
	font-size: 16px;
	color:var(--color_A);
}
@media screen and (max-width: 739px){
	.faq p {font-size:14px;line-height:1.75;}
}

/*グラスモーフィズム追加
-----------------------------------------------------------------------------------------*/
.glass{
	background: rgba( 255, 255, 255, 0.5 );
	-webkit-box-shadow: 0 4px 20px rgba(0,113,118, 0.1); /* 影、背景色に近いものを設定するとより馴染む */
  box-shadow: 0 4px 20px rgba(0,113,118 0.1); /* 影、背景色に近いものを設定するとより馴染む*/
	backdrop-filter: blur( 9.5px );/*要素の背後の領域に、ぼかしや色変化のようなグラフィック効果を適用、数字が大きくなるとよくぼける*/
	-webkit-backdrop-filter: blur( 9.5px );/*要素の背後の領域に、ぼかしや色変化のようなグラフィック効果を適用、数字が大きくなるとよくぼける*/
	border: 1px solid rgba( 255, 255, 255, 0.25 );
}

/*グラデーション背景追加
-----------------------------------------------------------------------------------------*/
.gradation {
	 background-image: linear-gradient(90deg, rgba(253, 219, 146, 1), rgba(209, 253, 254, 1));
}

/*indent
-----------------------------------------------------------------------------------------*/
.ind-1{
	padding-left:1em;
	text-indent:-1em;
}

/*ul dot fontsize
-----------------------------------------------------------------------------------------*/
@media print, screen and (min-width:768px){
	.dot li{font-size:16px;}
}
@media screen and (max-width:767px){
	.dot li{font-size:16px;}
}

/*フッターメニューが2行になった場合のスマホの行間調整
-----------------------------------------------------------------------------------------*/
@media screen and (max-width: 739px){
	footer nav li{line-height:1.5;}
	footer nav ul{padding:5px 0;}
}

/*画像だけ横半分いっぱいになる
-----------------------------------------------------------------------------------------*/
/*.tx-img {
    position: relative;
    z-index: 4;
    background: url(../images/top_cencept_bg.png) no-repeat;
    background-position: 100% 32%;
}*/
.tx-img .box1{
    position:relative;
	margin:0 auto;
	width: 1100px;
	height:450px;
}
/*3個目からは複製する*/
.tx-img-left_01,
.tx-img-left_02{
    position: absolute;
    width: calc((100% - 200px) / 2);
    border-radius: 0 40px 40px 0;
    height:400px;
    left: 0;
}
.tx-img-left_01{
	background: url(images/tx-img-left_01.jpg) no-repeat;
	background-size: cover;
    background-position: 30% center;
}
.tx-img-left_02{
	background: url(images/tx-img-left_02.jpg) no-repeat;
    background-size: cover;
    background-position: 30% center;
} 
.tx-img-right_01,
.tx-img-right_02{
    position: absolute;
    width: calc((100% - 200px) / 2);
    /*↓で角丸サイズ調整*/
    border-radius: 40px 0  0 40px;
    height:400px;
    right: 0;
}
.tx-img-right_01{
    background: url(images/tx-img-right_01.jpg) no-repeat;
	background-size: cover;
    background-position: 30% center;
}
.tx-img-right_02{
    background: url(images/tx-img-right_02.jpg) no-repeat;
    background-size: cover;
    background-position: 30% center;
}
.tx-img-box-left{
    width: 50%;
    margin-left: auto;
	padding:70px 0;
	text-align:left;
}
.tx-img-box-right{
    width: 50%;
    margin-right: auto;
	padding:70px 0;
	text-align:left;
}

@media screen and (max-width: 1024px) and (min-width: 740px){
	.tx-img-left_01 {
		position: relative;
		background: url(images/tx-img-left_01.jpg) no-repeat;
		width: 100%;
		height: 500px;
		border-radius: 0;
		top: 0px;
		left: 0;
		background-size: cover;
		background-position: center;
	}
	.tx-img-right_01 {
		position: relative;
		background: url(images/tx-img-right_01.jpg) no-repeat;
		width: 100%;
		height: 500px;
		border-radius: 0;
		top: 0px;
		left: 0;
		background-size: cover;
		background-position: center;
	}
	.tx-img .box1 {
		width: 100%;
		height: auto;
	}
	.tx-img-box-left,
	.tx-img-box-right{
		width: 100%;
		margin: 0 auto;
		padding: 30px 40px;
	}
}

@media screen and (max-width: 739px){
	.tx-img-left_01,
	.tx-img-left_02{
		position: relative;
		width: 100%;
		height: 290px;
		border-radius: 0;
		top: 0px;
		left: 0;
		background-size: cover;
		background-position: center;
	}
	.tx-img-right_01,
	.tx-img-right_02{
		position: relative;
		width: 100%;
		height: 290px;
		border-radius: 0;
		top: 0px;
		left: 0;
		background-size: cover;
		background-position: center;
	}
	.tx-img .box1 {
		width: 100%;
		height: auto;
	}
	.tx-img-box-left,
	.tx-img-box-right{
		width: 100%;
		margin: 0 auto;
		padding: 20px 20px 40px;
	}
}

/*pickup-new
-----------------------------------------------------------------------------------------*/
.pickup-new{
	max-width:1200px;
	margin:35px auto;
	overflow:hidden;
}
.pickup-new li{
	width:calc(100%/3);
	float:left;
	text-align:left;
	padding:10px;
}
.pickup-new li a{
	display:block;
	padding:20px;
	background-color:#fff;
	/*↓影いらなかったらここからとる↓*/
	border:1px solid rgba(255,255,255,0.3);
	box-shadow:4px 4px 7px rgba(0,0,0,0.2);
	/*↑影いらなかったらここまでとる↑*/
}
.pickup-new li a:hover{
	/*↓影いらなかったらここからとる↓*/
	box-shadow:1px 1px 2px rgba(0,0,0,0.2);
	top:1px;
	/*↑影いらなかったらここまでとる↑*/
	/*↑影をとったら以下コメントアウト外してhover時の色を設定↑*/	
	/*background:rgba(0,0,0,0.05);*/
}
.pickup-new li p{
	line-height:1.5;
}
.pickup-new li figure{
	display:block;
	width:340px;
	height:255px;
	overflow: hidden;
}
.pickup-new li figure img{
	display: block;
	transition-duration: 0.3s;
}
.pickup-new li a:hover figure img{
	transform: scale(1.2);
	transition-duration: 1s;
}
.pickup-new li strong{
	display:block;
	font-size:20px;
	margin-top:15px;
	color:#000;
}
.pickup-new li span{
	display:block;
	font-size:14px;
	margin-top:5px;
	color:#666;
}
.pickup-new li a::after{
	display:block;
	content:"詳しく見る";
	font-size:14px;
	line-height:40px;
	text-align:center;
	color:#fff;
	width:240px;
	margin:20px auto 0 auto;
	/*border:1px solid #999;*/
	background:url(images/bg_btn01.jpg) no-repeat;
	/*background:url(images/maruya.png) right no-repeat;*/
}
.pickup-new li a:hover::after{
	/*background-color:rgba(0,0,0,0.5);*/
	filter: brightness(80%);
	transition-duration: 0.3s;
}
@media screen and (max-width: 739px) {
	.pickup-new{margin:0 0 15px 0;}
	.pickup-new li{width:95%;float:none;padding:15px;margin:9px;}
	.pickup-new li a{padding:15px;margin:-15px;}
	.pickup-new li figure{float:left;width:126px;height:auto;}
	.pickup-new li p{margin-left:140px;}
	.pickup-new li strong{font-size:15px;margin:0;}
	.pickup-new li span{font-size:12px;margin-top:2px;}
	.pickup-new li a::after{width:auto;margin:0;border:none;clear: both;height:0;visibility: hidden;}
}

/*pickup-new2
-----------------------------------------------------------------------------------------*/
.pickup-new2{
	max-width:1200px;
	margin:35px auto;
	overflow:hidden;
}
.pickup-new2 li{
	width:calc(100%/3);
	float:left;
	text-align:left;
	padding:10px;
}
.pickup-new2 li a{
	display:block;
	/*padding:20px;*/
	background-color:#fff;
	/*↓影いらなかったらここからとる↓*/
	box-shadow:4px 4px 7px rgba(0,0,0,0.2);
	/*↑影いらなかったらここまでとる↑*/
	border-radius:20px;
}
.pickup-new2 li a:hover{
	/*↓影いらなかったらここからとる↓*/
	box-shadow:1px 1px 2px rgba(0,0,0,0.2);
	top:1px;
	/*↑影いらなかったらここまでとる↑*/
	/*↑影をとったら以下コメントアウト外してhover時の色を設定↑*/	
	/*background:rgba(0,0,0,0.05);*/
}
.pickup-new2 li p{
	line-height:1.5;
}
.pickup-new2 li figure{
	display:block;
	/*width:340px;*/
	height:255px;
	overflow: hidden;
	border-radius:20px 20px 0 0;
}
.pickup-new2 li figure img{
	display: block;
	transition-duration: 0.3s;
}
.pickup-new2 li a:hover figure img{
	transform: scale(1.2);
	transition-duration: 1s;
}
.pickup-new2 li strong{
	display:block;
	font-size:20px;
	margin-top:15px;
	color:#000;
}
.pickup-new2 li span{
	display:block;
	font-size:14px;
	margin-top:5px;
	color:#666;
}
.pickup-new2 li a::after{
	display:block;
	content:"詳しく見る";
	font-size:14px;
	line-height:40px;
	text-align:center;
	color:#666;
	width:240px;
	margin:20px auto 0 auto;
	/*border:1px solid #999;*/
	background:url(images/bg_btn01.jpg) no-repeat;
	/*background:url(images/maruya.png) right no-repeat;*/
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.pickup-new2 li a:hover::after{
	/*background-color:rgba(0,0,0,0.5);*/
	filter: brightness(80%);
	transition-duration: 0.3s;
}
@media screen and (max-width: 739px) {
	.pickup-new2{margin:0 0 15px 0;}
	.pickup-new2 li{width:95%;float:none;padding:15px;margin:9px;}
	.pickup-new2 li a{padding:15px;margin:-15px;border-radius:10px;}
	.pickup-new2 li figure{float:left;width:126px;height:auto;border-radius:10px;}
	.pickup-new2 li p{margin-left:140px;}
	.pickup-new2 li strong{font-size:15px;margin:0;}
	.pickup-new2 li span{font-size:12px;margin-top:2px;}
	.pickup-new2 li a::after{width:auto;margin:0;border:none;clear: both;height:0;visibility: hidden;}
}

/*btn アニメーション追加
-----------------------------------------------------------------------------------------*/
/*btnA-左から右へ-*/
.btnA{
	background:#FFF;
	border:2px solid var(--color_A);
	color:var(--color_A);
	border-radius:100em;
	overflow:hidden;
	position:relative;
	transition: all 0.3s;
}
.btnA:hover{
	color:#FFF;
	filter:brightness(100%);
}
.btnA::before{
	content:"";
	width:0%;
	height:100%;
	border-radius:100em;
	position:absolute;
	left:0%;
	transition: all 0.3s;
	z-index:-1;
}
.btnA:hover::before{
	background:var(--color_A);
	width:100%;
}

/*btnB-円状-*/
.btnB {
	background: #FFF;
	border: 2px solid var(--color_A);
	color: var(--color_A);
	border-radius: 100em;
	overflow: hidden;
	position: relative;
	transition: all 0.5s ease; /* イージングを追加 */
}

.btnB:hover {
	color: #FFF;
	filter: brightness(100%);
}

.btnB::before {
	content: "";
	width: 10px; /* 初期の円の直径 */
	height: 10px; /* 初期の円の直径 */
	background: radial-gradient(circle, var(--color_A) 0%, var(--color_A) 50%, var(--color_B) 100%); /* 中間色を追加 */
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0);
	transition: transform 0.6s ease, width 0.6s ease, height 0.6s ease; /* 戻るアニメーション */
	z-index: -1;
}

.btnB:hover::before {
	transform: translate(-50%, -50%) scale(100); /* 円を十分大きく拡大してボタン全体をカバーする */
	transition: transform 1.2s ease, width 1.2s ease, height 1.2s ease; /* 広がるアニメーションを遅くする */
}

/*btnC-反転-*/
.btnC{
	background-color: var(--color_A);
	border:2px solid var(--color_A);
	color: #fff;
	/*border-radius: 100em;*/
	transition: .3s;
}
.btnC:hover{
	background-color: #fff;
	color: var(--color_A);
	filter:brightness(100%);
}

/*btnD-揺れる-*/
.btnD{
	background-color: var(--color_A);
	border:2px solid var(--color_A);
	color: #fff;
	border-radius: 100em;
	transition: .3s;
}
.btnD:hover {
	animation: shake .5s ease-in-out;
	filter:brightness(100%);
}
@keyframes shake {
	0% { transform: translateX(0); }
	25% { transform: translateX(-5px); }
	50% { transform: translateX(5px); }
	75% { transform: translateX(-3px); }
	100% { transform: translateX(3px); }
}

/*btnE-拡大縮小-*/
.btnE{
	background-color: var(--color_A);
	border:2px solid var(--color_A);
	color: #fff;
	border-radius: 100em;
	transition: .3s;
}
.btnE:hover{
	animation: pulse .5s infinite alternate;
	filter:brightness(100%);
}
@keyframes pulse {
	0% { transform: scale(1); }
	50% { transform: scale(1.1); }
	100% { transform: scale(1); }
}

/*btnF-ふわっと浮き上がる-*/
.btnF{
	background-color: var(--color_A);
	border:2px solid var(--color_A);
	color: #fff;
	border-radius: 100em;
	transform: translateY(0);
	transition: transform .3s;
}
.btnF:hover{
	transform: translateY(-5px);
	filter:brightness(100%);
}

/*btnG-跳ねる-*/
.btnG{
	background-color: var(--color_A);
	border:2px solid var(--color_A);
	color: #fff;
	border-radius: 100em;
	transition: .3s;
}
.btnG:hover{
	animation: bounce .5s ease-in-out;
}
@keyframes bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

/*影追加
-----------------------------------------------------------------------------------------*/
.kage-waku a{
	box-shadow: 0px 0px 12px rgba(0,0,0,0.3);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all  0.4s ease;
}
.kage-waku a:hover{
	/*↓影いらなかったらここからとる↓*/
	box-shadow:0px 0px 3px rgba(0,0,0,0.2);
	top:2px;
	/*↑影いらなかったらここまでとる↑*/
	/*↑影をとったら以下コメントアウト外してhover時の色を設定↑*/	
	/*background:rgba(0,0,0,0.05);*/
}

/*padding追加
-----------------------------------------------------------------------------------------*/
body .py30{padding-top:30px;padding-bottom:30px}
body .py40{padding-top:40px;padding-bottom:40px}
body .py50{padding-top:50px;padding-bottom:50px}
body .px30{padding-left:30px;padding-right:30px}
body .px40{padding-left:40px;padding-right:40px}
body .px50{padding-left:50px;padding-right:50px}

@media screen and (min-width: 740px){
	body .pc_py30{padding-top:30px;padding-bottom:30px}
	body .pc_py40{padding-top:40px;padding-bottom:40px}
	body .pc_py50{padding-top:50px;padding-bottom:50px}
	body .pc_px30{padding-left:30px;padding-right:30px}
	body .pc_px40{padding-left:40px;padding-right:40px}
	body .pc_px50{padding-left:50px;padding-right:50px}
}

@media screen and (max-width: 739px){
	body .sp_py30{padding-top:30px;padding-bottom:30px}
	body .sp_py40{padding-top:40px;padding-bottom:40px}
	body .sp_py50{padding-top:50px;padding-bottom:50px}
	body .sp_px30{padding-left:30px;padding-right:30px}
	body .sp_px40{padding-left:40px;padding-right:40px}
	body .sp_px50{padding-left:50px;padding-right:50px}
}

/*hoverアニメ追加
-----------------------------------------------------------------------------------------*/
/*背景色が変わる*/
.hover-hanten{
	background-color: var(--color_A);
	border:2px solid var(--color_A);
	color: #fff;
	transition: .3s;
}
.hover-hanten:hover{
	background-color: #fff;
	color: var(--color_A);
	filter:brightness(100%);
}

/*アイコンが跳ねる*/
.hover-shake {
  display: inline-block;
  position: relative;
}

.hover-shake a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

.hover-shake a:hover .icon-shake {
  animation: gentle-bounce 0.5s ease-in-out;
}

@keyframes gentle-bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-8px);
  }
  60% {
    transform: translateY(-4px);
  }
}

/*アイコンが回転する*/
.hover-roll {
  display: inline-block;
  position: relative;
}

.hover-roll a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

.icon-roll {
  transition: transform 0.3s ease-in-out;
}

.hover-roll a:hover .icon-roll {
  transform: rotateY(360deg);
}

/*アイコンが少し拡大*/
.hover-ex {
  display: inline-block;
  position: relative;
}

.hover-ex a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

.icon-ex {
  transition: transform 0.3s ease-in-out;
}

.hover-ex a:hover .icon-ex {
  transform: scale(1.1); /* アイコンが20%拡大します */
}

/*hover追加　コンテンツが上に少し移動*/
.hover-up{
	transition: transform 0.15s ease-in-out;
}
.hover-up:hover{
	transform: translateY(-15px);
}


/*hoverで画像切り替え*/


/*list_boxの画像拡大変更
-----------------------------------------------------------------------------------------*/
.list_box figure.autoimg img,
.list_box a:hover figure.autoimg img{
	min-width:0;
	transform:none;
}

/*ボタン用背景画像
-----------------------------------------------------------------------------------------*/
.bg_btn01{background:url(images/bg_btn01.jpg) no-repeat;}/*pickup-new2の背景ボタンと同じ画像名なので別にしたい場合は名前を変える*/

/*背景画像
-----------------------------------------------------------------------------------------*/
.bg_imageA{
	background:url(images/bg_imageA.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

/*flowデザイン追加
-----------------------------------------------------------------------------------------*/
.flow2 {
    position: relative;
    width: 95%;
    margin: 1em auto;
    padding: 1em;
    border: 2px solid var(--color_A);
    border-radius: 3px;
}
.flow2::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -1.0em;
    left: -1.0em;
	/*left:50%;真ん中に持ってきたい時*/
    width: 2em;
    height: 2em;
    border-radius: 50%;/*四角にしたい場合はここを調整*/
    background-color: var(--color_A);
    color: #fff;
    content: attr(data-number);
}
.flow2 + .flow2{margin-top:40px;}

/*注意ボックス
-----------------------------------------------------------------------------------------*/
.att01 {
    display: flex;
    grid-gap: 0 .7em;
    margin: 0 auto;
    padding: 1em;
    border-radius: 5px;
    background-color: #ffebee;
    color: #333333;
}
.att01::before {
    width: 24px;
    height: 24px;
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.8659 3.00017L22.3922 19.5002C22.6684 19.9785 22.5045 20.5901 22.0262 20.8662C21.8742 20.954 21.7017 21.0002 21.5262 21.0002H2.47363C1.92135 21.0002 1.47363 20.5525 1.47363 20.0002C1.47363 19.8246 1.51984 19.6522 1.60761 19.5002L11.1339 3.00017C11.41 2.52187 12.0216 2.358 12.4999 2.63414C12.6519 2.72191 12.7782 2.84815 12.8659 3.00017ZM10.9999 16.0002V18.0002H12.9999V16.0002H10.9999ZM10.9999 9.00017V14.0002H12.9999V9.00017H10.9999Z' fill='%23f06060'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat; /* 背景画像を繰り返し表示しません。 */
}

@media screen and (max-width: 739px) {
	.att01::before{width:40px;height:40px;}
}

.att01 p {
    margin: 0;
    padding: 0 0 0 .7em;
    border-left: 1px solid #f06060;
}

.att02 {
    max-width: 100%;
    margin: 0 auto;
    border: 2px solid #f06060;
    border-radius: 5px;
    color: #333333;
}

.att02 div {
    display: inline-flex;
    align-items: center;
    column-gap: 4px;
    position: relative;
    top: -13px;
    left: 10px;
    margin: 0 7px;
    padding: 0 8px;
    background: #fff;
    color: #f06060;
    font-weight: 600;
    vertical-align: top;
}

.att02 div::before {
    width: 22px;
    height: 22px;
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.8659 3.00017L22.3922 19.5002C22.6684 19.9785 22.5045 20.5901 22.0262 20.8662C21.8742 20.954 21.7017 21.0002 21.5262 21.0002H2.47363C1.92135 21.0002 1.47363 20.5525 1.47363 20.0002C1.47363 19.8246 1.51984 19.6522 1.60761 19.5002L11.1339 3.00017C11.41 2.52187 12.0216 2.358 12.4999 2.63414C12.6519 2.72191 12.7782 2.84815 12.8659 3.00017ZM10.9999 16.0002V18.0002H12.9999V16.0002H10.9999ZM10.9999 9.00017V14.0002H12.9999V9.00017H10.9999Z' fill='%23f06060'%3E%3C/path%3E%3C/svg%3E");
}

.att02 p {
    margin: 0;
    padding: 0 1.5em 1em;
}

/*tx_deco追加
-----------------------------------------------------------------------------------------*/
.tx_deco_yoyaku,
.tx_deco_yoyaku li{
	line-height:1.5;
	background:url(images/deco_yoyaku.svg) left top 0.125em no-repeat;
	background-size:1.25em;
	padding-left:1.6em;
	/*margin-bottom:0.5em;*/
}
ul.tx_deco_yoyaku{
	background:none;
	padding:0;
	margin:0;
}

.tx_deco_tel,
.tx_deco_tel li{
	line-height:1.5;
	background:url(images/deco_tel.svg) left top 0.125em no-repeat;
	background-size:1.25em;
	padding-left:1.6em;
	/*margin-bottom:0.5em;*/
}
ul.tx_deco_tel{
	background:none;
	padding:0;
	margin:0;
}

/*title_deco追加
-----------------------------------------------------------------------------------------*/
/*左右同じ画像反転*/
.title_deco span {
	display: inline-block;
	position: relative;
	padding: 0 10px;/*画像と文字の間隔*/
}

.title_deco span::before, .title_deco span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 97px;/*画像の大きさ*/
	height: 50px;/*画像の大きさ*/
	background: url("images/title_deco01.png") center/cover no-repeat;
}

@media screen and (max-width: 739px) {
	.title_deco span::before, .title_deco span::after {
		width:83px;/*スマホの画像の大きさ*/
		height:35px;/*スマホの画像の大きさ*/
	}
}

.title_deco span::before {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 100%;
}

.title_deco span::after {
	-webkit-transform: translateY(-50%) scale(-1, 1);
	transform: translateY(-50%) scale(-1, 1);
	left: 100%;
}

/*左右違う画像*/
.title_deco02 span {
	display: inline-block;
	position: relative;
	padding: 0 10px;/*画像と文字の間隔*/
}

.title_deco02 span::before, .title_deco02 span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 50px;
	height: 40px;
}

.title_deco02 span::before {
	background: url("images/deco02-l.png") center/cover no-repeat;
}

.title_deco02 span::after {
	background: url("images/deco02-r.png") center/cover no-repeat;
}

@media screen and (max-width: 739px) {
	.title_deco02 span::before, .title_deco02 span::after {
		width:40px;/*スマホの画像の大きさ*/
		height:30px;/*スマホの画像の大きさ*/
	}
}

.title_deco02 span::before {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 100%;
}

.title_deco02 span::after {
	-webkit-transform: translateY(-50%) ;
	transform: translateY(-50%) ;
	left: 100%;
}

/*左だけ画像*/
.title_deco03 span {
	display: inline-block;
	position: relative;
	padding-left: 10px;/*画像と文字の間隔*/
}

.title_deco03 span::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 50px;
	height: 40px;
}

.title_deco03 span::before {
	background: url("images/deco02-l.png") center/cover no-repeat;
}

@media screen and (max-width: 739px) {
	.title_deco03 span::before {
		width:40px;
		height:30px;
	}
}

.title_deco03 span::before {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 100%;
}

/*右だけ画像*/
.title_deco04 span {
	display: inline-block;
	position: relative;
	padding-right: 5px;/*画像と文字の間隔*/
}

.title_deco04 span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 50px;
	height: 40px;
}

.title_deco04 span::after {
	background: url("images/deco02-r.png") center/cover no-repeat;
}

@media screen and (max-width: 739px) {
	.title_deco04 span::after {
		width:40px;/*スマホの画像の大きさ*/
		height:30px;/*スマホの画像の大きさ*/
	}
}

.title_deco04 span::after {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 100%;
}

/*左右同じ画像反転　左寄せ*/
.title_deco-l span {
	display: inline-block;
	position: relative;
	padding-left:110px;/*画像サイズを含めた左端から文字までの間隔（画像サイズより大きくする）*/
	padding-right:10px;/*右の画像から文字までの間隔*/
}
@media screen and (max-width: 739px) {
	.title_deco-l span {padding-left:95px;}/*画像サイズを含めた左端から文字までの間隔（スマホの画像サイズより大きくする）*/
}

.title_deco-l span::before, .title_deco-l span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 97px;
	height: 50px;
	background: url("images/title_deco01.png") center/cover no-repeat;
}

.title_deco-l span::before {left:0;}
.title_deco-l span::after {left:100%;}

@media screen and (max-width: 739px) {
	.title_deco-l span::before, .title_deco-l span::after {
		width:83px;/*スマホの画像の大きさ*/
		height:35px;/*スマホの画像の大きさ*/
	}
}

.title_deco-l span::before {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 100%;
}

.title_deco-l span::after {
	-webkit-transform: translateY(-50%) scale(-1, 1);
	transform: translateY(-50%) scale(-1, 1);
	left: 100%;
}

/*左右違う画像　左寄せ*/
.title_deco02-l span {
	display: inline-block;
	position: relative;
	padding-left:60px;/*画像サイズを含めた左端から文字までの間隔（画像サイズより大きくする）*/
	padding-right:10px;
}
@media screen and (max-width: 739px) {
	.title_deco02-l span {padding-left:45px;padding-right:5px;}/*画像サイズを含めた左端から文字までの間隔（スマホの画像サイズより大きくする）*/
}
	
.title_deco02-l span::before, .title_deco02-l span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 50px;
	height: 40px;
}

.title_deco02-l span::before {
	background: url("images/deco02-l.png") center/cover no-repeat;
	left:0;
}

.title_deco02-l span::after {
	background: url("images/deco02-r.png") center/cover no-repeat;
	left:100%;
}

@media screen and (max-width: 739px) {
	.title_deco02-l span::before, .title_deco02-l span::after {
		width:40px;/*スマホの画像の大きさ*/
		height:30px;/*スマホの画像の大きさ*/
	}
}


.title_deco02-l span::before {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 100%;
}

.title_deco02-l span::after {
	-webkit-transform: translateY(-50%) ;
	transform: translateY(-50%) ;
	left: 100%;
}

/*左だけ画像　左寄せ*/
.title_deco03-l span {
	display: inline-block;
	position: relative;
	padding-left:60px;/*画像サイズを含めた左端から文字までの間隔（画像サイズより大きくする）*/
	padding-right:10px;
}
@media screen and (max-width: 739px) {
	.title_deco03-l span {padding-left:45px;}/*画像サイズを含めた左端から文字までの間隔（スマホの画像サイズより大きくする）*/
}

.title_deco03-l span::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	width: 50px;
	height: 40px;
}

.title_deco03-l span::before {
	background: url("images/deco02-l.png") center/cover no-repeat;
	left:0;
}

@media screen and (max-width: 739px) {
	.title_deco03-l span::before {
		width:40px;/*スマホの画像の大きさ*/
		height:30px;/*スマホの画像の大きさ*/
	}
}

.title_deco03-l span::before {
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 100%;
}

/*googlefont追加
-----------------------------------------------------------------------------------------*/
.gf {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
}

/*table text-align
-----------------------------------------------------------------------------------------*/
.th_center th{text-align:center;}

/*icon-card
-----------------------------------------------------------------------------------------*/
.icon-card {
	display:flex;
	justify-content:center;
}
.icon-card a{
	display:block;
}

/*ネガティブマージン追加
-----------------------------------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
	.pc_mt-100{margin-top:-100px}
	.pc_mt-90{margin-top:-90px}
	.pc_mt-80{margin-top:-80px}
	.pc_mt-70{margin-top:-70px}
	.pc_mt-60{margin-top:-60px}
	.pc_mt-50{margin-top:-50px}
	.pc_mt-40{margin-top:-40px}
	.pc_mt-30{margin-top:-30px}
	.pc_mb-100{margin-bottom:-100px}
	.pc_mb-90{margin-bottom:-90px}
	.pc_mb-80{margin-bottom:-80px}
	.pc_mb-70{margin-bottom:-70px}
	.pc_mb-60{margin-bottom:-60px}
	.pc_mb-50{margin-bottom:-50px}
	.pc_mb-40{margin-bottom:-40px}
	.pc_mb-30{margin-bottom:-30px}
	.pc_ml-100{margin-left:-100px}
	.pc_ml-90{margin-left:-90px}
	.pc_ml-80{margin-left:-80px}
	.pc_ml-70{margin-left:-70px}
	.pc_ml-60{margin-left:-60px}
	.pc_ml-50{margin-left:-50px}
	.pc_ml-40{margin-left:-40px}
	.pc_ml-30{margin-left:-30px}
	.pc_mr-100{margin-right:-100px}
	.pc_mr-90{margin-right:-90px}
	.pc_mr-80{margin-right:-80px}
	.pc_mr-70{margin-right:-70px}
	.pc_mr-60{margin-right:-60px}
	.pc_mr-50{margin-right:-50px}
	.pc_mr-40{margin-right:-40px}
	.pc_mr-30{margin-right:-30px}
}
@media screen and (max-width: 767px){
	.sp_mt-70{margin-top:-70px;}
	.sp_mt-60{margin-top:-60px;}
	.sp_mt-50{margin-top:-50px;}
	.sp_mt-40{margin-top:-40px;}
	.sp_mt-30{margin-top:-30px;}
	.sp_mt-25{margin-top:-25px;}
	.sp_mt-20{margin-top:-20px;}
	.sp_mb-70{margin-bottom:-70px;}
	.sp_mb-60{margin-bottom:-60px;}
	.sp_mb-50{margin-bottom:-50px;}
	.sp_mb-40{margin-bottom:-40px;}
	.sp_mb-30{margin-bottom:-30px;}
	.sp_mb-25{margin-bottom:-25px;}
	.sp_mb-20{margin-bottom:-20px;}
	.sp_ml-70{margin-left:-70px;}
	.sp_ml-60{margin-left:-60px;}
	.sp_ml-50{margin-left:-50px;}
	.sp_ml-40{margin-left:-40px;}
	.sp_ml-30{margin-left:-30px;}
	.sp_ml-25{margin-left:-25px;}
	.sp_ml-20{margin-left:-20px;}
	.sp_mr-70{margin-right:-70px;}
	.sp_mr-60{margin-right:-60px;}
	.sp_mr-50{margin-right:-50px;}
	.sp_mr-40{margin-right:-40px;}
	.sp_mr-30{margin-right:-30px;}
	.sp_mr-25{margin-right:-25px;}
	.sp_mr-20{margin-right:-20px;}
}

/*gallery
-----------------------------------------------------------------------------------------*/
.gallery{
	display: flex;
	/*justify-content: center;中央揃えにしたい場合はコメントアウト外す*/
	flex-wrap: wrap;
	gap:20px;
}
.gallery img{
 	flex-grow: 1;
	object-fit: cover;
	height: 315px;/*ここで画像の高さを揃える*/
	/*border-radius: 10px;角丸の調整*/
}
.g-img{
	overflow:hidden;
	position:relative;
}
.g-img .caption{
	font-size:16px;
	color:#fff;
	padding:20px;
	position:absolute;
	/*bottom:0;文字を画像内の下に表示したい場合↓topをコメントアウトしてこちらを表示させる*/
	top: 0;
}
.g-img .mask{
	width:100%;
	height:100%;
	/*border-radius:10px;角丸の調整*/
	position: absolute;
	top:0;
	left:0;
	opacity: 0;
	background-color: rgba(0,0,0,0.5);/* マスクは半透明 */
	-webkit-transition:	all 0.2s ease;
	transition: all 0.2s ease;
}
.g-img:hover .mask{
	opacity: 1;/* マスクを表示する */
}
@media screen and (max-width: 739px) {
	.gallery img{width:100%;height:auto;}
}

/*flow-chart
-----------------------------------------------------------------------------------------*/
/*--------flow-chart01--------*/
.flow-chart01 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 20px;
	padding: 0 10px;
}
.flow-chart01 ul {
	padding: 0;
}
.flow-chart01 li {
	list-style-type: none;
}
.flow-chart01 dd {
	margin-left: 0;
	text-align:left;
}
.flow-chart01-ul {
	position: relative;
}
.flow-chart01-ul::before {
	content: "";
	width: 15px;
	height: 100%;
	background: #eee;
	margin-left: -129px;
	display: block;
	position: absolute;
	top: 0;
	left: 120px;
	border-radius: 20px;
}
.flow-chart01-ul > li {
	position: relative;
}
.flow-chart01-ul > li:not(:last-child) {
	margin-bottom: 60px;
}
.flow-chart01-ul > li .flow-chart01-icon {
	font-size: 0.8em;
	width: 2em;
	height: 2em;
	line-height: 2;
	text-align: center;
	border-radius: 100vh;
	color: #fff;
	background: var(--color_A);
	display: inline-block;
	margin-right: 0.3em;
}
.flow-chart01-ul > li dl {
	padding-left: 70px;
	position: relative;
}

.flow-chart01-ul > li dl::before,
.flow-chart01-ul > li dl::after {
	content: "";
	display: block;
	position: absolute;
	top: 15px;
}
.flow-chart01-ul > li dl::before {
	width: 7px;
	height: 7px;
	margin-top: -3px;
	background: var(--color_A);
	border-radius: 50%;
	left: -4px;
}
.flow-chart01-ul > li dl::after {
	width: 50px;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 5px;
}
.flow-chart01-ul > li dl dt {
	font-size: 1.4em;
	color: var(--color_A);
	margin-bottom: 0.5em;
	display: flex;
	align-items: center;
}
@media screen and (max-width: 739px) {
	.flow-chart01{padding:0 20px;}
	.flow-chart01-ul > li dl::after {width: 10px;}
	.flow-chart01-ul > li dl {padding-left: 20px;}
	.flow-chart01-ul > li dl dt {font-size: 1.2em;}
	.flow-chart01-ul > li dl dd {line-height:1.75;}
}
/*--------flow-chart02--------*/
.flow-chart02-ul {
	padding-left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px;
}
.flow-chart02-ul > li {
	list-style-type: none;
	width: calc(33.3333% - 26.6667px); /* 親要素の幅を3等分し、gapを考慮 列数を変えたい場合は計算式を変更してください*/
	display: flex;
}
.flow-chart02-ul > li .flow-chart02-icon {
	line-height: 2;
	width: 2em;
	height: 2em;
	text-align: center;
	color: #fff;
	background: var(--color_A);
	margin: 0 auto 10px;
	display: block;
	border-radius: 100vh;
	position: relative;
}
.flow-chart02-ul > li .flow-chart02-icon::before {
	content: "";
	border: solid transparent;
	border-width: 7px;
	border-top-color: var(--color_A);
	position: absolute;
	top: calc(100% - 2px);
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.flow-chart02-ul > li dl {
	padding: 30px 20px;
	margin: 0;
	border: 3px solid var(--color_A);
	position: relative;
	width: 100%;
}
.flow-chart02-ul > li:not(:first-child) dl::before {
	content: "";
	width: 14px;
	height: 14px;
	margin-right: 10px;
	display: inline-block;
	border-top: 4px solid var(--color_A);
	border-right: 4px solid var(--color_A);
	position: absolute;
	top: calc(50% - 14px);
	left: -36px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.flow-chart02-ul > li dl dt {
	font-size: 1.4em;
	color: var(--color_A);
	-ms-flex-preferred-size: 20%;
	flex-basis: 20%;
	margin-bottom: 10px;
	text-align: center;
}
.flow-chart02-ul > li dl dd {
	margin-left: 0;
}
.flow-chart02-ul dd{
	text-align:left;
}
@media(max-width: 767px){
	.flow-chart02 {padding:0 20px;}
	.flow-chart02-ul {gap: 45px;}
	.flow-chart02-ul > li {max-width: unset;display: block;width:100%;}
	.flow-chart02-ul > li:not(:first-child) dl::before {display:none;}
	.flow-chart02-ul > li:not(:last-child) dl::before {
		content: "";
		width: 14px;
		height: 14px;
		margin-right: 10px;
		display: inline-block;
		border-top: 4px solid var(--color_A);
		border-right: 4px solid var(--color_A);
		position: absolute;
		top: calc(100% + 13px);
		left: calc(50% - 10px);
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
}
/*--------flow-chart03--------*/
.flow-chart03 {
	display: flex;
	justify-content: center;
	align-items: center;
}
.flow-chart03-ul {
	padding-left: 0;
}
.flow-chart03-ul > li {
	list-style-type: none;
	position: relative;
	padding-left: 60px;
}
.flow-chart03-ul > li:not(:last-child) {
	padding-bottom: 35px;
}
.flow-chart03-ul > li .flow-chart03-icon {
	width: 2em;
	height: 2em;
	line-height: 2em;
	text-align: center;
	border-radius: 100vh;
	display: inline-block;
	background: var(--color_A);
	color: #fff;
	position: absolute;
	left: 0;
}
.flow-chart03-ul > li:not(:last-child)::before {
	content: '';
	background: #c3c3c3;
	width: 4px;
	height: 100%;
	position: absolute;
	top: calc(50% - -30px);
	left: 19px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.flow-chart03-ul > li dl dt {
	font-size: 1.4em;
	color: var(--color_A);
}
.flow-chart03-ul > li dl dd {
	margin-left: 0;
}

@media(max-width: 767px){
	.flow-chart03-ul > li {padding-left:50px;}
	.flow-chart03-ul > li dl dt {font-size:1.2em;}
}

/*--------flow-chart04--------*/
.flow-chart04 {
	display: flex;
	justify-content: center;
	align-items: center;
}

.flow-chart04-ul {
	padding-left: 0;
}

.flow-chart04-ul > li {
	list-style-type: none;
	border: 2px solid var(--color_A);
	padding: 30px;
	border-radius: 20px;
	background-color: #fff;
}

.flow-chart04-ul > li:not(:last-child) {
	margin-bottom: 40px;
	position: relative;
}

.flow-chart04-ul > li:not(:last-child)::after {
	content: '';
	position: absolute;
	border: 20px solid transparent;
	width: 0;
	height: 0;
	bottom: -53px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	border-top-color: var(--color_A);
}

.flow-chart04-ul > li dl dt {
	font-size: 1.3em;
	font-weight: bold;
	border-bottom: 2pt dotted #ccc;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}

.flow-chart04-ul > li .flow-chart04-icon {
	color: var(--color_A);
	margin-right: 0.5em;
}

.flow-chart04-ul > li dl dd {
	margin: 0;
}

@media(max-width: 767px){
	.flow-chart04-ul > li {padding:20px;}
	.flow-chart04-ul > li dl dt {font-size: 1.2em;}
}

/*幅追加
-----------------------------------------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
	body .pc_w1100{width:1100px}
	body .pc_w750{width:750px}
	body .pc_w560{width:560px}
	body .pc_w550{width:550px}
	body .pc_w480{width:480px}
}

/*message変更
-----------------------------------------------------------------------------------------*/
/*#message section + section{
	border-top:2px dotted #CCC;
}
#message section:first-child{
	margin-top:-60px;
}
@media screen and (max-width: 739px) {
	#message section:first-child{margin:0;}
}*/

/*infoテーブル変更
-----------------------------------------------------------------------------------------*/
#info table{
	margin:0;
}

/*トップページ用topicsレイアウト変更
-----------------------------------------------------------------------------------------*/
.topics_new{
	display: grid;
	grid-template-areas:
	"box1 box2"
	"box3 box2";
	grid-template-rows:auto 1fr;
	grid-template-columns:auto 1fr;
	gap:20px min(80px, 5vw);
}
.topics_new .tx_sen{
	grid-area:box1;
	margin-bottom:0;
}
.topics_new .list_topics{
	grid-area:box2;
}
.topics_new .more{
	grid-area:box3;
}

#topics_new #topics{width:auto;padding:70px 0 60px;}

#topics_new #topics ul{margin:0;}

@media screen and (max-width: 767px) {
	.topics_new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;}
	#topics_new #topics{padding: 40px 0px 20px;}
}

/*tab用CSS
-----------------------------------------------------------------------------------------*/
.tab_t_rad{
	border-radius: 10px 10px 0 0;
}
.tab_btn:hover{
	background-color:var(--color_A);
	filter:none;
	color:#fff;
}

/*-----------------------globalmenuのオリジナルページをアコーディオンに*/
@media print, screen and (min-width:768px) {
	#globalmenu li {
		position: relative;
	}
	#globalmenu li div {
		position: absolute;
		left: 0;
		top: 100%; /* 親要素の直下に配置 */
		width: 100%;
		z-index: 100;
		background: #FFF;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
		-ms-transform: scaleY(0); /* 初期状態で高さが0になるように設定 */
		-webkit-transform: scaleY(0);
		transform: scaleY(0);
		transform-origin: top; /* トランスフォームの基準を上端に設定 */
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1), 0 6px 20px rgba(0, 0, 0, 0.1); /* 影を追加 */
	}
	#globalmenu li:hover div {
		-ms-transform: scaleY(1); /* ホバー時に高さが元に戻る */
		-webkit-transform: scaleY(1);
		transform: scaleY(1);
	}
	#globalmenu li p {
		margin-top: 1px;
	}
	#globalmenu li div a {
		/*color:#fff;*/
		text-align:center;
		line-height:60px;
	}
	#globalmenu li div a:after,
	#globalmenu li div a.current:after{
		display: none;
	}
	#globalmenu li div a:hover{
		background:rgba(0,150,124,0.2);
	}
}
@media print, screen and (max-width:767px) {
	#globalmenu li div{
		display:none;
	}
}
/*form
-----------------------------------------------------------------------------------------*/
#form{
	padding-top:50px;
	padding-bottom:80px;

}
#form h1{
	font-size:40px;
	line-height:1.5;
	text-align:center;
	margin-bottom:30px;
	color:#00967C;
}
#form h1 + p{
	text-align:center;
	margin:-20px 0 30px 0;
}
#form h2{
	background:#666;
	color:#FFF;
	padding:10px 15px;
	font-size:18px;
	margin-bottom:-1px;
	position:relative;
	margin-top:30px;
}
#form h3{
	margin:-50px 0 50px 0;
}
#form em{
	background:none;
	color:#EF2E61;
}
@media screen and (max-width: 739px) {
	#form h1{font-size:24px;}
	#form{padding:10px 0;}
	#form h3{margin:10px 15px;}
	#form p{padding-left:15px;padding-right:15px;}
}
/*-------------------------フォーム入力・結果枠*/
#form dl{
	border:1px solid #00967C;
	border-top:none;
	background:#ECF7F5;
}
#form dt{
	float:left;
	width:220px;
	padding:15px;
	border-top:1px solid #00967C;
}
#form dt span{
	display:block;
	margin-top:5px;
	color:#CC0000;
}
#form dt em{
	float:right;
	padding:0 5px;
	background:#EF2E61;
	color:#FFF;
	font-size:85%;
}
#form dd{
	border-top:1px solid #00967C;
	margin-left:220px;
	padding:15px;
	background:#FFFFFF;
}
#form .doui{
	padding:15px;
	background:#ECF7F5;
	margin-top:1px;
	margin-top:10px;
	text-align:center;
}
#form .doui p{
	padding:5px 0;
}
#form .policy-box{
	border:1px solid #CCCCCC;
	padding:20px;
	background:#FFFFFF;
	margin-top:15px;
	height:200px;
	overflow-y:scroll;
}
#form .policy-box h2{
	font-size:18px;
	line-height:20px;
	font-weight:bold;
	color:#3366AC;
	border-left:5px solid #3366AC;
	padding:5px 10px;
}
#form .policy-box h3{
	font-size:16px;
	font-weight:bold;
	margin-top:15px;
}
#form .policy-box ul{
	margin-left:20px;
}
#form .policy-box p,
#form .policy-box li{
	font-size:16px;
	line-height:21px;
	margin-bottom:3px;
	text-align: left;
	list-style-type: disc;
	list-style-position: outside;
}
/*▼▼▼739px以下▼▼▼*/
@media screen and (max-width: 739px) {
	#form dl{background:none;}
	#form dt{float:none;width:auto;background:#e9f7fd;padding:5px 10px;}
	#form dd{padding:10px 10px;margin-left:0;border-top:none;}
	#form .policy-box{padding:10px;margin-top:10px;}
	#form .policy-box h2{font-size:16px;line-height:20px;padding:0 5px;}
	#form .policy-box h3{font-size:14px;margin-top:10px;}
	#form .policy-box p,#form .policy-box li{font-size:14px;line-height:20px;margin-bottom:2px;}
	}
/*▲▲▲739px以下▲▲▲*/

/*-------------------------フォーム部品*/
#form input[type="checkbox"],
#form input[type="radio"],
#form input[type="date"],
#form select{
	margin-right:5px;
}
#form input[type="text"],
#form input[type="tel"],
#form input[type="email"]{
	width:50%;
}
#form input[type="text"],
#form input[type="tel"],
#form input[type="email"],
#form textarea{
	margin-right:5px;
	border:1px solid #999999;
	padding:3px;
}
#form textarea{
	width:100%;
	margin-right:0;
}
#form .radio label{
	margin-right:20px;
}
#form input[name="age"] ,
#form input[name="zip"] ,
#form input[name="adress1"] {
	width:120px;
}
#form input[name="company"] ,
#form input[name="adress2"] ,
#form input[name="adress3"] {
	width:85%;
}
/*▼▼▼739px以下▼▼▼*/
@media screen and (max-width: 739px) {
	#form input,
	#form select{font-size:16px;}
	#form input[type="text"],#form input[type="tel"],#form input[type="email"],#form textarea,#form input[name="company"] ,#form input[name="adress2"],#form input[name="adress3"]{width:100%;margin-right:0;}
	#form input[name="zip"] ,#form input[name="age"]{width:120px;}
	#form select{margin-right:0px;}
}
/*▲▲▲739px以下▲▲▲*/
/*-------------------------確認画面*/
#contents div.wpcf7-validation-errors{
	border:none;
	margin:20px 0;
	background:red;
	color:#FFF;
	padding:10px;
	text-align:center;
}
#form .wpcf7c-conf{
	background:#FFF5FF;
}
/*-------------------------ボタン*/
#form p.navbtn{
	margin-top:20px;
	text-align:center;
}
#form input[type="button"],
#form input[type="submit"]{
	border:none;
	padding:10px 30px;
	margin:0 10px;
	font-size:18px;
	color:#FFFFFF;
	background:#0071BC;
	box-shadow: 0 5px 0 #00558D;
	-webkit-box-shadow: 0 5px 0 #00558D;
	-moz-box-shadow: 0 5px 0 #00558D;
	border-radius: 6px;	
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	position:relative;
}
#form input[type="button"]{
	background:#999999;
	box-shadow: 0 5px 0 #666666;
	-webkit-box-shadow: 0 5px 0 #666666;
	-moz-box-shadow: 0 5px 0 #666666;
}
#form input[type="button"]:hover,
#form input[type="button"]:focus,
#form input[type="submit"]:hover,
#form input[type="submit"]:focus{
	box-shadow: none;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	top:5px;
}
/*▼▼▼739px以下▼▼▼*/
@media screen and (max-width: 739px) {
#form input[type="button"],
#form input[type="submit"]{padding:10px 15px;}
}
#contents div.wpcf7-mail-sent-ok{
	border:none;
	margin:0;
	padding:0;
	position:absolute;
	top:0;
}
/*送信完了
-----------------------------------------------------------------------------------------*/
#sendmail{
	padding:50px 0 40px 0;
	width:600px;
	border:10px solid #E6E6E6;
	margin:60px auto;
}
#sendmail h1{
	font-size:30px;
	line-height:1.5;
	text-align:center;
}
#sendmail p{
	text-align:center;
	margin-top:5px;
}
#sendmail .btn a{
	display:block;
	margin:15px auto 0 auto;
	width:200px;
	line-height:50px;
	color:#FFF;
	background:#FFA000 url(images/ya_w.png) right no-repeat;
	background-size:30px;
	font-weight:bold;
	text-decoration:none;
}
#sendmail .btn a:hover{
	background-color:#FF5100;
}
@media screen and (max-width: 739px) {
	#sendmail{padding:30px 15px;width:auto;margin:0;border:none;}
	#sendmail h1{font-size:20px;line-height:30px;font-weight:bold;}
}
/*-------------------------dot*/
.dot li{
	font-size:inherit;
	margin-left:1.5em;
	margin-bottom:0.5em;
}
.dot li:before{ 
	display:inline-block; 
	content:'';
	width:0.75em;
	height:0.75em;
	background:rgba(0,0,0,0.3);
	border-radius:50%;
	margin-left:-1.1em;
	margin-right:0.35em;
}
.dot.tx_w li:before{ 
	background:rgba(153,149,132,1);
}
.dot li:last-child{
	margin-bottom:0;
}
/*-------------------------li indent*/
.indent {
	margin:20px 0;
}
.indent ul li{
    padding-left: 2em;
    text-indent: -2em;
}
/*-----------------------themecolor*/
.tbcolor {
	color:#999584;
	font-weight:bold;
}
/*-----------------------ContactForm7の送信ボタンを中央に配置*/
div.wpcf7 .wpcf7-spinner {
	display: block;
margin: 5px auto 0;
}

/*-----------------------google font*/
.gf400 {
  font-family: "Sawarabi Mincho", serif;
  font-weight: 400;
  font-style: normal;
}