@charset "UTF-8";
/* Scss Document */
/* Scss Document */
/*color*/
/*背景色*/
/*ベース文字色*/
/*ベース文字色*/
/*アクセント色*/
/*アクセント色*/
/*線*/
/*線*/
/*線*/
/*線*/
/*線*/
/*線2*/
/*font*/
/*layout*/
/*=== zoom out ===*/
@keyframes slide { 0% { transform: scale(1.2); }
  100% { transform: scale(1); } }
/*safari*/
@-webkit-keyframes slide { 0% { transform: scale(1.2); }
  100% { transform: scale(1); } }
/*=== フェードイン ===*/
@keyframes from-left-img { from { opacity: 0; } }
@-webkit-keyframes from-left-img { from { opacity: 0; } }
/*=== 左から表示 ===*/
@keyframes from-left-before { 100% { transform: translateX(100%); } }
@-webkit-keyframes from-left-before { 100% { transform: translateX(100%); } }
/*=== 上から表示 ===*/
@keyframes from-top { 100% { transform: translateY(100%); } }
@-webkit-keyframes from-top { 100% { transform: translateY(100%); } }
/*=== 下から表示 ===*/
@keyframes from-bottom { 100% { transform: translateY(-100%); } }
@-webkit-keyframes from-bottom { 100% { transform: translateY(-100%); } }
* { box-sizing: border-box; margin: 0; padding: 0; }

html { width: 100%; height: 100%; }

