@charset "utf-8";

/*===============================================
common
===============================================*/

.sp_only { display:none;}
.pc_only { display:block;}

.full_width { width:100%; height:auto;}
strong,.bold { font-weight:bold!important;}

img { width:100%; height:auto;  }
a img:hover { opacity:0.8;} 

a.line { text-decoration:underline; color:#20637b;}

body{  font-family:"M PLUS 1p", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; color:#333;}
	
/*layout*/
.inr { width:1000px; margin:0 auto;}
.sec { padding:40px 0;}
.box { padding:20px; box-sizing:border-box;}
.sec_l { float:left;}
.sec_r { float:right;}
.txt_r { text-align:right;}
.txt_l { text-align:left;}
.indent { padding-left:1em; text-indent:-1em;}
.center { text-align:center;}

section { margin:0; padding:0;}

/*===============================================
color
===============================================*/
.red { color:#cf005a!important;}
.orange { color:#c34f2f!important; }
.green { color:#1a4323!important;}
.blue { color:#236bbd!important;}

/*===============================================
ttl
===============================================*/

.ttl { text-align:center;}

/*===============================================
header
===============================================*/

header { position:fixed; z-index:20; top:0; width:100%; background:#f8f6e4; box-shadow:0 0 3px 1px #888;  }
header h1 { width:180px; margin:0 auto; padding:5px 0;}
header .inr { position:relative;}

header .contact { position:absolute; top:0; right:0; width:220px; }
header .contact a { background:#c34f2f; display:block; border-bottom:6px solid #9a3b21; color:#fff; text-align:center; line-height:1.3; padding:9px 0; padding-left:20px; font-weight:bold;}
header .contact a span { position:relative; }
header .contact a span:before { content:''; background:url(../images/icon_contact.png) no-repeat; width:24px; height:24px; background-size:cover; position:absolute; left:-34px; top:4px;}
 
/*btn*/
header nav { background:#e7e4c8; padding:8px 0;}
header nav ul { display: flex; justify-content: space-around; }
header nav ul li a { font-weight:bold; color:#1a4323!important; position:relative;}
header nav ul li a:before { content:''; background:url(../images/allow_r.png) no-repeat; width:6px; height:10px; background-size:cover; position:absolute; left:-14px; top:2px;}

header nav ul li:hover a {color:#c34f2f!important;}
header nav ul li:hover a:before { content:''; background:url(../images/allow_r_on.png) no-repeat; width:6px; height:10px; background-size:cover; position:absolute; left:-14px; top:2px;}

#contents { padding-top:110px;}

/*===============================================
ttl
===============================================*/

.ttl { margin-bottom:40px;}
.ttl h3 { font-size:28px; font-weight:bold;}
.ttl h4 { font-size:18px; font-weight:bold;}

/*===============================================
main_visual
===============================================*/

.main_visual { position:relative; font-size:0; margin:0; padding:0; height:530px; overflow:hidden;}

.main_visual video { width:100%; min-height:300px;}

.main_visual .inr {  z-index:3; text-align:center; position:absolute; top:30%; left:0; right:0;}
.main_visual h2 { text-shadow:0 0 0 #000; color:#fff; font-weight:bold; font-size:24px;}
.main_visual .img { width:400px; margin:0 auto; text-indent:-30px;}
.tp-dottedoverlay {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAG0lEQVQYV2NkYGD4z8DAwMgABXAGNgGwSgwVAFbmAgXQdISfAAAAAElFTkSuQmCC");
  background-blend-mode: overlay;
  background-position: 0px ;
  background-size: auto, cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top:0px;
  left:0px;
  z-index: 1;
}

@media screen and (max-width: 1000px) and  (min-width: 769px) {
	.main_visual video { width:auto; height:530px; min-height:530px;}
}

/*===============================================
sec01
===============================================*/

.sec01 { background:url(../images/sec01_bg.jpg) no-repeat right center; background-size:cover; pa }
.sec01 .sec_l { width:47%;}
.sec01 .sec_r { width:47%; }
.sec01 .sec_r h4 { font-size:20px; margin-bottom:10px;}

.sec01 .thum li { width:25%;}

/*===============================================
sec02
===============================================*/

.sec02 { background:url(../images/ptn_orange.jpg); }

.sec02 .sec_l { width:43%;}
.sec02 .sec_r { width:50%; }

.sec02 .sec_r h4 { font-size:24px;}

.sec02 .table table { border-collapse:collapse; width:100%; text-align:center; background:#fff;}
.sec02 .table th.head { background:#1a4323; color:#fff; font-weight:bold;}
.sec02 .table th,.sec02 .table td { border-bottom:1px solid #1a4323; padding:8px 0;}

.sec02 .tokuten { background:#FFF;}
.sec02 .tokuten { clear:both; margin-top:30px;}
.sec02 .tokuten h4 { background:#1a4323; color:#fff;  text-align:center; padding:6px 0; font-weight:bold;  font-size:1.8rem;}
.sec02 .tokuten ul { display:flex; justify-content: space-between; padding:10px 20px 10px 20px;}
.sec02 .tokuten li { width:32%;}

.sec02 .flow { margin-top:20px;}
.sec02 .flow h4 {  font-size:24px; margin-bottom:10px;}
.sec02 .flow ul { display:flex; justify-content: space-between; flex-wrap:wrap; }
.sec02 .flow li { width:32%; margin-bottom:10px;background:#fff; padding:15px; box-sizing:border-box;}
.sec02 .flow h5 { color:#1a4323;  text-align:center; padding:3px 0; font-weight:bold; font-size:1.5rem; border-bottom:3px #f1f1f1 solid; margin-bottom:10px; }
.sec02 .flow h5 div { background:#1a4323; border-radius:50%; width:24px; height:24px; color:#fff; font-size:14px; text-align:center; padding:0; display:inline-block; line-height:1.8; margin-right:10px;
position:relative; top:-2px;}

.sec02 .flow h5 a {text-decoration:underline;}

/*===============================================
sec03
===============================================*/

.sec03 { background:url(../images/ptn_blue.jpg); padding-bottom:0; }

.sec03 .sec_l { width:43%; text-align:center;}
.sec03 .sec_l .link { font-size:18px; text-decoration:underline; margin-bottom:10px;}
.sec03 .sec_l .img { width:80%; margin:0 auto;}
.sec03 .sec_l h4 { font-size:18px;  background: linear-gradient(transparent 70%, #fbec00 70%);}
.sec03 .sec_r { width:50%; }


.sec03 .price { clear:both; position:relative; padding-top:0px;}
.sec03 .price h4 { font-size:24px;}
.sec03 .price .img { position:absolute; left:0; top:0px; width:300px;}
.sec03 .table {  width:70%; float:right;}
.sec03 .table table { border-collapse:collapse; text-align:center; background:#fff; width:100%; table-layout:fixed; border:2px solid #236bbd;}
.sec03 .table th,.sec03 .table td {  padding:12px 0; vertical-align:middle; }
.sec03 .table td:nth-child(2){  border-left:1px solid #236bbd;}
.sec03 .table th.head { background:#236bbd; color:#fff; font-weight:bold; padding:6px 0;}
.sec03 .table td { font-weight:bold;}
.sec03 .table tr.glay td { background:#f1f1f1; padding:4px 0;}

.sec03 .infomation { background:url(../images/sec03_bg.jpg) no-repeat center bottom; background-size:cover; margin-top:30px; padding:40px 0;}
.sec03 .infomation h4 { font-size:24px; color:#fff; margin-bottom:20px;}
.sec03 .infomation table { border-collapse:collapse; width:80%; margin:0 auto; text-align:center; background:#fff;}
.sec03 .infomation th { background:#236bbd; color:#fff; font-weight:bold;}
.sec03 .infomation th:nth-child(n+2) { border-left:1px solid #fff; padding:5px 0; }
.sec03 .infomation td { border:1px solid #236bbd; padding:10px 20px; font-weight:bold;}
.sec03 .infomation td img { width:50px;}

.opacity { opacity:0.3;}

/*===============================================
sec04
===============================================*/

.sec04 h5 { border-bottom:3px #e7e4c8 solid; margin-bottom:20px; font-size:20px; padding-bottom:10px;}

.sec04 .ttl h4 { position:relative; display:inline-block;}
.sec04 .ttl .img { position:absolute; width:130px; right:-170px; top:-110px; text-align:right;}

.sec04 ul.flex { display:flex; justify-content: space-between; padding:10px 20px 10px 20px;}
.sec04 ul.flex li { width:30%;}
.sec04 .menu p { border-bottom:1px #000000 solid; border-top:1px #000000 solid; text-align:center; margin-bottom:10px;}
.sec04 .menu ul { display:flex; flex-wrap:wrap; justify-content: space-between;  width:100%; }
.sec04 .menu ul li { width:49%; text-align:center; background:#f8f6e4; margin-bottom:3px; font-size:11px;}
.sec04 .btn a { display:block; background:#c34f2f; width:80%; margin:20px auto; padding:5px 0; border-radius:5px; color:#fff; text-align:center;}
.sec04 .link img { cursor:pointer;}

.sec04 .equipment_sec { margin-top:40px;}
.sec04 .equipment_sec .sec_l { width:45%; margin:0 auto;}
.sec04 .equipment_sec .sec_r { width:50%;}
.sec04 .equipment_sec .menu ul li { padding:5px 0;}

/*===============================================
sec05
===============================================*/

.sec05 { background:url(../images/ptn_green.jpg); }
.sec05 .gmap { height: 0; overflow: hidden; padding-bottom: 56.25%; position: relative; margin-bottom:10px;}
.sec05 .gmap iframe { position: absolute; left: 0; top: 0; height: 100%; width: 100%;}

.sec05 .inr { text-align:center;}
.sec05 dl { margin-top:30px; background:#fff; padding:20px;}
.sec05 dt { color:#1a4323; font-weight:bold;}


/*===============================================
sec06
===============================================*/

.sec06 dl { border-bottom:1px #999999 dashed; width:70%; margin:0 auto; margin-bottom:15px; padding-bottom:10px;}
.sec06 dt { font-weight:bold; font-size:16px; color:#1a4323; margin-bottom:5px; }

/*===============================================
sec07
===============================================*/

.sec07 { background:#fffff6; border-top:1px #f8f6e4 solid;}
.sec07 .table_style { width:100%;}
.sec07 .table_style dl { width:100%;}
.sec07 .table_style dt,.sec07 .table_style dd { border-bottom:1px #366741 solid; padding:15px 0;}
.sec07 .table_style dt { width:30%; background:#f8f6e4; text-align:center; padding:0 20px; color:#366741; font-weight:bold;}
.sec07 .table_style dd { padding:15px 20px; text-align:left; box-sizing:border-box;}
.sec07 .table_style .required { display:block; font-size:10px; margin:0 auto; }
.sec07 .table_style .required span { background:#F00; color:#fff; display:inline-block; line-height:1; padding:1px 5px; border-radius:2px;}
.sec07 .table_style dd input[type="text"] { background:#fff; padding:10px; width:80%; border:1px #366741 solid; box-sizing:border-box;}
.sec07 .table_style dd textarea { width:80%; border:1px #366741 solid;}
.sec07 .table_style dd select { font-size:14px; padding:5px; width:30%;}


/*===============================================
footer
===============================================*/

footer { }
footer .page_top { width:40px; margin:30px auto;}
footer .foot_top {  background:#f8f6e4; padding:30px 0; text-align:center;}
footer .foot_top .img { width:180px; margin:20px auto;}

footer .foot_bottom { background:#366741; padding:30px 0; color:#FFF;}
footer .foot_bottom .inr { }
footer .foot_bottom .sec_l { width:48%;  text-align:right;}
footer .foot_bottom .sec_l img { width:300px; padding-top:5px;}
footer .foot_bottom .sec_r { width:48%;  vertical-align:top; font-weight:normal; line-height:1.4; font-size:1.2;}
footer .foot_bottom .sec_r dt { font-weight:bold;}
footer .foot_bottom .sec_r ul { display:flex; flex-wrap:wrap; margin-top:8px;}
footer .foot_bottom .sec_r ul li { width:28px; margin-right:4px;}

.copyright { color:#000; font-size:11px; text-align:center; padding:30px 0;}

/*===============================================
modal_sec
===============================================*/

.modal_sec { position:relative; overflow-y: auto; max-height: 100%;}
.modal_sec h4 { font-size:20px;}
.modal_sec ul { display:flex; flex-wrap:wrap; justify-content: space-between;}
.modal_sec ul li { width:48%; text-align:center; margin-bottom:10px;}
.modal_sec .modal_close { font-size:3.8rem; position:fixed; right:20px; top:10px; cursor:pointer; }

@media screen and (max-width: 768px) {
	
.sp_only { display:block;}
.pc_only { display:none;}

.sec_l,.sec_r { float:none;}

/*layout*/
.inr { width:100%; margin:0 auto; padding:0 2%; box-sizing:border-box; }
.sec { padding:40px 0;}
.message p { font-size:12px;}

/*header nav*/
header nav { display:none;}

.menu-trigger { display:block;}
.menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
.menu-trigger { position: relative; width: 36px; height: 29px;}

.menu-trigger span { position: absolute;left: 0;width: 100%;height: 4px; background-color: #1a4323; border-radius: 4px;}
.menu-trigger span:nth-of-type(1) { top: 0;}
.menu-trigger span:nth-of-type(2) { top: 12px;}
.menu-trigger span:nth-of-type(3) { bottom: 0;}
.menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(11px) rotate(-45deg);transform: translateY(11px) rotate(-45deg);}
.menu-trigger.active span:nth-of-type(2) { opacity: 0;}
.menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-15px) rotate(45deg); transform: translateY(-15px) rotate(45deg);}
	
/*===============================================
ttl
===============================================*/

.ttl h3 { font-size:24px; font-weight:bold;}
.ttl h4 { font-size:16px; font-weight:bold;}


/*===============================================
header
===============================================*/

header { height:50px; border-top:4px #1a4323 solid; }
header h1 { width:120px; padding-top:5px; }

header .sp_btn { position:absolute; right:10px; top:10px; }
header nav { top:50px; position:absolute; background:#fff; width:100%; left:0; margin:0; padding:0; box-sizing:border-box;}
header nav ul { display:block; width:100%; padding:0; text-align:center; }
header nav ul li { width:100%; border-bottom:1px #CCCCCC solid; padding:10px 0;  }
header nav ul li a { width:100%; display:block;}
header nav ul li a:before { content:''; background:url(../images/allow_r.png) no-repeat; width:6px; height:10px; background-size:cover; position:absolute; left:auto; right:10px; top:3px;}
header nav ul li:hover a:before { content:''; background:url(../images/allow_r_on.png) no-repeat; width:6px; height:10px; background-size:cover; position:absolute; left:inherit; right:5px; top:3px;}

#contents { padding-top:50px;}

/*===============================================
main_visual
===============================================*/

.main_visual {  height:450px; position:relative; padding-top:0;}
.main_visual .inr {  }
.main_visual h2 {  font-size:20px;}
.main_visual .img { width:60%; text-indent:-10px;}

/*===============================================
sec01
===============================================*/

.sec01 { background:url(../images/sec01_bg_sp.jpg) no-repeat right top #e7f8f9; background-size:100%; }
.sec01 .sec_l { width:80%; margin:20px 10%;}
.sec01 .sec_r { width:100%; }
.sec01 .sec_r h4 { font-size:18px; margin-bottom:10px; text-align:center;}

.sec01 .thum li { width:25%;}

/*===============================================
sec02
===============================================*/

.sec02 .ttl + p { width:50%; float:left; text-align:left;   }
.sec02 .sec_l { width:48%; float:right; }
.sec02 .sec_r { width:100%; clear:both;  }

.sec02 .sec_r h4 { font-size:20px; margin:10px; padding-top:10px;}

.sec02 .tokuten { margin-top:10px;}
.sec02 .tokuten p { padding:0 10px;}
.sec02 .tokuten p br { display:none;}
.sec02 .tokuten h4 {  padding:4px 0;  font-size:1.6rem;}
.sec02 .tokuten ul { padding:15px 10px;}
.sec02 .tokuten li { width:33%;}


.sec02 .flow h4 {  font-size:18px;}
.sec02 .flow li { width:49%;  padding:10px;}
.sec02 .flow h5 {font-size:1.3rem; }
.sec02 .flow h5 div { display:block; margin:0 auto;top:0; margin-bottom:10px;}
.sec02 .flow li p { font-size:1.2rem;}

/*===============================================
sec03
===============================================*/

.sec03 { padding-bottom:0;}

.sec03 .sec_l { width:100%;}
.sec03 .sec_l .link { font-size:16px; text-decoration:underline; margin-bottom:10px;}
.sec03 .sec_l .img { width:70%; margin:0 auto;}
.sec03 .sec_l h4 { font-size:16px; margin-bottom:10px;}
.sec03 .sec_l .food_img { float:right;}
.sec03 .sec_r { width:70%; margin:0 auto; }


.sec03 .price .img { position:absolute; left:-10px; top:-150px; width:37%;}
.sec03 .table {  width:100%; float:none; position:relative; z-index:10;}
.sec03 .table th,.sec03 .table td {  padding:8px 0; font-size:11px; }
.sec03 .table td .font_16 { font-size:13px;}
.sec03 .infomation h4 { font-size:17px; }
.sec03 .infomation table {  width:100%;}
.sec03 .infomation th:nth-child(n+2) { border-left:1px solid #fff; padding:5px 0; }
.sec03 .infomation td { padding:10px;}
.sec03 .infomation th { font-size:11px;}
.sec03 .infomation td p { font-size:10px;}
.sec03 .infomation td img { width:80%;}

/*===============================================
sec04
===============================================*/

.sec04 h5 { font-size:18px; }

.sec04 .ttl h4 { position:relative; display:block;}
.sec04 .ttl .img { position:absolute; width:100px; right:-10px; top:-110px; }

.sec04 ul.flex { flex-wrap:wrap; padding:0; }
.sec04 ul.flex > li { width:100%; margin-bottom:20px; }
.sec04 .menu p { font-size:11px; border-color:#999;}
.sec04 .menu li { padding:0px; font-size:9px!important;}
.sec04 .menu { float:right; width:58%;}
.sec04 .img_sec { float:left; width:40%;}
.sec04 .btn { clear:both; margin-top:15px;}

.sec04 .equipment_sec { margin-top:40px;}
.sec04 .equipment_sec .sec_l { width:40%; margin:0 auto; float:left;}
.sec04 .equipment_sec .sec_r { width:100%; float:none; padding:0;}
.sec04 .equipment_sec .menu ul li { padding:5px 0;}

/*===============================================
sec05
===============================================*/

.sec05 .gmap { padding-bottom: 80%;}
.sec05 dd { text-align:left;}

/*===============================================
sec06
===============================================*/

.sec06 dl {width:95%; }
.sec06 dt { font-size:14px;}
.sec06 dd { font-size:12px;}

/*===============================================
sec07
===============================================*/

.sec07 .ttl br { display:none;}
.sec07 .table_style dt { width:25%; }
.sec07 .table_style dd { padding-right:0; padding-left:5px;}
.sec07 .table_style dd input[type="text"] { width:100%;}
.sec07 .table_style dd textarea { width:100%;  box-sizing:border-box;}



/*===============================================
footer
===============================================*/

footer .page_top { width:30px;}
footer .foot_bottom { background:#366741; padding:30px 0; color:#FFF;}
footer .foot_bottom .inr { }
footer .foot_bottom .sec_l { width:40%; margin:0 auto; text-align:center;}
footer .foot_bottom .sec_l img { width:100%;}
footer .foot_bottom .sec_r { width:100%; text-align:center; margin:10px 0; }
footer .foot_bottom .sec_r dt { font-size:14px; margin:4px 0 2px 0; font-weight:bold;}
footer .foot_bottom .sec_r ul { display:flex; flex-wrap:center;justify-content: center; }
footer .foot_bottom .sec_r ul li { width:34px; margin-right:4px; margin-top:10px;}
footer .foot_bottom .sec_r  a { color:#FFF!important;}

}


