
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@charset "UTF-8";
/* reset -------- */
*, *::before, *::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	-webkit-text-size-adjust: 100%;
	line-height: 1;
	overflow-y: scroll;
}
body {
	position: relative;
	margin: 0;
	padding: 0;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 400;
}
article, aside, figure, footer, header, hgroup, nav, section {
	display: block;
}
img, object, embed {
	border-style: none;
	vertical-align: middle;
}
img {
	max-width: 100%;
	height: auto;
	line-height: 0;
}
table {
	border-spacing: 0;
	border-collapse: collapse;
}
th {
	text-align: left;
}
em {
	font-style: normal;
	font-weight: bold;
}
a {
	color: inherit;
	text-decoration: none;
	background-color: transparent;
}
button {
	background: none;
	border: none;
	cursor: pointer;
	margin: 0;
	padding: 0;
}
video {
	width: 100%;
}
input:focus {
	outline: 0;
	border-color: orange;
}
input[type=submit] {
	-webkit-appearance: none;
}
sup {
	vertical-align: super;
	font-size: 80%;
}
sub {
	vertical-align: sub;
	font-size: 80%;
}
hr {
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
}
b, strong {
	font-weight: bolder;
}
code, kbd, samp {
	font-family: monospace, monospace;
	font-size: 1em;
}
/* Forms
	 ========================================================================== */