body { width: 100%; height: 100% !important; position: relative; color: #2a2a2a; background-color: #FFF; font-family: "Times New Roman", 游明朝, "Yu Mincho", 游明朝体, YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif; line-height: 1.8; font-size: 15px; }

h1, h2, h3, h4, h5, h6 { font-family: "Times New Roman", 游明朝, "Yu Mincho", 游明朝体, YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif; font-weight: normal; }

a[href], a[href]:active, a[href]:link, a[href]:visited, a[href]:hover { color: #2a2a2a; text-decoration: none; }
a[href] img:hover, a[href]:active img:hover, a[href]:link img:hover, a[href]:visited img:hover, a[href]:hover img:hover { opacity: 0.7; }
a[href].notel, a[href]:active.notel, a[href]:link.notel, a[href]:visited.notel, a[href]:hover.notel { cursor: text; }

.cf:after { content: ''; display: block; clear: both; }

img, video { max-width: 100%; max-height: 100%; }

.wrapper { margin-left: auto; margin-right: auto; max-width: 1240px; padding-left: 20px; padding-right: 20px; float: none; }
@media screen and (max-width: 1024px) { .wrapper { padding-left: 6.25%; padding-right: 6.25%; } }

.cont { margin-top: 150px; }
@media screen and (max-width: 1024px) { .cont { margin-top: 80px; } }

.cont_50 { margin-top: 50px; }
@media screen and (max-width: 1024px) { .cont_50 { margin-top: 40px; } }

.cont_100 { margin-top: 100px; }
@media screen and (max-width: 1024px) { .cont_100 { margin-top: 60px; } }

.large_slider + .text_cont { margin-top: 30px; }

.large_image + .text_cont { margin-top: 30px; }

p + .info { margin-top: 20px; }

.info + .button { margin-top: 20px; }

.mention { margin-top: 30px; color: #595656; }

.small { font-size: 11px; margin-top: 10px; }

.f_serif { font-family: "Times New Roman", 游明朝, "Yu Mincho", 游明朝体, YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.floor { color: #2e4d02; margin-right: 0.5em; }

@media screen and (min-width: 1025px) { .pc_tate { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; } }
.tate { -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; -ms-text-combine-horizontal: digits 2; }

.yoko_in_tate { -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; line-height: 1em; text-align: center; text-indent: 0; letter-spacing: 0.0em; }

@media screen and (min-width: 1025px) { .for_pc { display: block; } }
@media screen and (max-width: 1024px) { .for_pc { display: none; } }

@media screen and (min-width: 1025px) { .for_sp { display: none; } }
@media screen and (max-width: 1024px) { .for_sp { display: block; } }

@media screen and (max-width: 1024px) { .tab_w80 { float: none !important; width: auto !important; max-width: none !important; padding-right: 10% !important; padding-left: 10% !important; margin-right: auto !important; margin-left: auto !important; }
  .tab_w90 { float: none !important; width: auto !important; max-width: none !important; padding-right: 5% !important; padding-left: 5% !important; margin-right: auto !important; margin-left: auto !important; }
  .tab_w100 { float: none !important; width: 100% !important; max-width: none !important; padding-right: 0% !important; padding-left: 0% !important; margin-right: auto !important; margin-left: auto !important; }
  .tab_wrapper { float: none !important; width: 100% !important; max-width: none !important; padding-right: 6.25% !important; padding-left: 6.25% !important; margin-right: auto !important; margin-left: auto !important; } }
@media screen and (max-width: 768px) { .sp_w80 { float: none !important; width: auto !important; max-width: none !important; padding-right: 10% !important; padding-left: 10% !important; margin-right: auto !important; margin-left: auto !important; }
  .sp_w90 { float: none !important; width: auto !important; max-width: none !important; padding-right: 5% !important; padding-left: 5% !important; margin-right: auto !important; margin-left: auto !important; }
  .sp_w100 { float: none !important; width: 100% !important; max-width: none !important; padding-right: 0% !important; padding-left: 0% !important; margin-right: auto !important; margin-left: auto !important; }
  .sp_wrapper { float: none !important; width: 100% !important; max-width: none !important; padding-right: 6.25% !important; padding-left: 6.25% !important; margin-right: auto !important; margin-left: auto !important; } }
/*======================= header
=========================*/
#header { position: fixed; z-index: 6666; top: 0; left: 0; right: 0; transition: all 0.5s; width: 100%; padding: 0 70px; }
@media screen and (min-width: 1025px) { #header:not(.scrolled) { /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+84,000000+100&0.7+0,0+100 */ background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.11) 84%, rgba(0, 0, 0, 0) 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.11) 84%, rgba(0, 0, 0, 0) 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.11) 84%, rgba(0, 0, 0, 0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b3000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */ }
  #header.scrolled { background: rgba(255, 255, 255, 0.95); height: 90px; border-bottom: 1px solid #eeeeee; /*&:before{
	@include content;
	position: absolute;
	left: 0;
	bottom: 2px;
	width: 100%;
	height: 1px;
	background-color: $accent-color-lighter;
}*/ } }
@media screen and (max-width: 1024px) { #header { position: relative; width: 100%; left: 0; }
  #header.active { z-index: 9998; }
  #header.active #gnav h1 { position: fixed; z-index: 9998; height: 60px; }
  #header.active #gnav h1 img { height: 60px; }
  #header.active #gnav #menu_button { z-index: 9999; } }
@media screen and (min-width: 1025px) { #header #gnav { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; align-items: center; } }
@media screen and (max-width: 1024px) { #header #gnav { z-index: 9999; top: 0; left: 0; width: 100%; height: 100%; }
  #header #gnav #menu_button { width: 55px; height: 55px; background-color: rgba(255, 255, 255, 0.5); cursor: pointer; position: fixed; left: 0; top: 0; z-index: 3; }
  #header #gnav #menu_button:before, #header #gnav #menu_button:after { content: ''; display: block; width: 40px; height: 1px; background-color: #2a2a2a; position: absolute; left: 7.5px; transition: all 0.5s; }
  #header #gnav #menu_button:before { top: 20px; }
  #header #gnav #menu_button:after { top: 35px; }
  #header #gnav #menu_button.active:before, #header #gnav #menu_button.active:after { top: 50%; }
  #header #gnav #menu_button.active:before { transform: rotate(45deg); }
  #header #gnav #menu_button.active:after { transform: rotate(-45deg); } }
#header.scrolled #gnav { height: 90px; }
#header h1 { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; width: 100%; flex-direction: column; justify-content: flex-end; transition: all 0.5s; }
@media screen and (min-width: 1025px) { #header h1 { margin-right: 20px; flex-basis: 100px; max-width: 100px; margin-top: 30px; }
  #header h1 a { display: block; } }
@media screen and (max-width: 1024px) { #header h1 { padding-left: 55px; padding-right: 55px; width: 100%; height: 133px; position: absolute; left: 0; top: 20px; text-align: center; margin-top: 10px; margin-left: auto; margin-right: auto; z-index: 2; } }
@media screen and (max-width: 414px) { #header h1 { height: 80px; }
  #header h1 img { height: 80px; } }
@media screen and (min-width: 1025px) { #header.scrolled h1 { transform: scale(0.4); margin-top: 0px; } }
@media screen and (min-width: 1025px) { #header .pages { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: flex-end; margin-top: 40px; height: 90px; flex-basis: calc(100% - 100px); max-width: calc(100% - 100px); } }
@media screen and (max-width: 1024px) { #header .pages { background: url("../images/common/bg02.jpg") repeat; position: fixed; top: 0; left: 0; z-index: 9000; width: 100%; height: 100vh; padding-top: 90px; display: none; overflow-y: scroll; padding-bottom: 40px; padding-left: 6.25%; padding-right: 6.25%; color: #FFF; } }
#header .pages li { text-align: center; height: 90px; flex-shrink: 0; }
@media screen and (max-width: 1024px) { #header .pages li { height: 50px; } }
#header .pages li a { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; width: 100%; height: 100%; flex-direction: column; align-items: center; text-decoration: none; position: relative; line-height: 1.6; padding-left: 15px; padding-right: 15px; color: #FFF; justify-content: center; }
@media screen and (max-width: 1180px) and (min-width: 1025px) { #header .pages li a { padding-left: 10px; padding-right: 10px; } }
#header .pages li a span { display: block; }
#header .pages li a span.eng { color: #8e8e8e; font-size: 11px; }
@media screen and (max-width: 1180px) and (min-width: 1061px) { #header .pages li a span { font-size: 15px; }
  #header .pages li a span.eng { font-size: 10px; } }
@media screen and (max-width: 1060px) and (min-width: 1025px) { #header .pages li a span { font-size: 13px; }
  #header .pages li a span.eng { font-size: 10px; } }
#header .pages li a[href]:after { content: ''; display: block; margin-left: auto; margin-right: auto; opacity: 0; position: absolute; left: 0; right: 0; bottom: 20px; transition: all 0.5s; transition-timing-function: ease-out; width: 0px; height: 1px; max-width: 50%; background-color: #FFF; }
@media screen and (min-width: 1025px) { #header .pages li:hover a:after, #header .pages li:hover p:after { opacity: 1; width: 50px; } }
@media screen and (min-width: 1025px) { #header .pages li.book { flex-basis: 100px; max-width: 100px; }
  #header .pages li.book a { transition: all 0.5s; position: relative; z-index: 1; }
  #header .pages li.book a:after { display: none; }
  #header .pages li.book a:before { content: ''; display: block; position: absolute; left: 0; bottom: 2px; width: 100%; height: 1px; background-color: #bdaf7c; z-index: -1; }
  #header .pages li.book a:hover:before { -webkit-animation: line-full-width 0.5s linear; animation: line-full-width 0.5s linear; } }
@media screen and (max-width: 1024px) { #header .pages li.book { margin-top: 20px; }
  #header .pages li.book a { background: #bdaf7c; color: #2e4d02; } }
@media screen and (min-width: 1025px) { #header.scrolled .pages { margin-top: 0px; height: 70px; }
  #header.scrolled .pages li { height: 70px; /*&.book{
	a{
		//background: $accent-color-lighter;
		background: transparent;
		color: $accent-color;
		&:before{
			//display: none;
			height: 100%;
		}
		&:hover{
			
		}
	}
}*/ } }
@media screen and (min-width: 1025px) and (min-width: 1025px) { #header.scrolled .pages li:not(.book) a { color: #2a2a2a; }
  #header.scrolled .pages li:not(.book) a:after { background-color: #2e4d02; } }

@-webkit-keyframes line-full-width { 0% { width: 0px; }
  100% { width: 100%; } }
@keyframes line-full-width { 0% { width: 0px; }
  100% { width: 100%; } }
/* ========================================
	sp_bottom
======================================== */
#sp_bottom { position: fixed; z-index: 6666; left: 0; bottom: 0; width: 100%; padding: 0 10px 10px; }
#sp_bottom ul { width: 100%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; }
#sp_bottom ul li { height: 60px; text-align: center; flex-grow: 0; flex-shrink: 0; }
#sp_bottom ul li.reserve { flex-basis: 100px; max-width: 100px; margin-right: 1px; font-size: 14px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; align-items: center; color: #FFF; position: relative; z-index: 0; }
#sp_bottom ul li.reserve::before { content: ''; display: block; position: absolute; left: 0; bottom: 2px; width: 100%; height: 1px; background-color: #bdaf7c; z-index: 1; }
#sp_bottom ul li.tel { flex-basis: 60px; max-width: 60px; font-size: 14px; }
@media screen and (min-width: 768px) { #sp_bottom ul li.tel { display: none; } }
#sp_bottom ul li.tel a { width: 100%; height: 100%; background-color: #bdaf7c; color: #2e4d02; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; align-items: center; }

/*==================================== language
====================================*/
#language { position: absolute; right: 0; top: 20px; z-index: 7777; height: 30px; width: 80px; /*@media screen and (max-width: 1024px) {
	top: 15px;
	width: 70px;
}*/ }
#language .easy-select-box { background-color: #2a2a2a; color: #FFF !important; width: 100%; height: 100%; position: relative; transition: all 0.5s; height: 30px; width: 80px !important; padding-left: 10px; cursor: pointer; 		/*&:hover{
			background-color: #FFF;
			color: $base-color!important;

			&:after{
				transform: rotate(-45deg) translate(3px,-3px);
				border-color: $accent-color;
			}
		}*/ }
#language .easy-select-box:after { content: ''; display: block; position: absolute; top: 50%; right: 10px; margin-top: -5px; width: 5px; height: 5px; border-right: 1px solid #eeeeee; border-top: 1px solid #eeeeee; transform: rotate(135deg); transform-origin: center center; margin-left: 1em; transition: all 0.5s; }
#language .easy-select-box .esb-dropdown { top: 100%; }
#language .easy-select-box .esb-dropdown .esb-item { background-color: #8e8e8e; padding: 0 10px; border-bottom: 1px dotted #595656; }
#language .easy-select-box .esb-dropdown .esb-item:last-child { border-bottom: 0; }
#language .easy-select-box .esb-dropdown .esb-item:hover { background-color: #595656; }

.language { display: none; position: absolute; right: 0; top: 20px; z-index: 7777; height: 30px; width: 80px; }
@media screen and (max-width: 1024px) { .language { top: 15px; width: 70px; } }
.language a { background-color: #2a2a2a; color: #FFF !important; width: 100%; height: 100%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; text-align: center; align-items: center; justify-content: center; transition: all 0.5s; }
.language a:after { content: ''; display: inline-block; vertical-align: middle; width: 5px; height: 5px; border-right: 1px solid #eeeeee; border-top: 1px solid #eeeeee; transform: rotate(45deg); transform-origin: center center; margin-left: 1em; transition: all 0.5s; }
.language a:hover { background-color: #FFF; color: #2a2a2a !important; }
.language a:hover:after { transform: rotate(45deg) translate(3px, -3px); border-color: #2e4d02; }

/*==================================== main_visual
====================================*/
#main_visual { width: 100%; height: 300px; position: relative; background-repeat: no-repeat; background-size: cover; background-position: center center; /*& > .search_box:not(.active){
	position: absolute;
	bottom: 20px;
	left: 0;
	right: 0;
	@include ma;
}*/ }
@media screen and (max-width: 768px) { #main_visual { height: 250px; } }
@media screen and (max-width: 414px) { #main_visual { height: 150px; } }
#main_visual .sns { position: absolute; bottom: 30px; right: 70px; z-index: 2; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: flex-end; align-items: center; }
@media screen and (max-width: 1024px) { #main_visual .sns { right: 20px; bottom: 10px; line-height: 1; } }
#main_visual .sns li { margin-left: 30px; }
@media screen and (max-width: 1024px) { #main_visual .sns li { margin-left: 20px; font-size: 13px; } }
#main_visual .sns li:first-child { margin-left: 0; }
#main_visual .sns li a { color: #FFF; }
#main_visual .sns li.insta { font-size: 25px; }

/*======================= breadcrumb
=========================*/
#breadcrumb { margin-top: 20px; }
#breadcrumb ul { font-size: 0; }
#breadcrumb ul li { display: inline-block; position: relative; font-size: 14px; }
@media screen and (max-width: 768px) { #breadcrumb ul li { font-size: 12px; } }
#breadcrumb ul li:after { content: ''; display: inline-block; width: 5px; height: 5px; border-right: 1px solid #2e4d02; border-top: 1px solid #2e4d02; transform: rotate(45deg) translate(-2px, -1px); margin-left: 0.5em; margin-right: 0.5em; }
#breadcrumb ul li:last-of-type:after { display: none; }
#breadcrumb ul li a { position: relative; display: inline-block; }
#breadcrumb ul li a:after { content: ''; display: block; width: 100%; height: 1px; background-color: #2e4d02; position: absolute; left: 0; bottom: 3px; opacity: 0; transition: all 0.2s; }
#breadcrumb ul li a:hover:after { opacity: 1; }
#breadcrumb + .cont { margin-top: 100px; }
@media screen and (max-width: 1024px) { #breadcrumb + .cont { margin-top: 0; } }

/*==================================== contents
====================================*/
#contents { background: url("../images/common/bg01.jpg") repeat; position: relative; z-index: 1; padding-bottom: 150px; }
@media screen and (max-width: 1024px) { #contents { padding-top: 80px; padding-bottom: 80px; } }
#contents::before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+15,ffffff+85,ffffff+100&0+0,1+15,1+85,0+100 */ background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 15%, white 85%, rgba(255, 255, 255, 0) 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 15%, white 85%, rgba(255, 255, 255, 0) 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 15%, white 85%, rgba(255, 255, 255, 0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 ); /* IE6-9 */ z-index: 1; }
#contents > section, #contents > div { position: relative; z-index: 2; }

/*==================================== bg
====================================*/
.bg02 { background: url("../images/common/bg02.jpg") repeat; }

.bg03 { background: url("../images/common/bg03.jpg") repeat; }

/*==================================== footer
====================================*/
#footer { background: url("../images/common/footer_bg.jpg") no-repeat center center/cover; padding-top: 50px; padding-bottom: 20px; text-align: center; color: #FFF; position: relative; overflow: hidden; }
#footer .footer_bg { position: absolute; top: 0; left: 0; width: 100%; height: calc(100% + 300px) !important; z-index: 0; overflow: hidden; }
#footer .footer_bg img { width: 100%; height: 100%; object-fit: cover; object-position: center center; font-family: "object-fit: cover;object-position: center center;"; }
#footer .wrapper { transition-delay: 0.5s; position: relative; z-index: 1; }
#footer .logo { margin-bottom: 40px; /*@media screen and (max-width: 500px) {
	img{
		width: 100px;
	}
}*/ }
@media screen and (max-width: 768px) { #footer .logo { margin-bottom: 30px; } }
#footer .address { font-size: 15px; color: #FFF; margin-bottom: 10px; }
@media screen and (max-width: 1024px) { #footer .address { font-size: 15px; } }
#footer .check { color: #FFF; }
#footer .button { margin-bottom: 30px; }
@media screen and (max-width: 768px) { #footer .button { margin-bottom: 20px; } }
#footer .pages { color: #FFF; font-size: 0; margin-bottom: 50px; }
@media screen and (max-width: 768px) { #footer .pages { margin-bottom: 30px; } }
#footer .pages li { font-size: 15px; /*&:after{
	content: '/';
	display: inline-block;
	margin-left: 0.5em;
	margin-right: 0.5em;
}*/ }
#footer .pages li a { color: #FFF; }
#footer .pages li:last-of-type:after { display: none; }
#footer .copy { font-size: 12px; color: #dedede; margin-top: 90px; }

/*==================================== 見出し
====================================*/
h3.line { font-size: 28px; line-height: 1.5; text-align: center; margin-bottom: 40px; color: #000000; }
@media screen and (max-width: 768px) { h3.line { margin-bottom: 20px; font-size: 24px; } }
h3.line.white { color: #FFF; }
h3.line span { color: #a9a9a9; font-size: 20px; display: block; }
h3.line span.sub_main { font-size: 18px; }
h3.line:before { content: ''; display: block; margin-left: auto; margin-right: auto; width: 30px; height: 1px; background-color: #2e4d02; margin-bottom: 10px; }

/*1文字アクセントカラー*/
.first_c { font-size: 35px; line-height: 1.4; word-break: keep-all; }
@media screen and (max-width: 768px) { .first_c { font-size: 30px; } }
.first_c em { color: #2e4d02; width: 1em; font-style: normal; word-break: keep-all; }

h4.line_horizon { text-align: center; position: relative; margin-bottom: 50px; }
h4.line_horizon:before { content: ''; display: block; width: 100%; max-width: 1200px; margin-left: auto; margin-right: auto; height: 1px; position: absolute; top: 50%; left: 0; right: 0; background-color: #eeeeee; z-index: 0; }
h4.line_horizon span { font-size: 18px; display: inline-block; margin-left: auto; margin-right: auto; font-weight: bold; background-color: #FFF; position: relative; z-index: 1; padding-left: 60px; padding-right: 60px; }

.bg03 h4.line_horizon:before { background: #FFF; }
.bg03 h4.line_horizon span { background: url("../images/common/bg03.jpg") repeat; }

.info .title { margin-bottom: 20px; position: relative; }
.info .title:before { content: ''; display: block; width: 100%; height: 1px; background-color: #eeeeee; position: absolute; left: 0; bottom: 0; z-index: 1; }
.info .title:after { content: ''; display: block; width: 150px; height: 1px; background-color: #2e4d02; position: absolute; left: 0; bottom: 0; z-index: 2; }

/*==================================== button
====================================*/
.button { margin-top: 40px; }
@media screen and (max-width: 414px) { .button { margin-top: 30px; } }
.button a, .button > label { border: 1px solid #2e4d02; position: relative; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; align-items: center; transition: all 0.5s; z-index: 1; cursor: pointer; }
.button a:before, .button > label:before { content: ''; display: block; width: 100%; height: 100%; border: 1px solid #2e4d02; position: absolute; left: 4px; top: 4px; z-index: 2; transition: all 0.5s; z-index: 0; }
.button a:after, .button > label:after { content: ''; display: block; width: 20px; height: 1px; background-color: #bdaf7c; position: absolute; right: 0; top: 50%; z-index: 2; transition: all 0.5s; }
.button a:hover, .button > label:hover { transform: translate(2px, 2px); }
.button a:hover:before, .button > label:hover:before { left: 0px; top: 0px; opacity: 0; }
.button a:hover:after, .button > label:hover:after { -webkit-animation-name: button-line; -webkit-animation-duration: 0.3s; -webkit-animation-delay: 0.2s; -webkit-animation-fill-mode: forwards; -webkit-animation-timing-function: ease-out; animation-name: button-line; animation-duration: 0.3s; animation-delay: 0.2s; animation-fill-mode: forwards; animation-timing-function: ease-out; width: 0; left: calc(100% - 20px); }
@media screen and (min-width: 415px) { .button a, .button > label { max-width: 150px; height: 40px; margin-left: auto; margin-right: auto; } }
@media screen and (max-width: 414px) { .button a, .button > label { height: 50px; } }
.button.white a { color: #FFF; border-color: #bdaf7c; }
.button.white a::before { border-color: #bdaf7c; }
.button.white a::after { background-color: #bdaf7c; }
.button.gray a, .button.gray > label { background-color: #eeeeee; }
.button.gray.blank a:hover:after { background: url("../images/common/ico_blank_g.png") no-repeat center center; }
.button.gray.modal > label:hover:after { background: url("../images/common/ico_modal_g.png") no-repeat center center; }
.button.blank a:after { background: url("../images/common/ico_blank_g.png") no-repeat center center; width: 14px; height: 14px; background-color: transparent; right: 10px; top: 50%; margin-top: -7px; }
.button.blank a:hover:after { background: url("../images/common/ico_blank_w.png") no-repeat center center; right: 10px; left: auto; animation-play-state: paused; }
.button.modal > label:after { background: url("../images/common/ico_modal_g.png") no-repeat center center; width: 14px; height: 14px; background-color: transparent; right: 10px; top: 50%; margin-top: -7px; }
.button.modal > label:hover:after { background: url("../images/common/ico_modal_w.png") no-repeat center center; right: 10px; left: auto; animation-play-state: paused; }

@-webkit-keyframes button-line { 0% { width: 0px; }
  100% { width: 20px; } }
@keyframes button-line { 0% { width: 0px; }
  100% { width: 20px; } }
.button_outer .button_inner p { border: 1px solid #bebebe; position: relative; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; align-items: center; transition: all 0.5s; }
.button_outer .button_inner p:before { content: ''; display: block; width: 20px; height: 1px; background-color: #2e4d02; position: absolute; right: 0; top: 50%; z-index: 2; }
@media screen and (min-width: 415px) { .button_outer .button_inner p { width: 100%; max-width: 200px; height: 36px; margin-left: auto; margin-right: auto; } }
.button_outer:hover a img { opacity: 1; }
.button_outer:hover .button_inner p { background-color: #2a2a2a; border-color: #2a2a2a; color: #FFF; }
.button_outer:hover .button_inner p:before { -webkit-animation-name: button-line; -webkit-animation-duration: 0.3s; -webkit-animation-delay: 0.2s; -webkit-animation-fill-mode: forwards; -webkit-animation-timing-function: ease-out; animation-name: button-line; animation-duration: 0.3s; animation-delay: 0.2s; animation-fill-mode: forwards; animation-timing-function: ease-out; width: 0; left: calc(100% - 20px); }

/*======================= ページ内リンク
=========================*/
@media screen and (min-width: 769px) { .p_link { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; margin-top: 100px; } }
@media screen and (max-width: 768px) { .p_link { margin-top: 40px; } }
.p_link li { height: 55px; }
@media screen and (min-width: 769px) { .p_link li { border-left: 1px solid #bebebe; border-right: 1px solid #bebebe; margin-right: -1px; flex-basis: 400px; max-width: 400px; flex-shrink: 1; flex-grow: 1; } }
@media screen and (max-width: 768px) { .p_link li { border-bottom: 1px solid #bebebe; }
  .p_link li:last-of-type { border-bottom: 0; } }
.p_link li a { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; align-items: center; flex-direction: column; height: 100%; width: 100%; padding-left: 10px; padding-right: 10px; position: relative; transition: all 0.5s; }
.p_link li a:after { content: ''; display: block; width: 10px; height: 10px; border-right: 1px solid #2e4d02; border-bottom: 1px solid #2e4d02; transform: rotate(45deg); transition: all 0.5s; }
.p_link li a:hover { background-color: #eeeeee; }

.type { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: center; }
.type .button_outer { margin-left: 1px; margin-bottom: 1px; }
.type .button_outer a { position: relative; display: block; overflow: hidden; }
.type .button_outer a img { position: relative; z-index: 0; transition: all 0.5s; transform: scale(1); display: block; }
.type .button_outer a .text { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 1; color: #FFF; background-color: rgba(0, 0, 0, 0.25); transition: all 0.5s; text-shadow: 0 0 15px #000; padding: 20px; }
.type .button_outer a .text .title { font-size: 22px; margin-bottom: 40px; text-align: center; width: 100%; word-break: keep-all; }
.type .button_outer a .text .button_inner { width: 80%; }
.type .button_outer a:hover img { transform: scale(1.1); }
.type .button_outer a:hover .text { background-color: rgba(0, 0, 0, 0); }
.type .button_outer a:hover .button_inner p { background-color: #FFF; border-color: #FFF; color: #2a2a2a; text-shadow: 0 0 0 transparent; }
@media screen and (min-width: 415px) { .type.type02 .button_outer { flex-basis: calc(50% - 0.5px); max-width: calc(50% - 0.5px); }
  .type.type02 .button_outer:nth-child(2n+1) { margin-left: 0; }
  .type.type02 .button_outer:nth-last-of-type(-n+2) { margin-bottom: 0; } }
@media screen and (min-width: 415px) { .type.type03 .button_outer { flex-basis: calc(33.333333% - 0.7px); max-width: calc(33.333333% - 0.7px); }
  .type.type03 .button_outer:nth-child(3n+1) { margin-left: 0; }
  .type.type03 .button_outer:nth-last-of-type(-n+3) { margin-bottom: 0; } }

/*======================= リスト
=========================*/
dl.table { font-size: 15px; line-height: 1.6; border: 1px solid #eeeeee; }
@media screen and (min-width: 769px) { dl.table { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; } }
dl.table > dt, dl.table > dd { padding: 20px; display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: center; flex-direction: column; }
dl.table > dt { text-align: center; background-color: #eeeeee; border-bottom: 1px solid #FFF; align-items: center; }
@media screen and (min-width: 769px) { dl.table > dt { flex-basis: 200px; max-width: 200px; } }
@media screen and (max-width: 768px) { dl.table > dt { width: 100%; } }
dl.table > dt:last-of-type { border-bottom: none; }
dl.table > dd { border-bottom: 1px solid #eeeeee; }
@media screen and (min-width: 769px) { dl.table > dd { flex-basis: calc(100% - 200px); max-width: calc(100% - 200px); } }
@media screen and (max-width: 768px) { dl.table > dd { width: 100%; } }
dl.table > dd:last-of-type { border-bottom: none; }

dl.detail { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; font-size: 15px; line-height: 1.6; }
dl.detail > dt, dl.detail > dd { margin-bottom: 10px; }
dl.detail > dt { flex-basis: 100px; max-width: 100px; position: relative; padding-right: 1em; }
dl.detail > dt:after { content: '：'; display: block; position: absolute; right: 0; top: 0; }
dl.detail > dt.wide { margin-bottom: 0; }
dl.detail > dd { flex-basis: calc(100% - 100px); max-width: calc(100% - 100px); }
dl.detail > dd.wide { flex-basis: 100%; max-width: 100%; }

ul.square li { padding-left: 1.5em; position: relative; }
ul.square li:before { content: '■'; display: block; position: absolute; top: 0; left: 0; }

/*======================= boxes
=========================*/
.boxes.box2, .boxes.box3, .boxes.box4 { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; margin-bottom: 50px; }
@media screen and (max-width: 768px) { .boxes.box2, .boxes.box3, .boxes.box4 { margin-bottom: 30px; } }
.boxes.box2:last-child, .boxes.box3:last-child, .boxes.box4:last-child { margin-bottom: 0; }
@media screen and (min-width: 769px) { .boxes.box2 > div, .boxes.box3 > div, .boxes.box4 > div { flex-grow: 0; flex-shrink: 0; margin-left: 50px; margin-top: 50px; } }
@media screen and (max-width: 768px) { .boxes.box2 > div, .boxes.box3 > div, .boxes.box4 > div { margin-top: 30px; }
  .boxes.box2 > div:first-child, .boxes.box3 > div:first-child, .boxes.box4 > div:first-child { margin-top: 0; } }
.boxes.box2 > div figure, .boxes.box3 > div figure, .boxes.box4 > div figure { text-align: center; }
.boxes.box2 > div figure img, .boxes.box3 > div figure img, .boxes.box4 > div figure img { width: 100%; }
.boxes.box2 > div figure video, .boxes.box3 > div figure video, .boxes.box4 > div figure video { width: 100%; }
.boxes.box2 > div h4, .boxes.box3 > div h4, .boxes.box4 > div h4 { font-size: 18px; margin-bottom: 20px; }
@media screen and (min-width: 769px) { .boxes.box2 > div .button a, .boxes.box2 > div .button > label, .boxes.box3 > div .button a, .boxes.box3 > div .button > label, .boxes.box4 > div .button a, .boxes.box4 > div .button > label { margin-left: 0; } }
@media screen and (min-width: 769px) { .boxes.box2 > div { flex-basis: calc(50% - 25px); max-width: calc(50% - 25px); }
  .boxes.box2 > div:nth-child(2n+1) { margin-left: 0; }
  .boxes.box2 > div:nth-child(-n+2) { margin-top: 0; } }
.boxes.box2 > div figure { margin-bottom: 20px; }
@media screen and (max-width: 768px) { .boxes.box2 > div figure { margin-bottom: 10px; } }
.boxes.box3 > div { /*@media screen and (max-width: 768px) {
	padding-left: 20px;
	padding-right: 20px;
}*/ }
@media screen and (max-width: 768px) and (min-width: 415px) { .boxes.box3 > div { flex-grow: 0; flex-shrink: 0; margin-left: 30px; margin-top: 30px; } }
@media screen and (max-width: 768px) and (min-width: 415px) { .boxes.box3 > div { flex-basis: calc(50% - 15px); max-width: calc(50% - 15px); }
  .boxes.box3 > div:nth-child(2n+1) { margin-left: 0; }
  .boxes.box3 > div:nth-child(-n+2) { margin-top: 0; } }
@media screen and (min-width: 769px) { .boxes.box3 > div { flex-basis: calc(533.333333% - 34px); max-width: calc(33.333333% - 34px); margin-left: 51px; }
  .boxes.box3 > div:nth-child(3n+1) { margin-left: 0; }
  .boxes.box3 > div:nth-child(-n+3) { margin-top: 0; } }
.boxes.box3 > div figure { margin-bottom: 10px; }
@media screen and (max-width: 768px) { .boxes.box3 > div figure { margin-bottom: 10px; } }
.boxes.icon_list > div { border: 1px solid #eeeeee; padding: 20px; }
@media screen and (max-width: 768px) and (min-width: 415px) { .boxes.icon_list > div { flex-basis: calc(33.333333% - 6.666666px); max-width: calc(33.333333% - 6.666666px); margin-left: 10px; margin-top: 10px; }
  .boxes.icon_list > div:nth-child(3n+1) { margin-left: 0; }
  .boxes.icon_list > div:nth-child(-n+3) { margin-top: 0; } }
@media screen and (max-width: 414px) { .boxes.icon_list > div { flex-basis: calc(50% - 5px); max-width: calc(50% - 5px); margin-left: 10px; margin-top: 10px; }
  .boxes.icon_list > div:nth-child(2n+1) { margin-left: 0; }
  .boxes.icon_list > div:nth-child(-n+2) { margin-top: 0; } }
.boxes.icon_list > div figure { margin-bottom: 0; }
.boxes.icon_list > div figure img { width: auto; }

/*======================= cont_lr
=========================*/
.cont_lr { margin-top: 50px; }
@media screen and (min-width: 769px) { .cont_lr { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; } }
.cont_lr:first-of-type { margin-top: 0; }
.cont_lr:after { content: ''; display: block; clear: both; }
@media screen and (min-width: 769px) { .cont_lr > .image, .cont_lr > .text { flex-basis: 50%; max-width: 50%; flex-shrink: 0; }
  .cont_lr.img_r .text { order: 1; padding-left: 10px; padding-right: 8.333333%; }
  .cont_lr.img_r .image { order: 2; }
  .cont_lr.img_l .text { order: 2; padding-right: 10px; padding-left: 8.333333%; }
  .cont_lr.img_l .image { order: 1; } }
.cont_lr .text { padding-top: 20px; }
@media screen and (min-width: 769px) { .cont_lr .text .button a, .cont_lr .text .button > label { margin-left: 0; } }
.cont_lr .text .detail { margin-top: 30px; }
@media screen and (max-width: 768px) { .cont_lr .text .detail { margin-top: 20px; } }
.cont_lr .image img { width: 100%; display: block; }
.cont_lr h4 { font-size: 22px; line-height: 1.6; margin-bottom: 30px; }
@media screen and (max-width: 1024px) { .cont_lr h4 { margin-bottom: 20px; font-size: 18px; } }

/*======================= text_cont
=========================*/
.text_cont h4 { font-size: 22px; line-height: 1.6; margin-bottom: 30px; }
@media screen and (max-width: 1024px) { .text_cont h4 { margin-bottom: 20px; font-size: 18px; } }
@media screen and (min-width: 769px) { .text_cont .text .info { margin-top: 40px; width: 440px; } }
@media screen and (max-width: 768px) { .text_cont .text .info { margin-top: 20px; } }

@media screen and (min-width: 769px) { .text_lr { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
  .text_lr > .text { flex-basis: 52.083334%; max-width: 52.083334%; flex-shrink: 0; padding-left: 10px; padding-right: 4.166666%; }
  .text_lr > .text .button a, .text_lr > .text .button > label { margin-left: 0; }
  .text_lr > .info { flex-basis: 47.916666%; max-width: 47.916666%; flex-shrink: 0; }
  .text_lr > .info.bg_accent { padding: 30px 20px; } }
@media screen and (max-width: 768px) { .text_lr > .info { margin-top: 20px; }
  .text_lr > .info.bg_accent { padding: 20px 20px; }
  .text_lr .text { padding-left: 10px; padding-right: 10px; } }

.text_wide .text { padding-left: 10px; padding-right: 10px; }

/*=======================
	modal
=========================*/
.modal_button { display: none; }

.modal_wrapper { position: fixed; z-index: 100000; top: 0; left: 0; width: 100%; height: 100vh; display: none; }
.modal_wrapper .modal_inner { width: auto; max-width: 80%; background: #fff; border-radius: 3px; box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.2); padding: 20px; text-align: center; position: relative; -webkit-animation: fadein .3s 1, zoomin .3s 1; animation: fadein .3s 1, zoomin .3s 1; }
.modal_wrapper .modal_inner .modal_close { position: absolute; top: -20px; right: -20px; display: flex; align-items: center; justify-content: center; line-height: 1; background: #2a2a2a; border-radius: 50%; width: 40px; height: 40px; cursor: pointer; transition: all .2s ease; }
.modal_wrapper .modal_inner .modal_close span { width: 30px; height: 30px; display: block; position: relative; }
.modal_wrapper .modal_inner .modal_close span:after { content: ''; display: block; width: 20px; height: 2px; background-color: #FFF; position: absolute; top: 50%; left: 20%; transform: rotate(45deg); }
.modal_wrapper .modal_inner .modal_close span:before { content: ''; display: block; width: 20px; height: 2px; background-color: #FFF; position: absolute; top: 50%; left: 20%; transform: rotate(-45deg); }
.modal_wrapper .modal_inner figure img { display: block; }
.modal_wrapper .modal_inner figure figcaption { margin-top: 10px; font-weight: bold; }

.modal_button:checked + .modal_wrapper { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; align-items: center; justify-content: center; background-color: rgba(0, 0, 0, 0.5); -webkit-animation: fadein .3s 1; animation: fadein .3s 1; }

@-webkit-keyframes fadein { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes fadein { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-webkit-keyframes zoomin { 0% { transform: scale(0.9); }
  100% { transform: scale(1); } }
@keyframes zoomin { 0% { transform: scale(0.9); }
  100% { transform: scale(1); } }
/*=======================
	Inview Animation
=========================*/
.fadein { opacity: 0; transition: all 3s; }
@media screen and (max-width: 1024px) { .fadein { transition: all 3s; } }
.fadein.show { opacity: 1.0; }
.fadein.fade_left { -webkit-transform: translateX(-50px); -moz-transform: translateX(-50px); transform: translateX(-50px); }
.fadein.fade_left.show { -webkit-transform: translateX(0); -moz-transform: translateX(0); transform: translateX(0); }
.fadein.fade_right { -webkit-transform: translateX(50px); -moz-transform: translateX(50px); transform: translateX(50px); }
.fadein.fade_right.show { -webkit-transform: translateX(0); -moz-transform: translateX(0); transform: translateX(0); }
.fadein.fade_upper { -webkit-transform: translateY(-50px); -moz-transform: translateY(-50px); transform: translateY(-50px); }
.fadein.fade_upper.show { -webkit-transform: translateY(0); -moz-transform: translateY(0); transform: translateY(0); }
.fadein.fade_bottom { -webkit-transform: translateY(50px); -moz-transform: translateY(50px); transform: translateY(50px); }
.fadein.fade_bottom.show { -webkit-transform: translateY(0); -moz-transform: translateY(0); transform: translateY(0); }

/*=======================
	lead
=========================*/
#lead h3 { font-size: 30px; text-align: center; }
#lead h3 span { display: block; font-size: 20px; color: #bebebe; }
@media screen and (max-width: 768px) { #lead h3 { font-size: 24px; line-height: 1.4; }
  #lead h3 span { font-size: 18px; } }
#lead .cont_lr { margin-top: 50px; }
#lead .cont_lr .text { background-size: calc(100% - 16.666666%); background-repeat: no-repeat; background-position: left bottom; }
@media screen and (max-width: 768px) { #lead .cont_lr .text { background-size: contain; padding-bottom: 20px; padding-top: 0; } }

/*======================= スライダー
=========================*/
.slider-container { position: relative; }
.slider-container .slick-slider { margin-bottom: 0; }
.slider-container .arrows .slick-prev, .slider-container .arrows .slick-next { width: 40px; height: 70px; z-index: 2; }
.slider-container .arrows .slick-prev::before, .slider-container .arrows .slick-next::before { display: none; }
.slider-container .arrows .slick-prev { left: -55px; }
.slider-container .arrows .slick-next { right: -55px; }
.slider-container .slick-dots { bottom: 20px; }
.slider-container .slick-dots li button:before { width: 16px; height: 16px; content: ''; background-color: #FFF; border-radius: 50%; opacity: 1; }
.slider-container .slick-dots li.slick-active button:before { background-color: #2e4d02; }

/*======================= 余白
=========================*/
.pb0 { padding-bottom: 0 !important; }

.pt0 { padding-top: 0 !important; }

.mb0 { margin-bottom: 0 !important; }

.mt0 { margin-top: 0 !important; }

/*# sourceMappingURL=common.css.map */
