@charset "utf-8";
/* CSS Document */
/*-----------------------------------------------------

------------------------------------------------------*/

html { 
	overflow-x:hidden;
	overflow-y:scroll;
	min-height: 100%;
	position: relative;
	scroll-padding-top: 88px;
	scroll-behavior: smooth;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	padding: 0;
/*	position: relative;*/
	min-width: 320px;
	min-height: 136px;
	background-color: #fff;
	overflow-y:hidden!important;
    font-weight: 400;
	color: #333;
}

a {	
	color: #333333;
	outline:none;
	text-decoration:none;
}

a:hover {
	color: #FB919D;
	text-decoration:underline;
}
	
img { border:0;}

form {
	margin:0;
	padding:0;
}

p,
table,
ul,
dl{ font-size: 16px;}
td {
	vertical-align: top;
	line-height: 150%;
}
p {	line-height: 170%;}
section { clear: both;}

/************* 共通 *************/

.pc { display: block; }
.sp { display: none; }

.pc_in { display: inline; }
.sp_in { display: none; }

.clearfix:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
.clearfix { zoom: 100%;}

/* Mac版IEのみに適用 \*//*/
.clearfix { overflow: hidden; }
/* */

.clear { clear:both; }

.fl { float:left;}
.fr { float:right;}

.center { text-align: center;}
.left { text-align: left;}
.right { text-align: right;}
.bcenter {
	margin-left: auto;
	margin-right: auto;
}
.ovhd { overflow: hidden}
.ie_img {/* IE6で画像に隙間がでる対策 */
	font-size: 0;
	line-height: 0;
}
.jfy {
	text-align: justify;
	text-justify: inter-ideograph;
} 
.none{
	display:none;
}

/************* 共通フォントサイズ/色 ***************************************************************/

.red { color:red;}
.fwb { font-weight: bold;}
.bold { font-weight: bold;}

.f10 { font-size:12px;}
.f11 { font-size:79%;}
.f12 { font-size:85%;}
.ft100 { font-size:100%;}
.ftp { font-size:112%!important;}
.f28 { font-size: 28px;}

.ft12 { font-size:12px;}
.ft17 { font-size:17px;}
.ft22 { font-size:22px;}

/************* 共通余白 *************/
.m5 { margin:5px;}
.m10 { margin:10px;}
.m20 { margin:20px;}
.m30 { margin:30px;}

.ml5 { margin-left:5px;}
.ml10 {	margin-left:10px;}
.ml20 {	margin-left:20px;}
.ml30 {	margin-left:30px;}

.mt5 { margin-top:5px;}
.mt10 {	margin-top:10px;}
.mt20 {	margin-top:20px;}
.mt30 {	margin-top:30px;}
.mt100 {margin-top:100px;}

.mr5 { margin-right:5px;}
.mr10 {	margin-right:10px;}
.mr13 {	margin-right:13px;}
.mr14 {	margin-right:14px;}
.mr20 {	margin-right:20px;}
.mr25 {	margin-right:25px;}
.mr30 {	margin-right:30px;}
.mr34 {	margin-right:34px;}

.mb5 { margin-bottom:5px;}
.mb10 {	margin-bottom:10px;}
.mb20 {	margin-bottom:20px;}
.mb30 {	margin-bottom:30px;}
.mb40 {	margin-bottom:40px;}
.mb50 {	margin-bottom:50px;}
.mb60 {	margin-bottom:60px;}

.wd1000{
	width:1000px;
	margin:0 auto;
}

/* ---------- ロールオーバー処理 ---------- */