button, input, optgroup, select, textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button, input {
	overflow: visible;
}
button, select {
	text-transform: none;
}
button, [type='button'], [type='reset'], [type='submit'] {
	-webkit-appearance: button;
}
button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
button:-moz-focusring, [type='button']:-moz-focusring, [type='reset']:-moz-focusring, [type='submit']:-moz-focusring {
	outline: 1px dotted ButtonText;
}
fieldset {
	padding: 0.35em 0.75em 0.625em;
}
legend {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="checkbox"], [type="radio"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}
/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}
/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}
/*** common ***/
html {
	font-family: 'Noto Sans JP', sans-serif;
	//font-weight: 500;
	font-size: 16px !important;
	color: #333333;
}
@media (max-width: 768px) {
	html {
		font-size: 14px !important;
	}
}
@media (max-width: 768px) {
	.pc {
		display: none !important;
	}
}
@media (min-width: 769px) {
	.sp {
		display: none !important;
	}
}
/* all -------- */
.clearfix {
	zoom: 1;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix .left {
	float: left;
}
.clearfix .right {
	float: right;
}


/*** column ***/
.row,
*[class*="column_"]{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.row > * {
}
.col {
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.col2,
.column_2 > *{
    width: 50%;
    width: calc(100% / 2 - 1px);
    max-width: calc(100% / 2);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.col3,
.column_3 > *{
    width: 32%;
    width: calc(100% / 3 - 1px);
    max-width: calc(100% / 3);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.col4,
.column_4 > *{
    width: 25%;
    width: calc(100% / 4 - 1px);
    max-width: calc(100% / 4);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.col5,
.column_5 > *{
    width: 20%;
    width: calc(100% / 5 - 1px);
    max-width: calc(100% / 5);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.col6,
.column_6 > *{
    width: 16%;
    width: calc(100% / 6 - 1px);
    max-width: calc(100% / 6);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
.col_inner {
    display: block;
    width: 100%;
    height: 100%;
}


.gap_5{
	margin-left: -1vw;
	margin-bottom: -1vw;
}
.gap_5 > *{
	padding-left: 1vw;
	padding-bottom: 1vw;
}
.gap_10{
	margin-left: -2vw;
	margin-bottom: -2vw;
}
.gap_10 > *{
	padding-left: 2vw;
	padding-bottom: 2vw;
}
.gap_15{
	margin-left: -3vw;
	margin-bottom: -3vw;
}
.gap_15 > *{
	padding-left: 3vw;
	padding-bottom: 3vw;
}
.gap_20{
	margin-left: -4vw;
	margin-bottom: -4vw;
}
.gap_20 > *{
	padding-left: 4vw;
	padding-bottom: 4vw;
}
.gap_30{
	margin-left: -6vw;
	margin-bottom: -6vw;
}
.gap_30 > *{
	padding-left: 6vw;
	padding-bottom: 6vw;
}
.gap_40{
	margin-left: -8vw;
	margin-bottom: -8vw;
}
.gap_40 > *{
	padding-left: 8vw;
	padding-bottom: 8vw;
}
.gap_50{
	margin-left: -10vw;
	margin-bottom: -10vw;
}
.gap_50 > *{
	padding-left: 10vw;
	padding-bottom: 10vw;
}
.gap_60{
	margin-left: -12vw;
	margin-bottom: -12vw;
}
.gap_60 > *{
	padding-left: 12vw;
	padding-bottom: 12vw;
}

@media (min-width: 769px) {
	.gap_5{
		margin-left: -0.5vw;
		margin-bottom: -0.5vw;
	}
	.gap_5 > *{
		padding-left: 0.5vw;
		padding-bottom: 0.5vw;
	}
	.gap_10{
		margin-left: -1vw;
		margin-bottom: -1vw;
	}
	.gap_10 > *{
		padding-left: 1vw;
		padding-bottom: 1vw;
	}
	.gap_15{
		margin-left: -1.5vw;
		margin-bottom: -1.5vw;
	}
	.gap_15 > *{
		padding-left: 1.5vw;
		padding-bottom: 1.5vw;
	}
	.gap_20{
		margin-left: -2vw;
		margin-bottom: -2vw;
	}
	.gap_20 > *{
		padding-left: 2vw;
		padding-bottom: 2vw;
	}
	.gap_30{
		margin-left: -3vw;
		margin-bottom: -3vw;
	}
	.gap_30 > *{
		padding-left: 3vw;
		padding-bottom: 3vw;
	}
	.gap_40{
		margin-left: -4vw;
		margin-bottom: -4vw;
	}
	.gap_40 > *{
		padding-left: 4vw;
		padding-bottom: 4vw;
	}
	.gap_50{
		margin-left: -5vw;
		margin-bottom: -5vw;
	}
	.gap_50 > *{
		padding-left: 5vw;
		padding-bottom: 5vw;
	}
	.gap_60{
		margin-left: -6vw;
		margin-bottom: -6vw;
	}
	.gap_60 > *{
		padding-left: 6vw;
		padding-bottom: 6vw;
	}
}
@media (min-width: 1200px) {
	.gap_5{
		margin-left: -5px;
		margin-bottom: -5px;
	}
	.gap_5 > *{
		padding-left: 5px;
		padding-bottom: 5px;
	}
	.gap_10{
		margin-left: -10px;
		margin-bottom: -10px;
	}
	.gap_10 > *{
		padding-left: 10px;
		padding-bottom: 10px;
	}
	.gap_15{
		margin-left: -15px;
		margin-bottom: -15px;
	}
	.gap_15 > *{
		padding-left: 15px;
		padding-bottom: 15px;
	}
	.gap_20{
		margin-left: -20px;
		margin-bottom: -20px;
	}
	.gap_20 > *{
		padding-left: 20px;
		padding-bottom: 20px;
	}
	.gap_30{
		margin-left: -30px;
		margin-bottom: -30px;
	}
	.gap_30 > *{
		padding-left: 30px;
		padding-bottom: 30px;
	}
	.gap_40{
		margin-left: -40px;
		margin-bottom: -40px;
	}
	.gap_40 > *{
		padding-left: 40px;
		padding-bottom: 40px;
	}
	.gap_50{
		margin-left: -50px;
		margin-bottom: -50px;
	}
	.gap_50 > *{
		padding-left: 50px;
		padding-bottom: 50px;
	}
	.gap_60{
		margin-left: -60px;
		margin-bottom: -60px;
	}
	.gap_60 > *{
		padding-left: 60px;
		padding-bottom: 60px;
	}
}

@media (max-width: 768px) {
    .row > *,
	*[class*="column_"] > *{
        width: 100%;
        max-width: none;
    }
    .row_sp{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .row_sp > *{
			width: auto;
    }
    .col_sp {
        width: 100%;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }
    .col2_sp,
	.column_2_sp > *{
        width: 50%;
        width: calc(100% / 2 - 1px);
        max-width: calc(100% / 2);
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }
    .col3_sp,
	.column_3_sp > *{
        width: 32%;
        width: calc(100% / 3 - 1px);
        max-width: calc(100% / 3);
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }
    .col4_sp,
	.column_4_sp > *{
        width: 25%;
        width: calc(100% / 4 - 1px);
        max-width: calc(100% / 4);
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }
    .col5_sp,
	.column_5_sp > *{
        width: 20%;
        width: calc(100% / 5 - 1px);
        max-width: calc(100% / 5);
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }
    .col6_sp,
	.column_6_sp > *{
        width: 16%;
        width: calc(100% / 6 - 1px);
        max-width: calc(100% / 6);
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }
	
	.gap_5_sp{
		margin-left: -5px;
		margin-bottom: -5px;
	}
	.gap_5_sp > *{
		padding-left: 5px;
		padding-bottom: 5px;
	}
	.gap_10_sp{
		margin-left: -10px;
		margin-bottom: -10px;
	}
	.gap_10_sp > *{
		padding-left: 10px;
		padding-bottom: 10px;
	}
	.gap_15_sp{
		margin-left: -15px;
		margin-bottom: -15px;
	}
	.gap_15_sp > *{
		padding-left: 15px;
		padding-bottom: 15px;
	}
	.gap_20_sp{
		margin-left: -20px;
		margin-bottom: -20px;
	}
	.gap_20_sp > *{
		padding-left: 20px;
		padding-bottom: 20px;
	}
	.gap_30_sp{
		margin-left: -30px;
		margin-bottom: -30px;
	}
	.gap_30_sp > *{
		padding-left: 30px;
		padding-bottom: 30px;
	}
	.gap_40_sp{
		margin-left: -40px;
		margin-bottom: -40px;
	}
	.gap_40_sp > *{
		padding-left: 40px;
		padding-bottom: 40px;
	}
	.gap_50_sp{
		margin-left: -50px;
		margin-bottom: -50px;
	}
	.gap_50_sp > *{
		padding-left: 50px;
		padding-bottom: 50px;
	}
	.gap_60_sp{
		margin-left: -60px;
		margin-bottom: -60px;
	}
	.gap_60_sp > *{
		padding-left: 60px;
		padding-bottom: 60px;
	}
}




/*** floatbox ***/
.floatbox {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
}
.floatbox .thumb_wrap {
	width: 120px;
}
.floatbox .text_wrap {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	padding: 0px 0px 0px 20px !important;
}
@media (max-width: 768px) {
	.floatbox_sp {
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
	}
	.floatbox_sp .thumb_wrap {
		width: 120px;
	}
	.floatbox_sp .text_wrap {
		-webkit-box-flex: 1;
		-ms-flex: 1;
		flex: 1;
		padding: 0px 0px 0px 20px !important;
	}
}
/*** table 横スライド用 ***/
@media (max-width: 768px) {
	.tableslide_sp {
		overflow-x: scroll;
		margin-right: -10px;
		padding-bottom: 10px;
	}
	.tableslide_sp td {
		white-space: nowrap;
	}
}
/***　アニメーション ***/
.effect {
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.effect_left {
	opacity: 0;
	-webkit-transform: translate3d(50px, 0, 0);
	transform: translate3d(50px, 0, 0);
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.effect_left.active {
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.effect_right {
	opacity: 0;
	-webkit-transform: translate3d(-50px, 0, 0);
	transform: translate3d(-50px, 0, 0);
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.effect_right.active {
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.effect_up {
	opacity: 0;
	-webkit-transform: translate3d(0, 50px, 0);
	transform: translate3d(0, 50px, 0);
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.effect_up.active {
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.effect_show {
	opacity: 0;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.effect_show.active {
	opacity: 1;
}
.effect_wide {
	-webkit-transform: scale3d(0, 1, 1);
	transform: scale3d(0, 1, 1);
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.effect_wide.active {
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
}
@media (max-width: 768px) {
	/*
  	.effect_left{
  		opacity: 1;
  		transform: translate3d(0%,0,0);
  	}
  	.effect_right{
  		opacity: 1;
  		transform: translate3d(0%,0,0);
  	}
  	.effect_top{
  		opacity: 1;
  		transform: translate3d(0,0%,0);
  	}
  	.effect_show{
  		opacity: 1;
  	}
  */
}
@-webkit-keyframes effect_wide {
	0% {
		-webkit-transform: scale3d(0, 1, 1);
		transform: scale3d(0, 1, 1);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0;
	}
	100% {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}
@keyframes effect_wide {
	0% {
		-webkit-transform: scale3d(0, 1, 1);
		transform: scale3d(0, 1, 1);
		-webkit-transform-origin: 0 0;
		transform-origin: 0 0;
	}
	100% {
		-webkit-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}
/*** parts ****/
.thumb img {
	/*width: 100%;*/
}
.icon_left {
	display: inline-block;
	margin-right: 10px;
	line-height: 0;
}
.icon_right {
	display: inline-block;
	margin-left: 10px;
	line-height: 0;
}
/*** scale ***/
.thumb.scale a, a.scale .thumb {
	display: block;
	overflow: hidden;
}
.thumb.scale a img, a.scale .thumb img {
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	-webkit-transform: scale(1);
	transform: scale(1);
}
.thumb.scale a:hover img, a.scale:hover .thumb img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
/*** slick用 スライダー ***/
.slider {
	opacity: 0;
	-webkit-transition: opacity 0.3s linear;
	transition: opacity 0.3s linear;
}
.slider.slick-initialized {
	opacity: 1;
}
/*** font ***/
.alC {
	text-align: center !important;
}
.alR {
	text-align: right !important;
}
.alL {
	text-align: left !important;
}
.f_small {
	font-size: 90% !important;
}
.f_xsmall {
	font-size: 80% !important;
}
.f_xxsmall {
	font-size: 70% !important;
}
.f_xxxsmall {
	font-size: 60% !important;
}
.f_large {
	font-size: 110% !important;
}
.f_xlarge {
	font-size: 120% !important;
}
.f_xxlarge {
	font-size: 130% !important;
}
.f_xxxlarge {
	font-size: 140% !important;
}
.f_bold {
	font-weight: bold !important;
}
.f_nomal {
	font-weight: normal!important;
}
.f_underline {
	text-decoration: underline;
	text-underline-offset: 5px; 
	text-decoration-thickness: 1px;
}
.f_black {
	color: #000000 !important;
}
.f_white {
	color: #FFFFFF !important;
}
.f_bg_yellow {
	display: inline;
	background-color: #ffe6c8;
}
.f_line_yellow {
	display: inline;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), color-stop(54%, rgba(255, 240, 198, 0)), color-stop(55%, #fff0c5), to(#fff0c5));
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 240, 198, 0) 54%, #fff0c5 55%, #fff0c5 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00ffffff", endColorstr="#fff0c5", GradientType=0);
}
.f_link {
	text-decoration: none;
	-webkit-transition: color 0.3s ease;
	transition: color 0.3s ease;
}
.f_link:hover {
	color: #69318e;
	/*text-decoration: none;*/
}

@media (max-width: 768px) {
	.alC_sp {
		text-align: center !important;
	}
	.alR_sp {
		text-align: right !important;
	}
	.alL_sp {
		text-align: left !important;
	}
}


/*** margin ***/
.mb0 {
	margin-bottom: 0px !important;
}
.mb5 {
	margin-bottom: 5px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.mb15 {
	margin-bottom: 15px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb25 {
	margin-bottom: 25px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb35 {
	margin-bottom: 35px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.mb70 {
	margin-bottom: 70px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.mb90 {
	margin-bottom: 90px !important;
}
.mb100 {
	margin-bottom: 100px !important;
}
.mt0 {
	margin-top: 0px !important;
}
.mt5 {
	margin-top: 5px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mt25 {
	margin-top: 25px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mt35 {
	margin-top: 35px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mt60 {
	margin-top: 60px !important;
}
.mt70 {
	margin-top: 70px !important;
}
.mt80 {
	margin-top: 80px !important;
}
.mt90 {
	margin-top: 90px !important;
}
.mt100 {
	margin-top: 100px !important;
}
/*** padding ***/
.pb0 {
	padding-bottom: 0px !important;
}
.pb5 {
	padding-bottom: 5px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.pb15 {
	padding-bottom: 15px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}
.pb25 {
	padding-bottom: 25px !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.pb35 {
	padding-bottom: 35px !important;
}
.pb40 {
	padding-bottom: 40px !important;
}
.pb50 {
	padding-bottom: 50px !important;
}
.pb60 {
	padding-bottom: 60px !important;
}
.pb70 {
	padding-bottom: 70px !important;
}
.pb80 {
	padding-bottom: 80px !important;
}
.pb90 {
	padding-bottom: 90px !important;
}
.pb100 {
	padding-bottom: 100px !important;
}
.pt0 {
	padding-top: 0px !important;
}
.pt5 {
	padding-top: 5px !important;
}
.pt10 {
	padding-top: 10px !important;
}
.pt15 {
	padding-top: 15px !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pt25 {
	padding-top: 25px !important;
}
.pt30 {
	padding-top: 30px !important;
}
.pt35 {
	padding-top: 35px !important;
}
.pt40 {
	padding-top: 40px !important;
}
.pt50 {
	padding-top: 50px !important;
}
.pt60 {
	padding-top: 60px !important;
}
.pt70 {
	padding-top: 70px !important;
}
.pt80 {
	padding-top: 80px !important;
}
.pt90 {
	padding-top: 90px !important;
}
.pt100 {
	padding-top: 100px !important;
}
/* wide ********/
.wide_par5 {
	width: 5% !important;
}
.wide_par10 {
	width: 10% !important;
}
.wide_par15 {
	width: 15% !important;
}
.wide_par20 {
	width: 20% !important;
}
.wide_par25 {
	width: 25% !important;
}
.wide_par30 {
	width: 30% !important;
}
.wide_par35 {
	width: 35% !important;
}
.wide_par40 {
	width: 40% !important;
}
.wide_par45 {
	width: 45% !important;
}
.wide_par50 {
	width: 50% !important;
}
.wide_par55 {
	width: 55% !important;
}
.wide_par60 {
	width: 60% !important;
}
.wide_par65 {
	width: 65% !important;
}
.wide_par70 {
	width: 70% !important;
}
.wide_par75 {
	width: 75% !important;
}
.wide_par80 {
	width: 80% !important;
}
.wide_par85 {
	width: 85% !important;
}
.wide_par90 {
	width: 90% !important;
}
.wide_par95 {
	width: 95% !important;
}
.wide_par100 {
	width: 100% !important;
}
.wide_50 {
	width: 50px !important;
}
.wide_100 {
	width: 100px !important;
}
.wide_150 {
	width: 150px !important;
}
.wide_200 {
	width: 200px !important;
}
.wide_250 {
	width: 250px !important;
}
.wide_300 {
	width: 300px !important;
}
.wide_350 {
	width: 350px !important;
}
.wide_400 {
	width: 400px !important;
}
.wide_450 {
	width: 450px !important;
}
.wide_500 {
	width: 500px !important;
}
.wide_550 {
	width: 550px !important;
}


/*** youtube ***/
.youtube, .wp-block-embed__wrapper {
	width: 100%;
	padding-bottom: calc(100% * 340 / 600);
	height: 0px;
	position: relative;
	margin-bottom: 30px;
}
.youtube iframe, .wp-block-embed__wrapper iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
/*** width ***/
.full_width {
	width: 100vw;
	margin-left: calc((100vw - 100%) / -2);
	margin-right: calc((100vw - 100%) / -2);
}
/*** hover ***/
.hover_opacity {
	opacity: 1;
	-webkit-transition: opacity 0.3s ease, -webkit-filter 0.3s ease;
	transition: opacity 0.3s ease, -webkit-filter 0.3s ease;
	transition: opacity 0.3s ease, filter 0.3s ease;
	transition: opacity 0.3s ease, filter 0.3s ease, -webkit-filter 0.3s ease;
}
.hover_opacity:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}
.hover_reverse {
	display: block;
	position: relative;
}
.hover_reverse .btn_on {
	position: absolute;
	left: 0px;
	top: 0px;
	opacity: 0;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.hover_reverse .btn_off {
	opacity: 1;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.hover_reverse:hover .btn_on {
	opacity: 1;
}
.hover_reverse:hover .btn_off {
	opacity: 0;
}
/*** table_basic ***/
.table_basic {
	border-left: 1px solid #CCCCCC;
	border-top: 1px solid #CCCCCC;
}
.table_basic th {
	padding: 10px 10px;
	vertical-align: top;
	text-align: left;
	background-color: #0f7c4f;
	color: #FFFFFF;
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}
.table_basic td {
	padding: 20px 15px;
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}
@media (max-width: 768px) {
}
/***　accordion_list　***/
.accordion_list dl {}
.accordion_list dl:not(:last-child) {}
.accordion_list dt {
	position: relative;
}
.accordion_list dt:hover {
	cursor: pointer;
}
.accordion_list dt:after {
	content: "";
	display: inline-block;
	background: url("../images/common/icon_up.svg") left top no-repeat;
	background-size: contain;
	width: 17px;
	height: 11px;
	position: absolute;
	right: 60px;
	top: 50%;
	transform: translate3d(0, -50%, 0);
	transition: transform 0.3s ease;
}
.accordion_list dd {
	overflow: hidden;
	height: 0px;
	transition: height 0.3s ease;
}
.accordion_list dd .inner {
	position: relative;
}
.accordion_list dl.active dt:after {
	transform: translate3d(0, -50%, 0) rotate(180deg);
}
@media (max-width: 768px) {
	.accordion_list dl:not(:last-child) {}
	.accordion_list dt:after {
		right: 20px;
	}
	.accordion_list dt {}
	.accordion_list dd .inner {}
}
/*** crumb ***/
.crumb ul {
	font-size: 0;
	padding-top: 15px;
	padding-bottom: 30px;
	text-align: right;
}
.crumb ul li {
	display: inline;
	font-size: 0.75rem;
}
.crumb ul li a:after {
	content: "\FF1E";
	display: inline;
	padding-left: 5px;
	padding-right: 5px;
}
.crumb ul li a {
	color: #666666;
	-webkit-transition: 0.3s color ease;
	transition: 0.3s color ease;
}
.crumb ul li a:hover {
	color: #002E78;
}
/*** image ***/
.thumb img {
	width: 100%;
	height: auto;
}

/**** pageNavi ****/
.pageNaviWrap {
	margin-top: 80px;
}
.pageNaviWrap:after {
	clear: both;
}
.pageNavi {
	display: flex;
	justify-content: center;
	grid-gap: 10px;
}
.pageNavi > a,
.pageNavi > span{
	font-size: 0.88rem;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid #e17837;
	border-radius: 100%;
	background-color: #FFFFFF;
	color: #e17837;
}
.pageNavi a{
	transition: color 0.3s ease,
		background-color 0.3s ease;
}
.pageNavi a:hover,
.pageNavi .current{
	color: #FFFFFF;
	background-color: #e17837;
}
.pageNavi a.back{
}
.pageNavi a.next{
}
.pageNavi a.back,
.pageNavi a.next{
}
.pageNavi a.back:hover,
.pageNavi a.next:hover{
}
.pageNavi .current {
}
.pageNavi .space {
	border: none;
	margin-left: 0px;
	margin-right: 0px;
}

.arrow_left{
	transition: background-color 0.3s ease;	
	content: "";
	display: inline-block;
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z" /></svg>');
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z" /></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}
.arrow_right{
	transition: background-color 0.3s ease;	
	content: "";
	display: inline-block;
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z" /></svg>');
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z" /></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
}
a:hover .arrow_left,
a:hover .arrow_right{
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}

@media (max-width: 768px) {
	.pageNaviWrap {
		margin-top: 40px;
	}
	.pageNavi > a,
	.pageNavi > span{
		width: 30px;
		height: 30px;
	}
	.arrow_left,
	.arrow_right{
		width: 12px;
		height: 11px;
	}
}




/*** gmap ***/
.gmap{
	border: 1px solid #dcdcdc;
}
.gmap iframe {
	width: 100%;
	height: 480px;
	/*-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	filter: grayscale(100%);*/
}
@media (max-width: 768px) {
	.gmap{
	}
	.gmap iframe {
		height: 250px;
	}
}
/* layout -------- */
#wrapper {
	overflow: hidden;
	width: 100%;
}
.container {
	/* max-width: 1200px; */
	width:auto !important ;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}
.main_content {
}
.side_content {
}
.content_1col {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.content_2col {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.content_2col .main_content {
	width: 70%;
}
.content_2col .side_content {
	width: 25%;
}
@media (max-width: 1280px) {
	.container {
		padding-left: 40px;
		padding-right: 40px;
	}
}
@media (max-width: 768px) {
	.container {
		padding-left: 20px;
		padding-right: 20px;
	}
	.main_content {
	}
	.side_content {
	}
	.content_2col {
		display: block;
	}
	.content_2col .main_content {
		width: 100%;
	}
	.content_2col .side_content {
		width: 100%;
	}
}
/*** text ***/
h1, h2, h3, h4, h5, h6, .f_mincho{
	//font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}
h1, h2, h3, h4, h5, h6, p, li, th, td, address, small, i {
	margin: 0;
	padding: 0;
	line-height: 1.7;
}
ol, ul, dl, dt, dd {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.thumb_wrap{
	text-align: center;
}
.thumb img{
    width: 100%;
}

@media (min-width: 769px) {
	/*a{
		transition: color 0.3s ease;
	}
	a:hover{
		color: #0f7c4f;
	}*/
	a img{
		transition: opacity 0.3s ease;
	}
	a:hover > img{
		opacity: 0.8;
	}
}
@media (max-width: 768px) {

}


/*** header SP ***/
@media (max-width: 1000px) {
	#wrapper {
		//padding-top: 50px !important;
	}
	.header {
		//background-color: #FFFFFF;
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		z-index: 10;
	}
	.header_container {}
	.h_content {
		height: 50px;
		position: relative;
	}
	.h_logo{
		position: absolute;
		top: 5px;
		left: 20px;
		z-index: 10;
		width: 190px;
	}
	.h_logo img {
		width: auto;
		//height: 30px;
	}
	.h_left p {
		display: none;
	  padding: 10px 0 0 10px;
	  font-size: 0.7em;
	  position: absolute;
	  top: 8px;
	  left: 100px;
	}

	/*** menuの中 ***/
	#menu {
		position: relative;
		z-index: 9;
	}
	body.menu_active #menu {
		position: fixed;
		left: 0px;
		right: 0px;
		top: 0px;
		bottom: 0px;
	}
	/*#menu .filter {
		content: "";
		display: block;
		position: fixed;
		left: 0px;
		right: 0px;
		top: 0px;
		bottom: 0px;
		background-color: rgba(0, 0, 0, 0.50);
		opacity: 0;
		visibility: hidden;
		-webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}
	body.menu_active #menu .filter {
		opacity: 1;
		visibility: visible;
	}*/
	#menu .menu_content {
		position: fixed;
		right: 0px;
		top: 0px;
		bottom: 0px;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 0;
		visibility: hidden;
		-webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
		transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
		transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
		transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
	}
	body.menu_active #menu .menu_content {
		position: absolute;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		opacity: 1;
		visibility: visible;
		overflow-y: scroll;
	}
	.menu_content {
		background-color: #FFFFFF;
		padding: 75px 8vw;
		width: 100%;
		max-width: 100%;
		-webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
		box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
	}
	.gnav {
	}
	.gnav_list {
		padding-top: 4vw;
	}
	.gnav_list > li {
		border-bottom: 1px solid #b8b6b4;
	}
	.gnav_list > li > a {
		display: block;
		width: 100%;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1rem;
		font-weight: 500;
		color: #000;
		letter-spacing: 0.02em;
		line-height: 1;
		padding: 15px 0px;
		position: relative;
		text-align: center;
		color: #5a442c;
	}
	.gnav_list > li > .child > li > a{
		display: block;
		width: 100%;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1rem;
		text-align: center;
		color: #333333;
		padding: 5px 0px;
	}
	.gnav_list .gnav_list_en{
		color: #a0a0a0;
		font-family: 'Libre Baskerville', serif;
		font-size: 0.5em;
	}

	.header_contact{
		display: flex;
		margin-top: 4vw;
	}
	.header_contact li{
		flex: 1;
	}
	.btn_tel{
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 45px;
		//background-color: #e17837;
		font-size: 1rem;
		font-weight: 500;
		color: #fff;
		background-color: #7da575;
		border-radius: 20px;
	    margin-right: 20px;
	    font-size: 1.2em;
	    color: #fff;

	}
	.btn_calendar{
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 45px;
		//background-color: #e17837;
		font-size: 1rem;
		font-weight: 500;
		color: #fff;
		background-color: #caa21d;
		border-radius: 20px;
	    margin-right: 20px;

	}
	.btn_tel img{
	  width: 25px;
	}
	.btn_calendar img{
	  width: 25px;
	}
	.header_contact_head{
	  position: absolute;
	  text-align: center;
	  width: 100%;
	  background: #145a87;
	  color: #fff;
	  font-size: 12px;
	  padding: 0 0 3px 0;
	  z-index: 100;
	}

	/*メニューボタン*/
	#spnav_buttonwrap {
		display: block;
		position: absolute;
		right: 0px;
		top: 0px;
		background-color: transparent;
		z-index: 10;
	}
	#spnav_buttonwrap.open {
		position: fixed;
	}
	#spnav_button span {
		background-color: #fff;
	}
	#spnav_button {
		width: 50px;
		height: 50px;
		cursor: pointer;
		position: relative;
		z-index: 10000;
		display: table-cell;
		text-align: center;
		vertical-align: middle;
		background: #caa21d;
	}
	#spnav_button div {
		position: relative;
		width: 50%;
		height: 50%;
		display: inline-block;
	}
	#spnav_button span {
		display: block;
		position: absolute;
		height: 2px;
		width: 100%;
		left: 0;
		-webkit-transition: 0.35s ease-in-out;
		transition: 0.35s ease-in-out;
	}
	#spnav_button span:nth-child(1) {
		top: 14%;
	}
	#spnav_button span:nth-child(2) {
		top: 50%;
		-webkit-transform: translate3d(0, -50%, 0);
		transform: translate3d(0, -50%, 0);
	}
	#spnav_button span:nth-child(3) {
		bottom: 14%;
	}
	.open #spnav_button span:nth-child(1) {
		top: 50%;
		-webkit-transform: rotate(137deg);
		transform: rotate(137deg);
	}
	.open #spnav_button span:nth-child(2) {
		width: 0;
	}
	.open #spnav_button span:nth-child(3) {
		top: 50%;
		-webkit-transform: rotate(-137deg);
		transform: rotate(-137deg);
	}
}

/*** header PC ***/
@media (min-width: 1001px) {
	#wrapper {
		padding-top: 70px;
	}
	.header {
		/*background-color: rgba(40, 40, 40, 1);
		background-image: repeating-linear-gradient(-45deg, transparent, transparent 6px, rgba(34, 34, 34, 1) 6px, rgba(34, 34, 34, 1) 12px);*/
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		z-index: 10;
		//margin-top: 20px;
	}
	.underlayer .header {
		/*background-color: rgba(40, 40, 40, 1);
		background-image: repeating-linear-gradient(-45deg, transparent, transparent 6px, rgba(34, 34, 34, 1) 6px, rgba(34, 34, 34, 1) 12px);*/
		position: relative;
		left: 0;
		right: 0;
		top: 0;
		z-index: 100;
		//margin-top: 20px;
	}
	.header .header_container{
		margin-top: 20px;
	}
	.h_content {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		height: 70px;
	}
	.h_content02{
	justify-content: center;
    display: flex;
	//border-bottom: 1px solid #493015;
	margin: 0 40px;
	justify-content: flex-end;
	}

	.h_logo{
		padding-left: 25px;
	}
	.header.header_fixed.fixed_active .h_content {
		/*height: 80px;*/
	}
	.header_contact{
		display: flex;
		position: relative;
	}
	.gnav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.gnav_list {
		list-style-type: none;
		margin: 0px;
		padding: 0px;
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin-right: 20px;
	}
	.gnav_list > li {
		margin: 0px 20px;
	}
	.gnav_list > li > a {
		display: inline-flex;
		align-items: center;
		width: 100%;
		//font-family: 'Noto Sans JP', sans-serif;
		font-size: 0.88rem;
		font-weight: 500;
		color: #000;
		letter-spacing: 0.04em;
		line-height: 1;
		position: relative;
		text-align: center;
		line-height: 1.2;
		color: #333333;
		height: 60px;
		position: relative;
	}
	.gnav_list > li > a:after{
		content: "";
		display: inline-block;
		width: 100%;
		height: 2px;
		background-color: #493015;
		position: absolute;
		left: 0;
		bottom: 0;
		opacity: 0;
		transition: opacity 0.3s ease;
	}
	.gnav_list > li > a:hover:after,
	.gnav_list > li > a.cur:after{
		opacity: 1;
	}

	.gnav_list .gnav_list_en{
		color: #a0a0a0;
		//font-family: 'Libre Baskerville', serif;
		font-size: 0.6em;
	}
	.gnav_list > li:last-child > a{
/*		border-right: 0px solid #a0a0a0;*/
	}
	.gnav_list > li > .child{
		position: absolute;
		background-color: rgba(0,0,0,0.60);
		padding: 20px 30px;
		min-width: 200px;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease,
			hidden 0.3s ease;
	}
	.gnav_list > li:hover > .child{
		opacity: 1;
		visibility: visible;

	}
	.gnav_list > li > .child > li > a{
		display: block;
		font-size: 0.88rem;
		font-weight: 500;
		letter-spacing: 0.12em;
		color: #fff;
		padding: 3px 0px 3px 1.5em;
		position: relative;
	}
	.gnav_list > li > .child > li > a:before{
		content: "";
		display: inline-block;
		background: url("../images/common/gnav_arrow.svg") left top no-repeat;
		background-size: contain;
		width: 1em;
		height: 1em;
		position: absolute;
		left: 0;
		top: calc(3px + 0.4em);
	}

	.btn_tel {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: 200px;
		height: 45px;
		letter-spacing: 0.02em;
		color: #5a442c;
		background-color: #7da575;
		border-radius: 20px;
	    margin-right: 20px;
	    color: #fff;
	    font-size: 1.2em;

	}
	.btn_calendar {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: 200px;
		height: 45px;
		letter-spacing: 0.02em;
		color: #fff;
		background-color: #caa21d;
		border-radius: 20px;
	    margin-right: 20px;
	}
	.btn_tel img{
	  width: 25px;
	}	
	.btn_calendar img{
	  width: 25px;
	}	
	
	.header_contact_head{
	  position: absolute;
	  text-align: center;
	  width: 100%;
	  background: #145a87;
	  color: #fff;
	  font-size: 12px;
	  padding: 0 0 3px 0;
	  z-index: 100;
	}
	/*スマートフォンメニューボタン*/
	#spnav_buttonwrap {
		display: none;
	}


	.h_left p{
	  padding: 25px 0 0 10px;
	  font-size: 0.8em;
	}
}

@media (max-width: 1200px) and (min-width: 1001px) {
	.h_logo{
		left: 10px;
	}
	.h_logo img{
		//width: 100px;
	}
	.gnav_list{
		margin-right: 10px;
	}
	.gnav_list > li > a{
		padding: 0px 10px;
		font-size: 0.81rem;
	}
	.btn_tel{
		//width: 145px;
	}
	.btn_calendar{
		//width: 110px;
	}
	.h_left p {
  padding: 10px 0 0 10px;
  font-size: 0.8em;
	}
	
}


/*** footer ***/
.footer_content{
	//background-color: #333333;
	padding-top: 60px;
	padding-bottom: 40px;
}
.footer_content_inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer_content_left{
	//display: flex;
	align-items: center;
}
.footer_content_left .f_logo{
	font-size: 1.7em;
	margin-bottom: 10px;
	color: #fff;
}

.btn_f_calendar{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 60px;
	background-color: transparent;
	border: 1px solid #a0a0a0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: #FFFFFF;
}

.f_address {
	font-size: 0.75rem;
	color: #FFFFFF;
	letter-spacing: 0.2em;
	//margin-left: 40px;
	margin-bottom: 0px;
}

.sns_block{
	display: flex;
	align-items: center;
	margin-top: 50px;
}
.sns_label{
	font-size: 0.75rem;
	letter-spacing: 0.2em;
	color: #787878;
	margin: 0px;
}
ul.sns_list {
	display: flex;
	align-items: center;
}
ul.sns_list li {
	padding-left: 20px;
	line-height: 0;
}



.footer_nav{
	//background-color: #333333;
	padding-top: 20px;
	padding-bottom: 40px;
}
.footer_nav_list{
	display: flex;
	justify-content: center;
}
.footer_nav_list li{
	margin-left: -1px;
}
.footer_nav_list a{
	font-size: 0.75rem;
	line-height: 1;
	letter-spacing: 0.2em;
	color: #FFFFFF;
	display: block;
	padding: 0px 30px;
	border-left: 1px solid #787878;
	border-right: 1px solid #787878;
}

.copyright {
	//background-color: #282828;
	padding-top: 10px;
	padding-bottom: 20px;
}
.copyright_text{
	font-size: 0.5rem;
	color: #fff;
	text-align: center;
	line-height: 1;
}

@media (max-width: 1160px){
	.footer_content_left{
		display: block;
	}
	.f_address {
		margin-left: 0px;
		margin-top: 20px;
	}
	.footer_nav_content .f_left{
		padding-right: 40px;
		flex: 1;
	}
	.footer_nav_content .f_right{
		padding-left: 40px;
		flex: 1;
	}
	.footer_nav_content .f_left:before{
		left: -40px;
	}
	.footer_nav_content .f_right:before{
		right: -40px;
	}
	.footer_content_right{
		margin-top: 20px;
	}
}

@media (max-width: 768px) {
	.underlayer{
		padding-top: 50px !important;
	}
	.gnav_list > li > .child > li > a{
		color: #5a442c;
	}
	.gnav_list > li > .child{
		display: none;
		padding-bottom: 20px;
	}
	.gnav_list > li > .gnav_parent{
		position: relative;

	}

	.dli-chevron-round-right {
		position: absolute;
		right: 10px;
		top: 18px;
		display: inline-block;
		vertical-align: middle;
		color:#5a442c;
		line-height: 1;
		width: 10px;
		height: 10px;
		transform: translateX(-25%) rotate(45deg);
	}

	.dli-chevron-round-right::before, .dli-chevron-round-right::after {
	  content: '';
	  position: absolute;
	  background: currentColor;
	  border-radius: 0.1em;
	}

	.dli-chevron-round-right::before {
	  top: 0;
	  left: 0;
	  right: 0;
	  height: 0.1em;
	}

	.dli-chevron-round-right::after {
	  top: 0;
	  right: 0;
	  bottom: 0;
	  width: 0.1em;
	}

	.active .dli-chevron-round-right {
		position: absolute;
		right: 10px;
		top: 18px;
  display: inline-block;
  vertical-align: middle;
color:#5a442c;
  line-height: 1;
		width: 10px;
		height: 10px;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
	}	


	.footer{
		text-align: center;
	}
	.footer_content{
		padding-top: 30px;
    padding-bottom: 30px;
	}
	.footer_content_inner{
		display: block;
	}
	.footer_nav_content{
		display: block;
	}
	
	.footer_nav_content .f_left{
		padding-top: 40px;
		padding-bottom: 40px;
		padding-right: 0px;
	}
	.footer_nav_content .f_right{
		padding-top: 40px;
		padding-bottom: 40px;
		padding-left: 0px;
	}
	.footer_nav_content .f_left:before{
		left: -20px;
		right: -20px;
	}
	.footer_nav_content .f_right:before{
		left: -20px;
		right: -20px;

	}
	.sns_block{
		justify-content: center;
	}
	.footer_nav{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.footer_nav_list{
		display: block;
	}
	.footer_nav_list a{
		padding: 7px;
		border: none;
		font-size: 0.88rem;
	}
}
/*** totop ***/
.totop {
	position: relative;
}
.totop a {
	display: flex;
	width: 72px;
	height: 72px;
	justify-content: center;
	align-items: center;
	background-color: #000000;
	position: fixed;
	right: 0px;
	bottom: 0px;
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	transform: translate3d(0, 100%, 0);
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
.totop a.show {
	opacity: 0.7;
	visibility: visible;
	transform: translate3d(0, 0, 0);
}
.totop a.bottom {
	position: absolute;
}
.totop a:hover {
	opacity: 1;
}
@media (max-width: 768px) {
	.totop a {
		width: 30px;
		height: 30px;
	}
}


/*** 共通 ***/

/*** section_title ***/

.section_title{
	font-size: 2rem;
	letter-spacing: 0.12em;
	text-indent: 0.12em;
	line-height: 1.5;
	color: #5a442c;
	margin-bottom: 80px;
	position: relative;
	text-align: center;
	font-weight: 500;
}



.section_title .under_line{
  position: relative;
  padding: 0 20px 5px 20px;
}

.section_title .under_line:before {
content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 100%;
    height: 5px;
    border-radius: 5px;
  background: #caa21d;
}

.section_title .under_line:after {
  content: '';
  position: absolute;
  width: 79px;
  height: 71px;
  background-image: url(../images/common/title_icon.png);
  background-size: contain;
  vertical-align: middle;
	bottom: -8px;
  right: -75px;
}


.section_title .f_en{
	display: flex;
	align-items: center;
	font-size: 0.88rem;
	letter-spacing: 0.12em;
	text-indent: 0.12em;
	line-height: 1.5;
	color: #333333;
}
.section_title .f_en:before{
	content: "";
	display: inline-block;
	width: 0.4em;
	height: 0.4em;
	background-color: #a0a0a0;
	margin-right: 0.4em;
	vertical-align: middle;
}

.section_title.f_white,
.section_title.f_white .f_en{
	color: #FFFFFF;
}
.section_title.f_white .f_en:before{
	background-color: #fff;
}
.section_title.f_min {
    font-size: 2rem;
}
.section_title.is_under {
    padding-bottom: 30px;
}
.section_title.is_under:after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 1px;
    background-color: #ff385c;
    position: absolute;
    left: 0px;
    bottom: 0px;
}

.title_catch{
  text-align: center;
  font-size: 1.1em;
  font-weight: 500;
  color: #5a442c;
  margin-bottom: 60px;
}

@media (max-width: 768px) {
	.section_title,
	.section_title.f_min{
		font-size: 1.4em;
		margin-bottom: 35px;
		margin-left: -30px;
	}
	.section_title.is_under {
    	padding-bottom: 20px;
	}
	.section_title .under_line::after {
	  width: 50px;
	  height: 45px;
	  right: -46px;
	  bottom: -3px;
	}

	.section_title .under_line::before {
	  bottom: -2px;
	  height: 3px;
	}
}

/*** description ***/
.description{
	margin-bottom: 50px;
}
.description p{
	font-size: 0.94rem;
	line-height: 2;
}

@media (max-width: 768px) {
	.description{
		margin-bottom: 25px;
	}
}


/**** wave ****/

.wave {
  position: absolute;
  height: 273px;
  width: 100%;
  bottom: 0;
}

.wave::before, .wave::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50% 100%;
}

.wave::before {
  width: 55%;
  height: 100%;
  background-color: #fff;
  right: -1.5%;
  top: 40%;
  z-index: 10;
}
.wave::after {
  width: 55%;
  height: 109%;
  background-color: #f3eccb;
  left: -1.5%;
  top: 60%;
}

.wave02 {
  position: absolute;
  height: 273px;
  width: 100%;
  bottom: 0;
}

.wave02::before, .wave02::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50% 100%;
}

.wave02::before {
  width: 55%;
  height: 100%;
  background-color: #f3eccb;
  right: -1.5%;
  top: 40%;
  z-index: 10;
}
.wave02::after {
  width: 55%;
  height: 109%;
  background-color: #fff;
  left: -1.5%;
  top: 60%;
}

.wave03 {
  position: absolute;
  height: 273px;
  width: 100%;
  bottom: 0;
}

.wave03::before, .wave03::after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50% 100%;
}

.wave03::before {
  width: 55%;
  height: 100%;
  background-color: #fff;
  right: -1.5%;
  top: 40%;
  z-index: 10;
}
.wave03::after {
  width: 55%;
  height: 109%;
  background-color: #caa21d;
  left: -1.5%;
  top: 60%;
}

@media (max-width: 1200px) {
	.wave {
		position: absolute;
	    height: 55px;
	    width: 100%;
	    bottom: 0;
	}

	.wave::before, .wave::after {
	  content: "";
	  display: block;
	  position: absolute;
	  border-radius: 100% 50%;
	}

	.wave::before {
		width: 55%;
	    height: 109%;
	    right: -5.3%;
	    top: 41%;
	    border-radius: 30% 100%;

	}
	.wave::after {
		width: 56%;
	    height: 100%;
	    left: -0.5%;
	    top: 63%;
	    border-radius: 100% 125%;
	}

	.wave02 {
	  position: absolute;
	  height: 55px;
	  width: 100%;
	  bottom: 0;
	}

	.wave02::before {
	  width: 55%;
	  height: 109%;
	  background-color: #f3eccb;
	    right: -5.3%;
	    top: 41%;
	    border-radius: 30% 100%;
	  z-index: 10;
	}
	.wave02::after {
	  width: 56%;
	  height: 100%;
	  background-color: #fff;
	  left: -0.5%;
	    top: 63%;
	    border-radius: 100% 125%;
	}


	.wave03 {
	  position: absolute;
	  height: 55px;
	  width: 100%;
	  bottom: 0;
	}

	.wave03::before, .wave03::after {
	  content: "";
	  display: block;
	  position: absolute;
	  border-radius: 50% 100%;
	}

	.wave03::before {
	  width: 55%;
	  height: 109%;
	  background-color: #fff;
	    right: -5.3%;
	    top: 41%;
	    border-radius: 30% 100%;
	  z-index: 10;
	}
	.wave03::after {
	  width: 56%;
	  height: 100%;
	  background-color: #caa21d;
	  left: -0.5%;
	    top: 63%;
	    border-radius: 100% 125%;
	}
}

/*** common_ ***/
.common_section.common_section_wave-top{
	padding-top: 160px;
}

.common_section.common_section_wave-bottom{
	position: relative;
	padding-bottom: 160px;
}

.common_section{
	padding-top: 100px;
	padding-bottom: 100px;
}

@media (max-width: 1200px) {
	.common_section.common_section_wave-top {
	  padding-top: 80px;
	}
	.common_section.common_section_wave-bottom{
		position: relative;
		padding-bottom: 80px;
	}
}

@media (max-width: 768px) {
	.common_section{
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.common_section.common_section_wave-bottom{
		position: relative;
		padding-bottom: 60px;
	}
	.common_section.common_section_wave-top {
		padding-top: 60px;
	}
}

/*** bg ***/
.bg_white{
	background-color: #FFFFFF !important;
}
.bg_beige{
	background-color: #fff7ed !important;
}
.bg_beige_light{
	background-color: #f8eadb !important;
}
.bg_gray{
	background-color: #f5f5f5 !important;
}
.bg_gray_light{
	background-color: #f5f5f5 !important;
}
.bg_green{
	background-color: #0f7c4f !important;
}
.bg_yellow{
	background-color: #f3eccb !important;
}
.bg_yellow02{
	background-color: #caa21d !important;
}

/*** btn ***/
.btn_wrap{
	margin-top: 50px;
}

.btn_list{
	margin-top: 30px;
	margin-left: -20px;
	margin-bottom: -20px;
}
.btn_list li{
	padding-left: 20px;
	padding-bottom: 20px;
}

@media (max-width: 768px) {
	.btn_wrap{
		margin-top: 40px;
	}
}

.btn.btn_gray{
	background-color: #f5f5f5;
}

.btn02 {
	display: inline-flex;
	max-width: 100%;
	height: 40px;
	justify-content: center;
	align-items: center;
	background-color: #FFF;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-indent: 0.08em;
	text-align: center;
	color: #ff385c;
	padding: 0px 80px;
	border: 2px solid #caa21d;
	position: relative;
	background: #caa21d;
	color: #fff;
	border-radius: 10px;
}
.btn02:before{
	content: "";
	display: inline-block;
	background: url("../images/common/btn_arrow02.png") left top no-repeat;
	background-size: contain;
	width: 18px;
	height: 18px;
	position: absolute;
	left: 20px;
	top: 50%;
	transform: translate3d(50%,-50%,0);
}

.btn03 {
	color: #5a442c;
	font-size: 1.1em;
	font-weight: 500;
	position: relative;
	padding-left: 30px;
}

.btn03:before{
	content: "";
	display: inline-block;
	background: url("../images/common/btn_arrow03.png") left top no-repeat;
	background-size: contain;
	width: 18px;
	height: 17px;
	position: absolute;
	left: -9px;
	top: 50%;
	transform: translate3d(50%,-50%,0);
}

.btn{
	display: inline-flex;
	max-width: 100%;
	height: 70px;
	justify-content: center;
	align-items: center;
	background-color: #FFF;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-indent: 0.08em;
	text-align: center;
	color: #ff385c;
	padding: 0px 80px;
	border: 2px solid #ff385c;
	position: relative;
}
.btn:after{
	content: "";
	display: inline-block;
	background: url("../images/common/btn_arrow.png") left top no-repeat;
	background-size: contain;
	width: 40px;
	height: 20px;
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translate3d(50%,-50%,0);
}
.btn:hover{
	cursor: pointer;
}

.btn .btn_icon_right{
	display: inline-block;
	line-height: 0;
	position: absolute;
	right: 20px;
	top: 50%;
	z-index: 1;
	transform: translate3d(0,-50%,0);
}
.btn .btn_icon_left{
	display: inline-block;
	line-height: 0;
	position: absolute;
	left: 20px;
	top: 50%;
	z-index: 1;
	transform: translate3d(0,-50%,0);
}
.btn.large{
	height: 60px;
}

.btn input[type="submit"]{
	display: inline-block;
	position: absolute;
	left: 0px;
	right: 0px;
	top: 0px;
	bottom: 0px;
	border: none;
	background: none;
	color: inherit;
}
.btn input[type="submit"]:hover{
	cursor: pointer;
}

@media (max-width: 1120px) {
	.btn02{
		padding: 0px 20px;
	}
}

@media (max-width: 768px) {
	.btn{
		width: 100% !important;
		height: 60px;
	}
	.btn.large{
		height: 50px;
	}
}




/*** support_list ***/
.support_list{
	margin-left: -30px;
	margin-bottom: -40px;
}
.support_list .box{
	padding-left: 30px;
	padding-bottom: 40px;
}
.support_list .box_inner{
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
}
.support_list .box_inner:before{
	content: "";
	display: inline-block;
	background: url("../images/top/icon_pin.png") left top no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 50%;
	top: 0px;
	transform: translate3d(0,-50%,0);
	z-index: 1;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
	.support_list .box_inner:before{
		background-image: url("../images/top/icon_pin@2x.png");
	}
}
.support_head{
	flex: 1;
	background-color: #FFFFFF;
	border-radius: 0px 0px 5px 5px;
	box-shadow: 0px 1px 4px rgba(0,0,0,0.2);
	position: relative;
}
.support_list .text_wrap{
	padding: 20px 20px 40px;
	position: relative;
}
.support_list .text_wrap .catch{
	position: absolute;
	right: 20px;
	top: 0px;
	transform: translate3d(0,-50%,0);
	z-index: 1;
}
.support_title{
	margin-bottom: 15px;
}
.support_title .text_inner{
	padding-bottom: 3px;
	border-bottom: 4px solid #000000;
	font-size: 1.25rem;
    line-height: 2.25;
}
.support_list .text_wrap p{
	font-size: 0.88rem;
	line-height: 1.71;
}
.support_bottom{
	border-top: 1px dashed #e6e6e6;
	border-radius: 5px 5px 0px 0px;
	box-shadow: 0px 1px 4px rgba(0,0,0,0.2);
	background-color: #FFFFFF;
	position: relative;
	z-index: 1;
	transition: background-color 0.3s ease;
}
.support_bottom:hover{
	background-color: #901b1b;
}
.support_bottom:before{
	content: "";
	display: inline-block;
	width: 100%;
	height: 5px;
	border-radius: 0px 0px 5px 5px;
	background-color: #FFFFFF;
	position: absolute;
	left: 0px;
	top: -6px;
}
.support_bottom:after{
	content: "";
	display: inline-block;
	position: absolute;
    left: 2px;
    right: 0px;
    top: 2px;
    bottom: 0px;
    z-index: -1;
    background-color: transparent;
    background-image: radial-gradient(#e5e5e5 24%, transparent 25%), radial-gradient(#e5e5e5 24%, transparent 25%);
    background-position: 0 0, 2px 2px;
    background-size: 4px 4px;
    
}

.support_bottom a{
	display: block;
	padding: 25px 120px 20px 20px;
	color: #901b1b;
	border-radius: 5px 5px 0px 0px;
	position: relative;
	z-index: 1;
	transition: color 0.3s ease,
		background-color 0.3s ease;
}
.support_bottom a:hover{
	color: #FFFFFF !important;
}
.support_bottom a:before{
	content: "";
	display: inline-block;
	width: 90px;
	height: 2px;
	background-color: #901b1b;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translate3d(0,-50%,0);
	transition: background-color 0.3s ease;
}
.support_bottom a:after{
	content: "";
	display: inline-block;
	width: 10px;
	height: 2px;
	background-color: #901b1b;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: rotate(45deg) translate3d(0,-50%,0);
	transform-origin: right bottom;
	transition: background-color 0.3s ease;
}
.support_bottom a:hover:before,
.support_bottom a:hover:after{
	background-color: #FFFFFF;
}

.support_bottom a .f_en{
	display: inline-block;
	font-size: 1.13rem;
	font-weight: bold;
	letter-spacing: 0.02em;
	padding-right: 10px;
}
.support_bottom a .f_ja{
	display: inline-block;
	font-size: 0.75rem;
	font-weight: bold;
	letter-spacing: 0.02em;
}

@media (max-width: 768px) {
	.support_bottom a:before{
		width: 50px;
	}
	.support_bottom a .f_en{
		display: block;
		margin-bottom: 5px;
	}
	.support_bottom a .f_ja{
		display: block;
	}
}




/*** bg ***/
.bg_dot{
	background-color: transparent;
    background-image: radial-gradient(#999999 24%, transparent 25%), radial-gradient(#999999 24%, transparent 25%);
    background-position: 0 0, 2px 2px;
    background-size: 4px 4px;
	background: url("../images/common/bg_dot.png") left top repeat;
}

/**** pagetitle ***/
#page_visual{
	background-color: #f5f5f5;
}
.pagetitle_block{
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 340px;
}
.pagetitle .f_en{
	display: block;
	font-size: 0.88rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #b4b4b4;
	margin-bottom: 20px;
}
.pagetitle .f_ja{
	display: block;
	font-size: 2.88rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.06em;
}

@media (max-width: 768px) {
	.pagetitle_block{
		height: 140px;
	}
	.pagetitle .f_en{
		margin-bottom: 10px;
	}
	.pagetitle .f_ja{
		font-size: 1.5rem;
	}
}




.notes{
	font-size: 0.88rem !important;
	line-height: 1.7 !important;
}
.f_red{
	color: #ff0000 !important;
}
.f_caution{
	font-size: 0.75rem;
	color: #ff0000 !important;
	margin-top: 20px;
}


/*** list ***/
.disc{
	list-style-type: disc;
}
.disc li{
	margin-left: 2em;
}
.decimal{
	list-style-type: decimal;
}
.decimal li{
	margin-left: 2em;
}

/*** table ***/
@media (max-width: 768px) {
	.table_scroll{
		width: 100%;
		display: block;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	.table_scroll table{
		width: auto;
	}
}


.block{
	display: block;
}
.inline_block{
	display: inline-block;
}

/*** section_inner ***/
@media (min-width: 769px) {
	.section_inner{
		position: relative;
	}
	.section_inner .btn_wrap{
		position: absolute;
		right: 0px;
		top: 0px;
		margin-top: 0px;
	}
}

/***　section_title_block　***/
.section_title_block{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 40px;
}
.section_title_block .section_title{
	margin-bottom: 0px;
}

@media (max-width: 768px) {
	.section_title_block{
		display: block;
		margin-bottom: 30px;
	}
	.section_title_block .section_title{
		margin-bottom: 30px;
	}
}



/*** check_list ***/
ul.check_list li{
	position: relative;
	font-size: 0.94rem;
	line-height: 1.5;
	padding-left: 1.5em;
	margin-bottom: 0.5em;
}
ul.check_list li:before{
	content: "";
	display: inline-block;
	background: url("../images/common/icon_check_list.svg") left top no-repeat;
	background-size: contain;
	width: 9px;
	height: 10px;
	position: absolute;
	left: 0px;
	top: 0.5em;
}


/*** text style ***/
.letter-spacing_240{
	letter-spacing: 0.24em !important;
}
.line-height_170{
	line-height: 1.7 !important;
}


/*** borderbox ***/
.borderbox{
	padding: 30px 30px;
	border: 1px solid #dcdcdc;
}
.borderbox_green{
	padding: 30px 30px;
	border: 1px solid #0f7c4f;
}

@media (max-width: 768px) {
	.borderbox,
	.borderbox_green{
		padding: 20px 20px;
	}
}

.radius_20{
	border-radius: 20px;
	overflow: hidden;
}
@media (max-width: 768px) {
	.radius_20{
		border-radius: 10px;
	}
}




/*** float_right **/
.float_right{
	float: right;
}


/*** underline ***/
.section_underline{
	position: relative;
}
.section_underline .container:after{
	content: "";
	display: inline-block;
	max-width: 100%;
	width: 1080px;
	height: 2px;
	background-color: #f0f0f0;
	position: absolute;
	left: 50%;
	bottom: 0px;
	transform: translate3d(-50%,0,0);
}

@media (max-width: 1160px){
	.section_underline .container:after{
		width: auto;
		left: 40px;
		right: 40px;
		transform: translate3d(0,0,0);
	}
}

@media (max-width: 768px){
	.section_underline .container:after{
		left: 20px;
		right: 20px;
	}
}

.text_bg_label{
	display: inline-block;
	background-color: #cee8dd;
	padding: 0px 5px;
	color: #0f7c4f;
	border-radius: 4px;
}

.prefix{
	padding-left: 1.5em;
	position: relative;
}
.prefix .num{
	display: inline-block;
	position: absolute;
	left: 0px;
}


/*** news_list ***/
.case .news_list{
  padding: 0px 50px 30px 50px;
  background: #fff;
}

.news_list {
	border-top: 0px solid #dcdcdc;
}
.news_list .box_inner{
	display: block;
	padding: 30px 0px;
	background-color: #FFFFFF;
	border-bottom: 1px solid #dcdcdc;
}
.news_list .box_date {
  font-size: 0.75rem;
	font-weight: bold;
	color: #787878;
	margin-bottom: 10px;
}
.news_list .box_title{
	font-size: 1rem;
}

.news_list a:hover .box_title{
	text-decoration: underline;
	text-underline-offset: 5px;
}

@media (max-width: 768px) {
	.news_list .box_inner{
		display: block;
		height: auto;
		padding: 20px;
	}
	.news_list .box_date{
		padding: 0px;
		margin-bottom: 10px;
	}
	.news_list .box_title{
		padding: 0px;
	}
}


/*** room_list ***/
.room_list .box{
	display: flex;
}
.room_list .thumb_wrap{
	width: 66%;
}
.room_list .thumb{
	height: 100%;
}
.room_list .thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.room_list .text_wrap{
	flex: 1;
	background-color: #FFFFFF;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 5%;
}
.room_list .text_wrap .room_title{
	color: #e17837;
	margin-bottom: 30px;
}
.room_list .text_wrap .room_title .f_en{
	display: block;
	font-size: 2rem;
	line-height: 1;
	margin-bottom: 10px;
}
.room_list .text_wrap .room_title .f_ja{
	display: block;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
}
.room_list .text_wrap .room_description{
	font-size: 0.88rem;
}
.room_list .text_wrap .room_spec th,
.room_list .text_wrap .room_spec td{
	font-size: 0.81rem;
	font-weight: 400;
	padding: 3px 0px;
}
.room_list .text_wrap .room_spec th{
	padding-right: 30px;
}
.room_list .text_wrap .text_head{
	flex-grow: 1;
	padding-bottom: 20px;
}
.room_list .text_wrap .text_content{
	padding-top: 30px;
	border-top: 1px solid #644132;
}

@media (max-width: 768px) {
	.room_list .box{
		display: block;
	}
	.room_list .thumb_wrap{
		width: auto;
	}
	.room_list .text_wrap .room_title .f_en{
		font-size: 1.75rem;
	}
	.room_list .text_wrap .room_title{
		margin-bottom: 15px;
	}
	.room_list .text_wrap .text_content{
		padding-top: 15px;
	}
}



/*** スライダー ***/
.prev-arrow{
	display: inline-block;
	background: url("../images/common/voice_arrow02.png") center center no-repeat;
	background-size: contain;
	width: 60px;
	height: 60px;
	position: absolute;
	left: -90px;
	top: 0px;
	bottom: 0px;
	z-index: 1;
	margin: auto;
	cursor: pointer;
}
.next-arrow{
	display: inline-block;
	background: url("../images/common/voice_arrow.png") center center no-repeat;
	background-size: contain;
	width: 60px;
	height: 60px;
	position: absolute;
	right: -90px;
	top: 0px;
	bottom: 0px;
	z-index: 1;
	margin: auto;
	cursor: pointer;
}

@media (max-width: 1385px) {
	.prev-arrow{
		left: -30px;
	}
	.next-arrow{
		right: -30px;
	}
}
@media (max-width: 1280px) {
	.prev-arrow{
		width: 40px;
		height: 40px;
		left: -20px;
	}
	.next-arrow{
		width: 40px;
		height: 40px;
		right: -20px;
	}
}

@media (max-width: 768px) {
	.prev-arrow{
		width: 30px;
		height: 30px;
		left: -15px;
	}
	.next-arrow{
		width: 30px;
		height: 30px;
		right: -15px;
	}
}

.slick-dots li{
	width: 6px;
	height: 6px;
	padding: 0px;
	margin: 0px 6px;
}
.slick-dots li button{
	width: 6px;
	height: 6px;
	padding: 0px;
}
.slick-dots li button:before{
	content: "";
	width: 6px;
	height: 6px;
	border: 1px solid #644132;
	border-radius: 100%;
	background-color: transparent;
	opacity: 1;
}
.slick-dots li.slick-active button:before {
	background-color: #644132;
	opacity: 1;
}


.footer_search a{
	display: block;
	background-color: #fff;
}
.footer_search a .search_inner{
	display: flex;
	align-items: center;
	height: 200px;
	font-size: 1.75rem;
	letter-spacing: 0.08em;
	color: #FFFFFF;
	position: relative;
}
.footer_search a .search_inner img{
	width: auto;
	height: 1em;
}
.footer_search a .search_inner:after{
	content: "";
	display: inline-block;
	background: url("../images/common/arrow_btn.svg") left top no-repeat;
	background-size: contain;
	width: 40px;
	height: 9px;
	position: absolute;
	right: 10px;
	top: 0px;
	bottom: 0px;
	margin: auto;
}
.footer_fixed{
	display: none;
}
@media (max-width: 768px) {
	.footer_search a .search_inner{
		height: 100px;
		font-size: 1.25rem;
	}
	.footer_fixed{
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		padding: 10px;
		z-index: 1000;
		background-color: rgba(255, 255, 255, 0.8);
		width: 100%;
	}
	.footer_fixed ul{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 0;
	}
	.footer_fixed ul li{
		width: 33%;
		color: #fff;
		margin: 0;
	}
	.footer_fixed ul li a{
		padding: 15px 0px 15px 19px;
		position: relative;
		display: block;
		color: #fff;
	}
	.footer_fixed ul li.footer_fixed_tel{
		background: #7da575;
	}
	.footer_fixed ul li.footer_fixed_tel a:before{
		content: "";
		display: inline-block;
		background: url("../images/common/phone_icon.png") left top no-repeat;
		background-size: auto;
		background-size: contain;
		width: 19px;
		height: 22px;
		position: absolute;
		left: 5px;
   		top: 16px;
	}
	.footer_fixed ul li.footer_fixed_contact{
		background: #caa21d;
	}
	.footer_fixed ul li.footer_fixed_contact a:before{
		content: "";
		display: inline-block;
		background: url("../images/common/contact_icon.png") left top no-repeat;
		background-size: auto;
		background-size: contain;
		width: 16px;
	    height: 22px;
		position: absolute;
		left: 5px;
	    top: 20px;
	}
	.footer_fixed ul li.footer_fixed_line{
		background: #997829;
	}
	.footer_fixed ul li.footer_fixed_line a:before{
		content: "";
		display: inline-block;
		background: url("../images/common/line_icon.png") left top no-repeat;
		background-size: auto;
		background-size: contain;
		width: 20px;
	    height: 22px;
	    position: absolute;
	    left: 5px;
	    top: 16px;
	}
	.footer_fixed .footer_fixed01{
		margin-bottom: 5px;
	}
	.footer_fixed a{
	  font-size: 0.9em;
	  font-weight: 500;
	}
	.footer_fixed .footer_fixed01 a{
	  padding: 15px 5px;
	  display: block;
	  border: 1px solid #5a442c;
	  background: #fff;
	  position: relative;
	}
	.footer_fixed .footer_fixed01 a:after{
		content: "";
		display: inline-block;
		background: url("../images/common/btn_arrow04.png") left top no-repeat;
		background-size: auto;
		background-size: contain;
		width: 14px;
		height: 17px;
		position: absolute;
		right: 8px;
		top: 15px;
	}
}


/*** info_table ***/
.info_table{
	width: 100%;
	border-collapse: separate;
	border-spacing: 2px;
}
.info_table th{
	background-color: #fff;
	font-size: 0.94rem;
	font-weight: bold;
	color: #000;
	letter-spacing: 0.12em;
	padding: 30px;
	vertical-align: top;
	width: 200px;
}
.info_table td{
	background-color: #FFFFFF;
	font-size: 0.94rem;
	letter-spacing: 0.12em;
	padding: 30px;
}

@media (max-width: 768px) {
	.info_table th{
		background-color: #d8d8d8;
	}
	.info_table,
	.info_table thead,
	.info_table tbody,
	.info_table tr,
	.info_table th,
	.info_table td{
		display: block;
		width: 100%;
	}
	.info_table th,
	.info_table td{
		padding: 15px;
	}
}


/*** detail_slider ***/
.detail_slider{
	max-width: 70%;
	width: 960px;
	margin: auto;
}
.detail_slider .slick-list{
	overflow: visible;
}
.detail_slider .box{
	padding: 0px 80px;
}
@media (min-width: 1241px){
	.detail_slider .next-arrow {
			right: -30px;
	}
	.detail_slider .prev-arrow {
			left: -30px;
	}
}
@media (max-width: 1280px) {
	.detail_slider .box{
		padding: 0px 60px;
	}
}
@media (max-width: 768px) {
	.detail_slider .box{
		padding: 0px 20px;
	}
}


.f_bg_line{
    background: url(../images/top/room_recomended_border.png) left bottom repeat-x;
    background-size: 160px 6px;
    padding-bottom: 15px;
}


/*** gallery_slider ***/
.gallery_slider .box{
	padding-left: 5px;
	padding-right: 5px;
}

@media (max-width: 768px) {
	.gallery_slider .box img{
		height: 200px;
	}
}



.h_left{
	display: flex;
}

.h_center{
	font-size: 1rem;
	color: #ffffff;
	background-color: #5a442c;
}


#common_visual {
  width: 100%;
  height: 380px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
}

#common_visual .pagetitle{
	font-size: 2em;
	text-align: center;
	color: #fff;
	font-weight: bold;
}

#common_visual .pagetitle span{
	font-size: 0.5em;
}

@media (max-width: 768px) {
	#common_visual {
	  height: 130px;
	}
}




h2{
	margin-bottom: 30px;
	line-height: 1;
	font-weight: bold;
	font-size: 1.8em;
}

h2 .h2_en{
		color: #a0a0a0;
		//font-family: 'Libre Baskerville', serif;
		font-size: 0.5em;
}



/*** page_mv ***/
#page_mv{
	position: relative;
	z-index: 1;
}
.page_mv_bg img{
	width: 100%;
	max-height: 400px;
	min-height: 160px;
	object-fit: cover;
}
.page_mv_content{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.page_mv_title{
	text-align: center;
	color: #FFFFFF;
}
.page_mv_title .title_ja{
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.06em;
	display: block;
}
.page_mv_title .title_en{
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.5;
	color: #ffffff;
	letter-spacing: 0.2em;
	display: block;
}

@media (max-width: 768px) {
	.page_mv_title .title_ja{
		font-size: 2rem;
	}
	.page_mv_title .title_en{
		font-size: 0.6rem;
	}
}

/***** sectiontitle *****/
.sectiontitle{
	text-align: center;
	margin-bottom: 30px;
}
.sectiontitle .ja{
	display: block;
	font-size: 2.4rem;
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.sectiontitle .en{
	display: block;
	color: #a0a0a0;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
}

@media (max-width: 768px) {
	.sectiontitle .ja{
		font-size: 1.8rem;
	}

	.sectiontitle .en{
		font-size: 1rem;
	}
}

.sectiontext{
	line-height: 2;
	text-align: center;
	margin-bottom: 0px;
}



/**** font *****/
.line-height_1{
	line-height: 1;
}

.border-bottom_0{
	border-bottom: none !important;
}


/**** opacity ***/
.opacity_90{
	opacity: 0.9;
}
.opacity_80{
	opacity: 0.8;
}
.opacity_70{
	opacity: 0.7;
}

/**** padding ****/
.pl0 {
	padding-left: 0px !important;
}
.pl5 {
	padding-left: 5px !important;
}
.pl10 {
	padding-left: 10px !important;
}
.pl15 {
	padding-left: 15px !important;
}
.pl20 {
	padding-left: 20px !important;
}
.pl25 {
	padding-left: 25px !important;
}
.pl30 {
	padding-left: 30px !important;
}
.pl35 {
	padding-left: 35px !important;
}
.pl40 {
	padding-left: 40px !important;
}
.pl50 {
	padding-left: 50px !important;
}
.pl60 {
	padding-left: 60px !important;
}
.pl70 {
	padding-left: 70px !important;
}
.pl80 {
	padding-left: 80px !important;
}
.pl90 {
	padding-left: 90px !important;
}
.pl100 {
	padding-left: 100px !important;
}
.pr0 {
	padding-right: 0px !important;
}
.pr5 {
	padding-right: 5px !important;
}
.pr10 {
	padding-right: 10px !important;
}
.pr15 {
	padding-right: 15px !important;
}
.pr20 {
	padding-right: 20px !important;
}
.pr25 {
	padding-right: 25px !important;
}
.pr30 {
	padding-right: 30px !important;
}
.pr35 {
	padding-right: 35px !important;
}
.pr40 {
	padding-right: 40px !important;
}
.pr50 {
	padding-right: 50px !important;
}
.pr60 {
	padding-right: 60px !important;
}
.pr70 {
	padding-right: 70px !important;
}
.pr80 {
	padding-right: 80px !important;
}
.pr90 {
	padding-right: 90px !important;
}
.pr100 {
	padding-right: 100px !important;
}

@media (max-width: 768px) {
	.pb0_sp {
		padding-bottom: 0px !important;
	}
	.pb5_sp {
		padding-bottom: 5px !important;
	}
	.pb10_sp {
		padding-bottom: 10px !important;
	}
	.pb15_sp {
		padding-bottom: 15px !important;
	}
	.pb20_sp {
		padding-bottom: 20px !important;
	}
	.pb25_sp {
		padding-bottom: 25px !important;
	}
	.pb30_sp {
		padding-bottom: 30px !important;
	}
	.pb35_sp {
		padding-bottom: 35px !important;
	}
	.pb40_sp {
		padding-bottom: 40px !important;
	}
	.pb50_sp {
		padding-bottom: 50px !important;
	}
	.pb60_sp {
		padding-bottom: 60px !important;
	}
	.pb70_sp {
		padding-bottom: 70px !important;
	}
	.pb80_sp {
		padding-bottom: 80px !important;
	}
	.pb90_sp {
		padding-bottom: 90px !important;
	}
	.pb100_sp {
		padding-bottom: 100px !important;
	}
	.pt0_sp {
		padding-top: 0px !important;
	}
	.pt5_sp {
		padding-top: 5px !important;
	}
	.pt10_sp {
		padding-top: 10px !important;
	}
	.pt15_sp {
		padding-top: 15px !important;
	}
	.pt20_sp {
		padding-top: 20px !important;
	}
	.pt25_sp {
		padding-top: 25px !important;
	}
	.pt30_sp {
		padding-top: 30px !important;
	}
	.pt35_sp {
		padding-top: 35px !important;
	}
	.pt40_sp {
		padding-top: 40px !important;
	}
	.pt50_sp {
		padding-top: 50px !important;
	}
	.pt60_sp {
		padding-top: 60px !important;
	}
	.pt70_sp {
		padding-top: 70px !important;
	}
	.pt80_sp {
		padding-top: 80px !important;
	}
	.pt90_sp {
		padding-top: 90px !important;
	}
	.pt100_sp {
		padding-top: 100px !important;
	}
	.pl0_sp {
		padding-left: 0px !important;
	}
	.pl5_sp {
		padding-left: 5px !important;
	}
	.pl10_sp {
		padding-left: 10px !important;
	}
	.pl15_sp {
		padding-left: 15px !important;
	}
	.pl20_sp {
		padding-left: 20px !important;
	}
	.pl25_sp {
		padding-left: 25px !important;
	}
	.pl30_sp {
		padding-left: 30px !important;
	}
	.pl35_sp {
		padding-left: 35px !important;
	}
	.pl40_sp {
		padding-left: 40px !important;
	}
	.pl50_sp {
		padding-left: 50px !important;
	}
	.pl60_sp {
		padding-left: 60px !important;
	}
	.pl70_sp {
		padding-left: 70px !important;
	}
	.pl80_sp {
		padding-left: 80px !important;
	}
	.pl90_sp {
		padding-left: 90px !important;
	}
	.pl100_sp {
		padding-left: 100px !important;
	}
	.pr0_sp {
		padding-right: 0px !important;
	}
	.pr5_sp {
		padding-right: 5px !important;
	}
	.pr10_sp {
		padding-right: 10px !important;
	}
	.pr15_sp {
		padding-right: 15px !important;
	}
	.pr20_sp {
		padding-right: 20px !important;
	}
	.pr25_sp {
		padding-right: 25px !important;
	}
	.pr30_sp {
		padding-right: 30px !important;
	}
	.pr35_sp {
		padding-right: 35px !important;
	}
	.pr40_sp {
		padding-right: 40px !important;
	}
	.pr50_sp {
		padding-right: 50px !important;
	}
	.pr60_sp {
		padding-right: 60px !important;
	}
	.pr70_sp {
		padding-right: 70px !important;
	}
	.pr80_sp {
		padding-right: 80px !important;
	}
	.pr90_sp {
		padding-right: 90px !important;
	}
	.pr100_sp {
		padding-right: 100px !important;
	}
}


/*footer*/
.footer{
	background: #fff;
	padding: 50px 0 0px 0;
	color: #5a442c;
}
.footer_content{
	display: flex;
	justify-content: space-between
}

.footer_content .f_logo{
	margin-right: 100px;
}

.f_navi{
	display: flex;
	column-gap: 40px;
	border-top: 1px solid #a0a0a0;
	padding-top: 40px;
}
.f_navi ul{
	flex: 1;
}
.f_navi li{
	margin-bottom: 20px;
}
.f_navi li a{
	font-size: 0.81rem;
}

.copyrught{
	text-align: center;
	padding: 10px 0;
	color: #fff;
	background: #caa21d;
}


@media (max-width: 768px) {
	.footer{
		background: #fff;
		padding: 30px 0 0px 0;

	}
	.footer_content{
		display: block;
		color: #dcdcdc;
	}

	.footer_content .f_logo{
		margin-right: 0px;
	}
	.footer_content {
	    padding-top: 10px;
	    padding-bottom: 20px;
	}
	.f_navi{
		display: block;
	}
	.f_navi ul{
		margin-right:0px;
	}
	.f_navi li{
		margin-bottom: 20px;
	}
	.f_navi {
	  border-top: 1px solid #a0a0a0;
	  padding-top: 20px;
	}
	.copyrught {
	  text-align: center;
	  padding: 10px;
	  color: #fff;
	  font-size: 0.7em;
	}
}




/**** common_service ****/
.common_service_list{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 2px;
	margin-bottom: 2px;
}
.common_service_list_box a{
	display: block;
	position: relative;
}
.common_service_list_box a:after{
	content: "";
	display: inline-block;
	background: url("../images/common/arrow_right_white.svg") left top no-repeat;
	background-size: contain;
	width: 30px;
	height: 15px;
	position: absolute;
	right: 20px;
	bottom: 20px;
}
.common_service_list_box img{
	width: 100%;
}
.common_service_list_box .text_wrap{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.common_service_list_box .text_wrap .section_title{
	color: #FFFFFF;
	margin-bottom: 0;
}
.common_service_list_box .text_wrap .section_title .f_en{
	color: #FFFFFF;
}
.common_service_list_box .text_wrap .section_title .f_en:before{
	background-color: #FFFFFF;
}

@media (max-width: 768px) {
	.common_service_list{
		display: grid;
		grid-template-columns: 1fr;
	}
	.common_service_list_box .thumb_wrap img{
		width: 100%;
		height: 40vw;
		object-fit: cover;
	}
}

/**** common_contact ****/
.common_contact a{
	display: block;
	position: relative;
}
.common_contact .text_wrap{
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translate3d(0,-50%,0);
}
.common_contact .section_title{
	position: relative;
}
.common_contact .section_title:after{
	content: "";
	display: inline-block;
	background: url(../images/common/arrow_right_white.svg) left top no-repeat;
	background-size: contain;
	width: 50px;
	height: 25px;
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translate3d(0,-50%,0);
}

@media (max-width: 768px) {
	.common_contact .thumb_wrap img{
		width: 100%;
		height: 40vw;
		object-fit: cover;
	}
	.common_contact .text_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
	}
	.common_contact .section_title:after{
		display: none;
	}
	.common_contact a:after {
    content: "";
    display: inline-block;
    background: url(../images/common/arrow_right_white.svg) left top no-repeat;
    background-size: contain;
    width: 30px;
    height: 15px;
    position: absolute;
    right: 20px;
    bottom: 20px;
	}
}


/**** main *****/
main p{
	line-height: 2.12;
}

.h3_title{
	font-size: 1.37rem;
	font-weight: bold;
	margin-top: 30px;
	margin-bottom: 20px;
}
.h3_title:first-child{
	margin-top: 0px;
}


/**** table *****/
.table_scroll{
	margin-top: 30px;
}
.table_style_01{
	width: 100%;

	border-top: 1px solid #dcdcdc;
}
.table_style_01 th,
.table_style_01 td{
	padding: 25px;
	border-bottom: 1px solid #dcdcdc;
}
.table_style_01 th{
	background-color: #ededed;
}
.table_style_01 .bg_light{
	background-color: #f5f5f5;
}

.table_style_01.is_border{
	border-left: 1px solid #dcdcdc;
}
.table_style_01.is_border th,
.table_style_01.is_border td{
	border-right: 1px solid #dcdcdc;
}

@media (max-width: 768px) {
	.table_scroll{
		margin-top: 15px;
	}
	.table_style_01 th,
	.table_style_01 td{
		padding: 15px;
	}
}


/**** sauna_block ***/
.sauna_block{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 60px;
	align-items: center;
}
.sauna_block .thumb_wrap{
	margin-right: calc( (100vw - 1200px) / -2 );
}
@media (max-width: 1280px){
	.sauna_block{
		grid-gap: 40px;
	}
	.sauna_block .thumb_wrap{
		margin-right: -40px;
	}
}
@media (max-width: 768px) {
	.sauna_block{
		display: flex;
		flex-direction: column;
		grid-gap: 0;
		align-items: unset;
	}
	.sauna_block .text_wrap{
		display: contents;
	}
	.sauna_block .text_wrap .section_title{
		order: -2;
	}
	.sauna_block .thumb_wrap{
		order: -1;
		margin-right: 0;
	}
}


/**** price_block ***/
.price_block{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 60px;
	align-items: center;
}
.price_block .thumb_wrap{
	margin-left: calc( (100vw - 1200px) / -2 );
}
@media (max-width: 1280px){
	.price_block{
		grid-gap: 40px;
	}
	.price_block .thumb_wrap{
		margin-left: -40px;
	}
}
@media (max-width: 768px) {
	.price_block{
		display: flex;
		flex-direction: column;
		grid-gap: 0;
		align-items: unset;
	}
	.price_block .text_wrap{
		display: contents;
	}
	.price_block .text_wrap .section_title{
		order: -2;
	}
	.price_block .thumb_wrap{
		order: -1;
		margin-left: 0;
		margin-bottom: 30px;
	}
}


/***** voice *****/
.voice_list .box_inner{
	padding: 50px 40px;
}
.voice_list .title{
	font-size: 1.37rem;
	font-weight: bold;
	color: #ff385c;
	text-align: center;
	margin-top: 20px;
	margin-bottom: 20px;
}
.voice_list .text{
	line-height: 2;
}

@media (max-width: 768px) {
	.voice_list .box_inner{
		padding: 20px 15px;
	}
}


/**** management *****/
.management_list{
	
}
.management_list .box_inner{
	display: block;
	background-color: #FFFFFF;
}
.management_list .text_wrap{
	padding: 30px 40px;
}
.management_list .text_wrap .cat{
	font-size: 0.75rem;
	color: #ff385c;
}
.management_list .text_wrap .title{
	font-size: 1.37rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.management_list .text_wrap .text{
	line-height: 2;
}

@media (max-width: 768px) {
	.management_list .text_wrap{
		padding: 20px 15px;
	}
}


/***** flow ******/
.flow_list{
	
}
.flow_list dl{
	display: flex;
	align-items: center;
}
.flow_list dl:not(:last-child){
	margin-bottom: 20px;
	position: relative;
}
.flow_list dl dt{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 140px;
	height: 140px;
	font-size: 2.13rem;
	letter-spacing: 0.12em;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #ff385c;
	position: relative;
}
.flow_list dl:not(:last-child) dt:after{
	content: "";
	display: inline-block;
	width: 10px;
	height: 20px;
	background-color: #ffabbb;
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translate3d(-50%,0,0);
}
.flow_list dl dd{
	flex: 1;
	height: 100%;
	padding: 0px 40px;
}
.flow_list .title{
	font-size: 1.37rem;
	font-weight: bold;
	margin-bottom: 5px;
}
.flow_list .text{
	line-height: 2;
}

@media (max-width: 768px) {
	.flow_list dl{
		align-items: unset;
	}
	.flow_list dl dt{
		font-size: 1.5rem;
		width: 60px;
		height: auto;
	}
	.flow_list dl:not(:last-child) dt:after{
		display: none;
	}
	.flow_list dl dd{
		padding: 15px;
		position: relative
	}
	.flow_list dl:not(:last-child) dd:after{
		content: "";
		display: inline-block;
		width: 10px;
		height: 20px;
		background-color: #f4ded3;
		position: absolute;
		left: 50%;
		top: 100%;
		transform: translate3d(-50%,0,0);
	}
}


/**** price *****/
.price_box:first-of-type{
	margin-top: 60px;
}
.price_box{
	padding: 60px 80px;
	border-top: 1px solid #dcdcdc;
	border-bottom: 1px solid #dcdcdc;
	margin-bottom: -1px;
	background-color: #FFFFFF;
}

@media (max-width: 768px) {
	.price_box:first-of-type{
		margin-top: 30px;
	}
	.price_box{
		padding: 30px 20px;
	}
}







/**** area *****/
#area{
	padding-top: 50px;
	padding-bottom: 50px;
}
.area_block{
	display: flex;
	align-items: center;
	gap: 10%;
}
.area_block .text_wrap{
	flex: 1;
}
@media (max-width: 768px) {
	.area_block{
		flex-direction: column;
		gap: 30px;
	}
	.area_block .thumb_wrap{
		width: 50%;
		margin: auto;
	}
}


/**** faq *****/
.faq_block{
	border-top: 1px solid #5a442c;
	margin-bottom: 20px;
}
.faq_block dl{
	border-bottom: 1px solid #5a442c;
}
.faq_block dl dt{
	padding: 30px 70px 30px 70px;
	position: relative;
	font-size: 1.13rem;
	line-height: 1.5;
	background-color: #ffffff;
	color: #5a442c;

}
.faq_block dl dt:hover{
	cursor: pointer;
}
.faq_block dl dt:before{
	content: "";
	display: inline-block;
	background: url("../images/common/qa_icon_q.png") center center no-repeat;
	background-size: contain;
	width: 31px;
	height: 31px;
	position: absolute;
	left: 30px;
	top: 30px;
	font-size: 1.25rem;
	line-height: 1.25;
}
.faq_block dl dt:after{
	content: "";
	display: inline-block;
	background: url("../images/common/arrow_faq.png") center center no-repeat;
	background-size: contain;
	width: 20px;
	height: 14px;
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translate3d(0,-50%,0);
	transition: transform 0.3s ease;
}
.faq_block dl.open dt:after{
	transform: translate3d(0,-50%,0) rotate(180deg);
}
.faq_block dl dd{
	padding: 0px 30px 25px 100px;
	position: relative;
	color: #5a442c;
}
.faq_block dl dd:before{
	content: "";
	display: inline-block;
	background: url("../images/common/qa_icon_a.png") center center no-repeat;
	background-size: contain;
	width: 31px;
	height: 31px;
	position: absolute;
	left: 60px;
	top: 3px;
	font-size: 1.25rem;
	line-height: 1.25;
}
.faq_block dl dd p:not(:last-child){
	margin-bottom: 1em;
}

.faq_block a{
	text-decoration: underline;
}

@media (max-width: 768px) {
	.faq_block dl dt {
		font-size: 1rem;
    padding: 15px 40px 15px 40px;
	}
	.faq_block dl dt:before{
		left: 10px;
	    top: 14px;
	    font-size: 1.13rem;
	}
	.faq_block dl dt:after{
		width: 15px;
		height: 15px;
		right: 15px;
	}
	.faq_block dl dd{
		padding: 10px 15px 10px 55px;
	}
	.faq_block dl dd:before{
		left: 30px;
		top: 15px;
		font-size: 1.13rem;
	}
	.faq_block dl dt::before {
	  width: 23px;
	  height: 23px;
	}
	.faq_block dl dd::before {
		left: 25px;
		top: 15px;
		font-size: 1.13rem;
	}
	.faq_block dl dd::before{
	  width: 23px;
	  height: 23px;
	}
}


/**** media_text_block ****/
.media_text_block{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 60px;
	align-items: center;
	margin-top: 60px;
}
.media_text_block .thumb img{
	width: 100%;
}

@media (max-width: 768px) {
	.media_text_block{
		display: flex;
		flex-direction: column;
		grid-gap: 20px;
		margin-top: 40px;
	}
}


/**** point_block ****/
.point_block{
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 60px;
	background-color: #FFFFFF;
}
.point_block .thumb{
	height: 100%;
}
.point_block .thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.point_block .text_wrap{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px 60px;
	position: relative;
}
.point_block .text_wrap .num{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	background-color: #ff385c;
	font-size: 1.34rem;
	color: #FFFFFF;
	position: absolute;
	right: 0;
	top: 0;
}

@media (max-width: 1000px){
	.point_block .text_wrap{
		padding: 20px 50px;
	}
	.point_block .text_wrap .num{
		font-size: 1.13rem;
		width: 50px;
		height: 50px;
	}
}

@media (max-width: 768px) {
	.point_block{
		display: flex;
		flex-direction: column;
		grid-gap: 0px;
		margin-top: 30px;
	}
	.point_block .text_wrap{
		padding: 30px 20px;

	}
	.point_block .text_wrap .num{
		width: 30px;
		height: 30px;
	}
}


/**** ota_list ***/
.ota_list .box_inner{
	height: 100%;
	display: flex;
	flex-direction: column;
}
.ota_list .text_wrap{
	flex: 1;
	padding: 20px 30px;
	background-color: #FFFFFF;
	margin-top: 2px;
}
.ota_list .title{
	font-size: 1.13rem;
	font-weight: bold;
	color: #ff385c;
	margin-bottom: 10px;
}

@media (max-width: 768px) {
	.ota_list .text_wrap{
		padding: 20px 15px;
	}
}


.plan{
  position: relative;
}
/*
#loading {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: #fff;
  text-align: center;
}
*/
.header{
  background-image: url(../images/common/head_bg01.png);
  background-repeat: no-repeat;
  background-position: -90px -20px;
  padding-bottom: 40px;
}

.underlayer .header{
  background-image: none;
    padding-bottom: 20px;
}

@media (max-width: 1200px) {
	.header {
  		background-image: none;
  	}
}
.section_title_h2wrap{
	text-align: center;
}

.section_title_text{
  color: #5a442c;
  padding-bottom: 10px;
  display: block;
  font-weight: 500;
  font-size: 1.15em;
  z-index: 10;
  position: relative;
}

@media (max-width: 768px) {
	.header {
		padding-bottom: 0px;
		z-index: 100;
		transition:background 1s,color 1s;
		z-index: 1000;
	}
	.header_color{
		background-color:rgba(255,255,255,0.8);
	}
}


.anim-underline01 {
  position: relative;
}

.anim-underline01::before {
  content:"";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent 70%, #cac81d 90%);
  animation: underlineAnim 3s ease-in infinite;
  z-index: -1;
}

@keyframes underlineAnim {
  0% {
    right: 100%;
  }
  100% {
    right: 0;
  }
}

#csr h1{
	margin-top: 50px;
	font-size: 2.2rem;
	border: 0;
	text-align: center;
}

#csr .title_area img{
	width: 100%;
	height: auto;
	margin-bottom: 50px;
}


#csr .Osaka_Expo_image_area{
	width: 100%;
	
}

#csr .head_text{
	font-size: 2rem;
	background-color: #ffffff;
	color: #5a442c;
	border-bottom:2px double #5a442c;
	padding-bottom: 5px;
	margin-bottom: 30px;
	text-align: center;
}

#csr .first_head{
	margin-top: 60px;
}

#csr h2{
	border: 0;
	margin-bottom: 10px;
	padding-bottom: 0;
	background-color: #5a442c;
	color:#ffffff ;
	padding: 8px 0 8px 2px;
	width: 100%;
	height: auto;
	font-weight:600;
	font-size: 1.5rem;
}

#csr .interview_title_text p{
	margin-bottom: 45px;
	font-weight: bold;
}
#csr .interview_title_text .interview_image{
	text-align: center;
}

#csr .interview_title_text .interview_image img{
	width: 70%;
	height: auto;
	margin-bottom: 30px;
}

#csr .interview_title_text .under_text a{
	text-decoration: underline;
	color: #1E90FF;
}

#csr .interview_title_text .under_text :hover{
	transition: .3s;
	opacity: 0.6;
}


#csr .sns_share_area .text{
	text-align: center;
	font-weight: bold;
	margin-top: 70px;
	margin-bottom: 7px;
}

#csr .sns_share_area ul{
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

#csr .sns_share_area ul li{
	width: 15%;
	height: auto;
	text-align: center;
}