a:hover img{
	filter: Alpha(Opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
	transition-duration:0.8s;
}

.fadeInUp {
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode:both;
	-webkit-animation-duration:1s;
	-ms-animation-duration:1s;
	animation-duration:1s;
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
	visibility: visible !important;
}
@-webkit-keyframes fadeInUp {
	0% { opacity: 0; -webkit-transform: translateY(20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInUp {
	0% { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


 
.ftm {
	font-family:   游明朝, YuMincho, serif;
	font-weight: 400;
}
.ft_noto {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:300;
}
.main_sec h2,.main_sec h3,.main_sec h4,.main_sec h5,.main_sec h6{
	margin-bottom:20px;
	line-height:1.8;
}
.main_sec h2{	font-size:24px;}
.main_sec h3{	font-size:20px;}
.main_sec h4{	font-size:16px;}
.main_sec h5{	font-size:16px;}
.main_sec h6{	font-size:16px;}
.main_sec p{
	margin-bottom:20px;
	line-height:1.8;
}

.ttl_h3{
	width:100%;
	margin:0 auto 50px;
	display: -ms-flexbox;
    display: flex;
	justify-content: center;
	align-items: center;
}
.ttl_h3 .sub_before{
	flex: 1;
	position: relative;
    height: 1px;
	background: url(../images/ttl_line_01.webp) no-repeat center right;
	background-size:100% 2px;
}
.ttl_h3 .sub_after{
	flex: 1;
	position: relative;
    height: 1px;
	background: url(../images/ttl_line_02.webp) no-repeat center left;
	background-size:100% 2px;
}
.ttl_h3 .sub_before:after{
    content: ' ';
	position: absolute;
    display: block;
    width: 3px;
    height: 3px;
    top: -1px;
	right:0;
    background: #1250DB;
}
.ttl_h3 .sub_after:after{
    content: ' ';
	position: absolute;
    display: block;
    width: 3px;
    height: 3px;
    top: -1px;
    background: #1250DB;
}
.ttl_h3 h2,
.ttl_h3 h3{
    flex-shrink: 0;
	text-align:center;
	font-size:28px;
	font-weight:500;
	padding: 0 4%;
	line-height:1.5;
	margin: 0;
}
.ttl_h4 {
	border:1px solid #ccc;
	padding:18px 2%;
	text-align:center;
	color:#000;
	font-size:18px;
	font-weight:500;
	margin-bottom:30px;
	display:inline-block;
	min-width:250px;
	line-height:1.5;
}

.wd1300_100,
.wd1300_96{
	width:1300px;
}
.wd1200_100,
.wd1200_96{
	width:1200px;
}
.wd1100_100,
.wd1100_96{
	width:1100px;
}
.wd1000_100,
.wd1000_96{
	width:1000px;
}
.wd900_100 ,
.wd900_96 {
	width: 900px;
}
.wd800_100 ,
.wd800_96 {
	width: 800px;
}
header a{
	color:#000;
}

/* ---------- ヘッダー ---------- */

header .drawer-toggle{
	display:none;
}
.drawer-nav {
    position: static;
}

header{
	width:100%;
	margin:0 0;
    position: fixed;
	z-index:20;
	background: #fff;
}
header #header{
	display:table;
	margin:0px auto;
	width:1280px;
    position: relative;
}
header .logo {
	width:30%;
	padding:0 0 0 1%;
	display:table-cell;
	vertical-align: middle;
}
header .logo a{
	width:100%;
	display:table;
}
header .logo a img{
	width:40%;
	vertical-align: middle;
	max-width:132px;
	width:100%;
	height:auto;
    vertical-align: middle;
}
header .logo span{
	font-weight: 600;
}
header .sp_menu {
	width:70%;
	display:table-cell;
	vertical-align: middle;
    padding: 0px 0;
}
header .sp_menu .btn_menu {
	display: flex;
	justify-content: flex-end;
	align-items: center;
    margin-top: 8px;
    margin-bottom: 0px;
}
header .sp_menu .btn_menu .box1{
	text-align: center;
}
header .sp_menu .btn_menu .box1 .tel a::before{
    content: "";
    position: absolute;
    background: url(../images/tel_02.webp) no-repeat;
    background-size: 15px auto;
    height: 20px;
    width: 20px;
    text-align: center;
    display: block;
    top: 3px;
}
header .sp_menu .btn_menu .box1 .tel a{
	position: relative;
	padding: 0px 17px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
}

header .sp_menu .btn_menu .box1 .time{
    font-size: 11px;
    font-weight: 500;
    padding: 0;
	letter-spacing: 1px;
	margin-top: -3px;
}
header .sp_menu .btn_menu .pt1 a{
	font-size: 14px;
	color: #ffffff;
	display: inline-block;
	background-color:#ffa000 ;
	text-align: center;
	width: 100px;
	margin:0 5px;
	padding: 10px 0;
	border-radius: 3px;
	box-sizing: border-box;
    box-shadow: 0px 0px 3px 2px #cdcdcd;
	text-decoration: none;
	transition-duration:0.3s;

}
header .sp_menu .btn_menu .pt2 a span{
	color: #cc0000;
}
header .sp_menu .btn_menu .pt2 a{
	font-size: 14px;
	color: #ffffff;
	display: inline-block;
	background-color:#ffa000 ;
	text-align: center;
	width: 100px;
	margin:0 5px;
	padding: 10px 0;
	border-radius: 3px;
	box-sizing: border-box;
    box-shadow: 0px 0px 3px 2px #cdcdcd;
	text-decoration: none;
	transition-duration:0.3s;
}
header .sp_menu .btn_menu .pt3 a{
	font-size: 14px;
	color: #116e60;
	display: inline-block;
	background-color:#ffffff ;
	text-align: center;
	width: 100px;
	margin:0 5px;
	padding: 10px 0;
	border-radius: 3px;
	box-sizing: border-box;
    box-shadow: 0px 0px 3px 2px #cdcdcd;
	text-decoration: none;
	transition-duration:0.3s;
}
header .sp_menu .btn_menu .pt1 a:hover{
	display: inline-block;
	background-color:#e08500 ;
	transition-duration:0.3s;
}
header .sp_menu .btn_menu .pt2 a:hover{
	display: inline-block;
	background-color:#e08500 ;
	transition-duration:0.3s;
}
header .sp_menu .btn_menu .pt3 a:hover{
	display: inline-block;
	background-color:#116e60 ;
	color: #ffffff;
	transition-duration:0.3s;
}
header .sp_menu .link_sec .box,
header .sp_menu .link_sec .box2{
		display: none;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header{
	display: flex;
	justify-content: flex-end;
	margin: 6px 0;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header>.menu-item:first-child{
	display: none;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header>.menu-item:last-child a{
	background-color:#FB919D;
	color: #fff;
	letter-spacing: 2px;
	border-radius: 50px;
	text-decoration: none;
	padding: 17px 30px;
	transition-duration:0.3s;
	text-align: center;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header>.menu-item:last-child a:hover{
	transition-duration:0.3s;
	background-color:#f17482;

}
header .sp_menu .link_sec .menu_sec #navi .menu-header>.menu-item{
    display: flex;
    position: relative;
	font-size: 14px;
	margin: 0 ;
    padding: 0 0;
	font-weight: 500;
	align-items: center;

}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item a{
	text-decoration: none;
	padding-bottom:8px;
    padding-left: 13px;
    padding-right: 13px;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item-has-children a{
	text-decoration: none;
	padding-bottom:8px;
    padding-left: 5px;
    padding-right: 20px;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item a.on{
	border-bottom:2px solid #4db82f;
	color: #4db82f;
	padding-bottom:7px;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item a:hover{
	text-decoration: none;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item a .has-icon {
    position: absolute;
    right: 0;
	width: 100%;
    top: 12px;
    display: inline-block;
    opacity: 1.0;
    font-size: 11px;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item .sub-menu a .has-icon {
    position: absolute;
    right: 10px;
    top: 0px;
    display: inline-block;
    opacity: 1.0;
    font-size: 11px;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item-has-children ,
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item a .top-has-sub .fa{
	position: relative;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item-has-children:before ,
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item a .top-has-sub .fa-angle-down:before {
    content: "";
    position: absolute;
    background: url(../images/arrow_04.webp) no-repeat;
    background-size: 9px auto;
    height: 10px;
    width: 10px;
    text-align: center;
    display: block;
    top: 7px;
    right: 4px;
}
header .sp_menu .link_sec .menu_sec #navi > ul li:hover > ul,
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item:hover .sub-menu{
    display: block;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item .sub-menu{
    display: none;
    position: absolute;
    margin: 0;
    min-width: 240px;
    list-style: none;
    padding: 0;
    z-index: 99;
    text-align: left;
	background: #fff;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item .sub-menu li {
	margin: 0;
	padding: 0;
}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item .sub-menu li{
	line-height: 1;

}
header .sp_menu .link_sec .menu_sec #navi .menu-header .menu-item .sub-menu li a{
	font-size: 12px;
	margin: 0;
    display: block;
    padding: 10px 13px;
	line-height: 1;
}
/*---------- フッター ----------*/
footer {
}


footer .cta_block {
	text-align: center;
	background: url(../images/img_10.webp) no-repeat center center;
	background-size: cover;
	padding:90px 0;
}
footer .cta_block .block{
	width: 700px;
	box-sizing: border-box;
	padding: 50px;
	margin: 0 auto;
	background-color: #fff;
	border-radius: 10px;
}
footer .cta_block .ttl {
	margin-bottom: 40px;
}
footer .cta_block .ttl h2 {
	font-size:28px;
	margin-bottom: 30px;
	font-weight: 400;
	color: #CC6F7A;
}
footer .cta_block .ttl h2 span {
	display: block;
	margin: 15px 0;
}
footer .cta_block .ttl p {
	margin-bottom: 30px;
}
footer .cta_block .btn_block {
	display: flex;
	justify-content: center;
	align-items: center;
	margin:0 auto 40px;
}
footer .cta_block .btn_block a {
	justify-content: center;
	align-items: center;
	display: flex;
    text-align: center;
    padding: 30px 40px;
    border-radius: 50px;
    box-sizing: border-box;
    text-decoration: none;
    transition-duration: 0.3s;
	margin: 0 2%;
	background-color: #FB919D;
	color: #fff;
}
footer .cta_block .btn_block  a:hover{
	background-color:#f17482 ;
	transition-duration:0.3s;
}
footer .cta_block .btn_block .muryo {
	position: relative;
}
footer .cta_block .tel_block .pt1 {
	display: inline-block;
}
footer .cta_block .tel_block .pt2 {
	display: inline-block;
}
footer .cta_block .tel_block .pt2 a {
	background: url(../images/tel_01.webp) no-repeat left 8px top 14px;
	background-size:20px 20px;
	letter-spacing: 2px;
	font-size:26px;
	padding: 0px 20px 0 30px;
}
footer .cta_block .tel_block .pt3 {
	display: inline-block;
	font-size: 12px;
    letter-spacing: 1px;
	margin-top: 20px;
}

footer .bnr_block {
	padding: 40px 0;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .bnr_block a {
	margin: 0 2%;
}
footer .link_sec {
	background: #ffffff;
	padding:50px 0;
}
footer .link_sec .tb{
	display: table;
	margin:0 auto;

}
footer .link_sec .tl {
	width: 35%;
	display: table-cell;
}
footer .link_sec .tl .block a img.logo {
	width:132px;
	height: auto;
	margin-bottom: 15px;
}
footer .link_sec .tl .block h3 {
	margin-bottom: 15px;;
	margin-top: -15px;;
}
footer .link_sec .tl .block p {
	line-height: 2.0;
	margin-bottom: 10px;

}
footer .link_sec .tl .block span.tel {
	margin-left: 40px;
	padding-left: 20px;
	background: url(../images/tel_02.webp) no-repeat left 0px top 6px;
	background-size:16px 16px;

}

footer .link_sec .tr {
	width: 65%;
	display: table-cell;

}
footer .link_sec .tr .menu_block {
	display: flex;
}
footer .link_sec .tr .menu_block .navi .menu-top .menu-item a {
	font-size: 14px;
	font-weight: 500;
	color: #333333;
}
footer .link_sec .tr .menu_block .navi #footer_menu_02 li:nth-child(4) {
	margin-left:-7px
}
footer .link_sec .tr .menu_block .navi .menu-top .menu-item .sub-menu {
	list-style: none;
	padding: 0;
	margin-top: 20px;
    margin-bottom: 30px;
}
footer .link_sec .tr .menu_block .navi .menu-top .menu-item .sub-menu a{
	font-size: 12px;
	color:#4d4d4d ;
}

footer .copy .copylight {
	width:100%;
	padding:20px 0;
	margin:0px auto;
	background: #FB919D;
}
footer .copy .copylight p {
	font-size:11px;
	text-align:center;
	color:#fff;
	letter-spacing: 1px;
}

footer .pagetop {
    position: fixed;
    bottom: 40px;
    right: 1%;
    z-index: 18;
}
footer .pagetop img{
	width:50px;
	height:auto;
}
footer .footer_cta {
	display:none;
}
footer .top-has-sub {
	display:none;
}
footer .hvr-underline-from-left:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  bottom: 0;
  background: none;
  height:0px;
}

/*---------- メイン ----------*/
.main_sec{
	margin-top: 90px;
}

.sub .main_sec{
	background: url(../images/sub_bg_01.webp) no-repeat right top;
	background-size: 665px auto;
}
.btn_a {
	margin-top: 10px;
	display: inline-block;
	text-decoration: none;
	background: #ffffff;
	border: 1px solid #FB919D;
	color: #FB919D;
	border-radius: 30px;
	padding: 17px 60px 17px 30px;
	background: url(../images/arrow_01.webp) no-repeat right 30px center #ffffff;
	background-size: 16px auto;
	transition-duration:0.3s;
}
.btn_a:hover {
	transition-duration:0.3s;
	background: url(../images/arrow_03.webp) no-repeat right 30px center #FB919D;;
	background-size: 16px auto;
	color: #ffffff;
	text-decoration: none;

}

.btn_b{
	justify-content: center;
	align-items: center;
	display: flex;
    text-align: center;
    padding: 30px 40px;
    border-radius: 50px;
    box-sizing: border-box;
    text-decoration: none;
    transition-duration: 0.3s;
	margin: 0 2%;
	background-color: #FB919D;
	color: #fff;
}
.btn_b span{
	color: #cc0000;
}
.btn_b:hover{
	background-color:#f17482 ;
	transition-duration:0.3s;
}
.btn_c{
	font-size: 14px;
	color: #ffffff;
	display: inline-block;
	background: url(../images/arrow_02.webp) no-repeat right 10px center #ffa000;
	background-size:8px 12px;
	text-align: center;
	margin:0 5px;
	padding: 13px 30px;
	border-radius: 3px;
	box-sizing: border-box;
	box-shadow: 0px 2px 2px 2px #cccccc;
	text-decoration: none;
	transition-duration:0.3s;
}
.btn_c span{
	color: #cc0000;
}
.btn_c:hover{
	display: inline-block;
	background: url(../images/arrow_02.webp) no-repeat right 10px center #e08500;
	color: #ffffff;
	background-size:8px 12px;
	text-decoration: none;
	transition-duration:0.3s;
}
/*---------- お問い合わせ ----------*/
.contact_form .mw_wp_form table{
	border-top: 1px solid #838383;
	margin-bottom: 40px;
	width: 100%;
}
.contact_form .mw_wp_form th{
	border-bottom: 1px solid #838383;
	padding: 30px 20px;
	text-align: left;
	font-weight: normal;
	width: 25%;
	box-sizing: border-box;
	vertical-align: middle;
}
.contact_form .mw_wp_form td{
	border-bottom: 1px solid #838383;
	padding: 30px 20px;
	width: 75%;
	box-sizing: border-box;
}
.contact_form .mw_wp_form input,
.contact_form .mw_wp_form select,
.contact_form .mw_wp_form textarea{
	padding: 6px;
	font-size: 20px;
	border: 0px solid #999999;
	background: #F4F4F4;
	padding: 18px;
	border-radius: 8px;
	box-sizing: border-box;
}
.contact_form .mw_wp_form input,
.contact_form .mw_wp_form textarea{
	width: 100%;
}
.contact_form .mw_wp_form .txt2{
    width: 200px;
}
.contact_form .mw_wp_form select{
    padding: 9px 9px 10px;
}

.contact_form .mwform-radio-field input{
	width: auto;
}
.contact_form .mw_wp_form .require{
	color: #ffffff;
	padding: 7px 8px 9px;
	background-color: #FA3A3A;
	font-size: 12px;
	border-radius: 6px;
	float: right;
}
.contact_form .mw_wp_form .btn_b{
	border: none;
	width: 200px;
	padding: 20px;
	margin: 0 auto;
	font-size: 14px;
	display: block;
	cursor: pointer;
    background-color: #FB919D;
	border-radius: 40px;
}
.contact_form .mw_wp_form .btn_a {
    border: none;
    width: 200px;
    padding: 15px;
    margin: 15px auto;
    font-size: 14px;
    display: block;
}

