﻿@charset "UTF-8";
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: container */

html {
	height: 100%;
	margin: 0;
	padding: 0;
}
body {
	height: 100%;
	margin: 0;
	padding: 0;
	opacity: 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-transition: opacity .45s cubic-bezier(.4, 0, 0, 1);
	transition: opacity .45s cubic-bezier(.4, 0, 0, 1);
	animation: fadein 3s forwards;
}
@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}
article {
	width: 100%;
	max-width: 1584px;
	margin: 0 auto;
	padding-left: 10px;
	padding-right: 10px;
}
.w_750 article {
	max-width: 770px;
}
.breadCrumb ul {
	max-width: 1280px;
}
@font-face {
	font-family: 'main_font';
	src: url('font/main_font_R.ttf') format('truetype');
	font-weight: 400; /* 標準のフォント */
}

@font-face {
	font-family: 'main_font';
	src: url('font/main_font_M.ttf') format('truetype');
	font-weight: 500; /* やや太字のフォント */
}

@font-face {
	font-family: 'main_font';
	src: url('font/main_font_B.ttf') format('truetype');
	font-weight: 700; /* 太字のフォント */
}
:root {
	--font_basic: 'main_font', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	--font_sub: 'M PLUS 1p', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;

	--font_sub: 'Shippori Mincho', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	--font_accent: 'Josefin Slab', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;

	--radius: clamp(30px, 6vw, 100px);

	--gap: clamp(20px, 3vw, 50px);
	--gap_s: clamp(10px, 2vw, 25px);
	--gap_list: clamp(15px, 4vw, 70px);
}
@media screen and (min-width: 1280px) {

}
@media screen and (max-width: 719px) {
	html, body {
		-webkit-text-size-adjust: 100%;
		-webkit-overflow-scrolling: touch;
	}
}
/*--------------------------------------- header */

header {
	position: fixed;
	z-index: 98;
	padding: 1%;
}
header #header_inner {
	color: #000;
	max-width: 100%;
	/* ヘッダ幅100% */
	/* max-width: 1280px; ヘッダ最大幅1280px */
	margin: 0 auto;
	padding: 0 10px 0 10px;
	display: flex;
	align-items: center;
	gap: 10px;
}
header #header_logo {
	margin: 0;
	padding: 0;
	line-height: 0;
	vertical-align: middle;
}
header #header_logo a {
	display: inline-block;
	padding: 0;
}
header #header_logo img {
	width: 100%;
	vertical-align: middle;
}
/* header_contents */

#header_contents {
	line-height: 1;
	position: relative;
}
#header_contents:before {
	content: "";
	background-color: #ffffff;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	border-radius: 100em;
	transition: 0.4s width cubic-bezier(.4, 0, 0, 1);
}
#header_contents a {
	text-decoration: none;
	display: block;
}
#header_menu_lower .menu_btn {
	font-weight: 500;
	position: relative;
	cursor: pointer;
}
#header_menu_lower .menu_btn:after {
	content: "";
}
.menu_btn .toggle {
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -14px;
	width: 36px;
	height: 28px;
	cursor: pointer;
}
.menu_btn .toggle>span {
	width: 100%;
	height: 4px;
	left: 0;
	display: block;
	background: #000000;
	position: absolute;
	transition: transform .6s ease-in-out;
}
.menu_btn .toggle>span:nth-child(1) {
	top: 0;
}
.menu_btn .toggle>span:nth-child(2) {
	top: 50%;
	transform: translatey(-50%);
}
.menu_btn .toggle>span:nth-child(3) {
	bottom: 0;
}
.is-open .menu_btn .toggle>span {
	background: #fff;
}
.is-open .menu_btn .toggle>span:nth-child(1) {
	top: 50%;
	transform: rotate(45deg) translatey(-50%);
}
.is-open .menu_btn .toggle>span:nth-child(2) {
	width: 0;
}
.is-open .menu_btn .toggle>span:nth-child(3) {
	top: 50%;
	transform: rotate(-45deg) translatey(-50%);
}
#header_menu_lower .menu_list {
	display: none;
	visibility: hidden;
	opacity: 0;
}
#header_menu_lower .menu_list ul {
	margin: 0;
	padding: 0;
}
#header_menu_lower .menu_list li {

}
header #header_logo img {
	max-width: 50px;
}
#header_contents {
	padding: 2px 15px;
}
#header_menu_lower .menu_btn {
	padding: 14px 45px 14px 0;
}
#header_contents.open .menu_btn {
	padding: 14px 20px 14px 0;
}
.menu_btn .toggle {
	margin-top: -10px;
	width: 30px;
	height: 20px;
}
.menu_btn .toggle>span {
	height: 2px;
}
#header_contents.open .toggle {
	display: none;
	visibility: hidden;
	opacity: 0;
}
@media screen and (min-width: 720px) {
	#header_menu_lower {
		display: table;
	}
	#header_menu_lower .menu_btn {
		display: table-cell;
		vertical-align: middle;
	}
	#header_contents.open .menu_list {
		display: table-cell;
		vertical-align: middle;
		visibility: visible;
		opacity: 1;
		animation: open 0.4s forwards;
	}
	@keyframes open {
		from {
			transform: translateX(-20px);
			opacity: 0;
		}
		to {
			transform: translateX(0);
			opacity: 1;
		}
	}
	#header_menu_lower .menu_list li {
		display: inline-block;
		vertical-align: middle;
		padding: 0 10px;
		border-left: 1px solid;
	}
	#header_menu_lower .menu_list li a {
		padding: 0 10px;
	}
	.sp_navi {
		display: none;
	}
	#header_contents:before {
		width: 130px;
	}
	#header_contents.open:before {
		animation: open_header_contents 0.2s forwards;
		width: 130px;
	}
	@keyframes open_header_contents {
		from {
			width: 130px;
		}
		to {
			width: 100%;
		}
	}
}
@media screen and (max-width: 719px) {
	header {
		display: none;
	}
}
/*--------------------------------------- link_instagram */
.link_instagram {
	position: fixed;
	z-index: 98;
	right: 25px;
	top: 25px;
}
.link_instagram a {
	display: block;
	background-color: #fff;
	border-radius: 100%;
}
.link_instagram img {
	max-width: clamp(40px, 4vw, 60px);
	vertical-align: middle;
}

@media screen and (max-width: 719px) {
	.link_instagram {
		display: none;
	}
}
/*--------------------------------------- footer */

.footerBox {
	text-align: center;
}
@media screen and (min-width: 720px) {
	.footerBox {
		padding: 6% 10px;
	}
}
@media screen and (max-width: 719px) {
	.footerBox {
		padding: 60px 10px 100px;
	}

}
/*--------------------------------------- sp_menu */

.sp_menu {
	overflow-y: scroll;
	max-height: 100%;
}
.sp_menu_btn {
	position: fixed;
	left: 25px;
	top: 25px;
	width: 40px;
	height: 40px;
	background-color: #ffffff;
	border-radius: 100%;
	z-index: 1000;
}
.sp_menu_btn .toggle {
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -7px;
	margin-top: -5px;
	width: 14px;
	height: 11px;
	cursor: pointer;
}
.sp_menu_btn .toggle>span {
	width: 100%;
	height: 1px;
	left: 0;
	display: block;
	background: #000000;
	position: absolute;
	transition: transform .6s ease-in-out;
}
.sp_menu_btn .toggle>span:nth-child(1) {
	top: 0;
}
.sp_menu_btn .toggle>span:nth-child(2) {
	top: 50%;
	transform: translatey(-50%);
}
.sp_menu_btn .toggle>span:nth-child(3) {
	bottom: 0;
}
.sp_menu_btn.close .toggle>span:nth-child(1) {
	top: 50%;
	transform: rotate(45deg) translatey(-50%);
}
.sp_menu_btn.close .toggle>span:nth-child(2) {
	width: 0;
}
.sp_menu_btn.close .toggle>span:nth-child(3) {
	top: 50%;
	transform: rotate(-45deg) translatey(-50%);
}
.sp_menu {
	position: fixed;
	z-index: 135;
	left: -100%;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 5vh 0px 40px;
	background-color: #f09100;
	overflow-y: auto;
	opacity: 0;
	text-align: center;
	transition: left 0.2s;
}
.sp_menu ul {
	font-size: clamp(18px, 5vw, 24px);
	list-style: none;
	padding: 0;

}
.sp_menu ul li {
	padding-top: 5vh;
}
.sp_menu ul li a {
	font-weight: bold;
	text-decoration: none;
	color: #ffffff;
	display: block;
}
.sp_menu .btn_maplefromcanada {
	padding-top: 5vh;
}
.sp_menu .btn_maplefromcanada a {
	display: inline-block;
}
.sp_menu .btn_maplefromcanada img {
	max-width: 190px;
	vertical-align: middle;
}
.sp_menu .copyright {
	color: #ffffff;
	font-size: clamp(16px, 3vw, 20px);
	position: absolute;
	width: 100%;
	bottom: 5vh;
}
.sp_menu.menu_fixed {
	left: 0;
	opacity: 10;
}
.sp_menu_bg {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 20;
	width: 100%;
	height: 100%;
	display: none;
}
.sp_menu_bg.bg_fixed {
	display: block;
	background-color: transparent;
}
@media screen and (min-width: 720px), print {
	.sp_menu_btn, .sp_menu {
		display: none;
	}
}
@media screen and (max-width:719px) {
	.sp_menu_btn, .sp_menu_btn span {
		display: inline-block;
		box-sizing: border-box;
	}
}
/*--------------------------------------- columnBox */

@media screen and (min-width: 720px), print {
	.columnBox {
		display: flex;
		width: 100%;
		gap: clamp(30px, 3vw, 40px);
	}
	.columnBox_free {
		display: flex;
		width: 100%;
		gap: clamp(30px, 3vw, 40px);
	}
	.columnBox .column {
		flex: 1;
	}
}
@media screen and (max-width:719px) {
	.columnBox .column {
		padding: 10px;
	}
}
/*--------------------------------------- sideContaints */

#side {
	padding: 10px;
	border: 1px solid #ddd;
	background-color: #fff;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
#side .menu_title {
	background-color: #eeeeee;
	font-size: 1.1em;
	padding: 1em 20px;
	word-wrap: break-word;
	overflow-wrap: break-word;
	box-sizing: border-box;
}
#side ul {
	list-style: none;
	padding: 10px 0 0 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
#side ul li {
	border-top: 1px solid #dddddd;
	position: relative;
}
#side ul li:first-child {
	border-top: none;
}
#side li a {
	color: #333;
	font-size: 0.95em;
	text-decoration: none;
	display: block;
	padding: 0.5em 0.5em 0.5em 2em;
	transition: color linear 0.2s;
	background-image: url(img/icon_right_arrow.png);
	background-repeat: no-repeat;
	background-position: 0.5em 0.8em;
}
#side li a:hover {
	color: #777;
	background-image: url(img/icon_right_arrow.png);
	background-position: 0.8em 0.8em;
}
#side li.current a {
	background-color: #EFEFEF;
}
@media screen and (min-width:720px) {
	.columnBox .column_side {
		width: 280px;
	}
}
@media screen and (max-width: 719px) {
	.columnBox .column_side {
		padding: 1em 0 0;
	}
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: common_setting */

img {
	max-width: 100%;
	height: auto !important;
	width/***/
	: auto;
}
table td img {
	max-width: 100%;
	height: auto !important;
}
iframe {
	max-width: 100%;
}
.text_center {
	text-align: center;
}
@media screen and (min-width:720px) {
	.only_pc {
		display: block;
	}
	.only_sp {
		display: none;
	}
}
@media screen and (max-width:719px) {
	.only_pc {
		display: none;
	}
	.only_sp {
		display: block;
	}
}
/*--------------------------------------- font */

html {
	overflow-y: scroll;
	min-height: 100%;
	font-weight: 300;
	font-family: var(--font_basic);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}
.body_common {
	color: #a6681e;
	background-color: #f9f5ef;
}
@media (max-width:699px) {
	html {
		font-size: 12px
	}
}
@media (min-width:700px) and (max-width:999px) {
	html {
		font-size: 13px
	}
}
@media (min-width:1000px) and (max-width:1199px) {
	html {
		font-size: 14px
	}
}
@media (min-width:1200px) and (max-width:1599px) {
	html {
		font-size: 15px
	}
}
@media (min-width:1600px) and (max-width:1999px) {
	html {
		font-size: 18px
	}
}
@media (min-width:2000px) and (max-width:2399px) {
	html {
		font-size: 21px
	}
}
@media (min-width:2400px) {
	html {
		font-size: 24px
	}
}
h1, h2, h3, h4, h5, h6 {
	clear: both;
	position: relative;
	z-index:1;
	font-weight: 200;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	text-decoration: none;
}
.lower h1, h2 {
	font-size: clamp(22px, 6vw, 72px);
}
/* h:変更した場合はstyle_editor.cssにも反映すること */
.lower h1, h2, h3 {
	font-weight: bold;
	max-width: 1260px;
	margin: 0 auto;
	text-align: center;
}
h3 {
	font-size: clamp(18px, 2vw, 36px);
	padding: 3% 10px clamp(50px, 7vw, 120px);
}
h4 {
	margin: 0;
	padding: 1em 0;
}
h5 {
	margin: 0;
	padding: 1em 0;
}
h6 {
	margin: 0;
	padding: 1em 0;
}
.bold {
	font-weight: bold;
}
.title_style_1 {
	color: #a03c14;
	font-weight: bold;
	text-align: center;
	font-size: clamp(22px, 3vw, 44px);
	padding-bottom: clamp(35px, 5vw, 80px);
}
@media screen and (min-width: 720px), print {
	h4 {
		font-size: 1.3em;
	}
	h5 {
		font-size: 1.1em;
	}
	h6 {
		font-size: 1em;
	}
}
@media screen and (max-width: 719px) {
	h4 {
		font-size: 1.2em;
	}
	h5, h6 {
		font-size: 1em;
	}
}
/*--------------------------------------- color */

a {
	color: #000000;
}
a:hover {
	color: #656565;
}
a:hover img {
	opacity: 0.8;
}
.white {
	color: #FFFFFF;
}
.black {
	color: #000000;
}
.red {
	color: #d2202f;
}
.blue {
	color: #40559F;
}
.bg_white {
	background-color: #FFFFFF;
}
.bg_black {
	background-color: #000000;
}
.bg_lightgrey {
	background-color: #F9F9F9;
}
.bg_grey {
	background-color: #EFEFEF;
}
.bg_blue {
	background-color: #40559F;
	color: #FFFFFF;
}
.bg_lightblue {
	background-color: #F0FCFF;
}
.bg_red {
	background-color: #d2202f;
	color: #FFFFFF;
}
.bg_lightred {
	background-color: #FFD9DE;
}
.bg_pink {
	background-color: #f7d8ea;
}
.bg_yellow {
	background-color: #FFF599;
}
.bg_green {
	background-color: #60D795;
	color: #FFFFFF;
}
.bg_lightgreen {
	background-color: #C5FFDF;
}
.bg_cream {
	background-color: #FFFFFA;
}
/*--------------------------------------- btn */

.btn {
	text-align: center;
	display: block;
	padding: 0.5em 20px;
}
.btn a {
	border-radius: 5px;
	padding: 0.8em 2em;
	line-height: 1.5;
	background-color: #414D99;
	color: #FFFFFF;
	text-decoration: none;
	display: inline-block;
	transition: background-color linear 0.2s;
}
.btn a:hover {
	background-color: #1d86ed;
}
/* CMSエディター：ボタン */

.editor-style-btn1 {
	display: inline-block;
	margin: 0.5em 20px;
	padding: 0.8em 2em;
	color: #FFFFFF;
	border-radius: 5px;
	background-color: #414D99;
	transition: background-color linear 0.2s;
}
.editor-style-btn1:hover {
	background-color: #1d86ed;
}
.editor-style-btn1 a {
	color: #FFFFFF;
	text-decoration: none;
}
.editor-style-text1 {
	color: #ffffff;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3), -1px -1px 5px rgba(0, 0, 0, 0.3);
}
a.o-button.-circle {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}
.o-button {
	color: #ffffff;
	position: relative;
	display: inline-block;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	font-weight: 100;
	letter-spacing: .05em;
	text-decoration: none;
}
.o-button_size_m {
	width: clamp(320px, 19vw, 450px);
	max-width: 100%;
	text-align: center;
}
.o-button.-white {
	color: #000000;
}
.o-button img {
	max-width: 1em;
	vertical-align: middle;
	margin-top: -0.25em;
}
@media (max-width:699px) {
	.o-button {
		font-size: 14px;
		padding: 22px 30px 21px
	}
}
@media (min-width:700px) {
	.o-button {
		/*font-size:.9333333333rem;*/
		/*padding:1.6666666667rem 2.3333333333rem 1.6rem*/
		padding: 1rem 1.5rem;
	}
}
.o-button.-circle {
	width: 4rem;
	height: 4rem;
	line-height: 1;
	padding: 0;
	vertical-align: middle
}
.o-button.-circle::before {
	border-radius: 50%
}
.o-button.-circle::after {
	border-radius: 50%
}
.o-button.-circle svg {
	display: block;
	margin: 0 auto;
	fill: #b98349;
	-webkit-transition: fill .45s cubic-bezier(.4, 0, 0, 1);
	transition: fill .45s cubic-bezier(.4, 0, 0, 1);
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
@media (max-width:699px) {
	.o-button.-circle {
		width: 45px;
		height: 45px
	}
	.o-button.-circle svg {
		width: 15px;
		height: 15px
	}
	.o-button.-circle.-medium {
		width: 45px;
		height: 45px
	}
	.o-button.-circle.-small {
		width: 35px;
		height: 35px
	}
}
@media (min-width:700px) {
	.o-button.-circle svg {
		width: 1.3333333333rem;
		height: 1.3333333333rem
	}
	.o-button.-circle.-medium {
		width: 3.3333333333rem;
		height: 3.3333333333rem
	}
	.o-button.-circle.-medium svg {
		width: .8666666667rem;
		height: .8666666667rem
	}
	.o-button.-circle.-small {
		width: 2.6666666667rem;
		height: 2.6666666667rem
	}
	.o-button.-circle.-small svg {
		width: .8666666667rem;
		height: .8666666667rem
	}
}
.o-button.-label {
	background-color: #fdc282;
	border-radius: 50%
}
.o-button.-beige svg, .o-button.-white svg {
	fill: #000
}
.o-button.-center {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}
.o-button svg {
	position: relative;
	z-index: 2
}
.o-button:hover {
	color: #fff
}
.o-button.-white:hover {
	color: #000
}
.o-button:hover svg {
	fill: #000
}
.o-button.-dot {
	padding-left: 4.6666666667rem
}
.o-button.-margin {
	margin-top: 1.6666666667rem
}
.o-button.-min {
	min-width: 11.3333333333rem
}
.o-button_bg {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	box-shadow: 0px 14px 33px -14px rgb(151 89 38 / 58%);
	-webkit-transition: -webkit-transform .6s cubic-bezier(.6, .01, 0, 1.38);
	transition: -webkit-transform .6s cubic-bezier(.6, .01, 0, 1.38);
	transition: transform .6s cubic-bezier(.6, .01, 0, 1.38);
	transition: transform .6s cubic-bezier(.6, .01, 0, 1.38), -webkit-transform .6s cubic-bezier(.6, .01, 0, 1.38);
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	overflow: hidden;
	border-radius: 4rem;
	z-index: 1
}
.o-button_bg::after, .o-button_bg::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #c84b0f;
	-webkit-transition: background-color .45s cubic-bezier(.4, 0, 0, 1);
	transition: background-color .45s cubic-bezier(.4, 0, 0, 1);
	box-shadow: 0px 14px 33px -14px rgb(151 89 38 / 58%);
}
.o-button_bg::before {
	border-radius: 4rem
}
.o-button_border {
	border: 2px solid;
	color: #c84b0f;
	border-radius: 4rem;
}
.o-button_border:hover{
	color: #c84b0f;
}
@media (min-width:700px) {
	.o-button_bg::before {
		top: 1px;
		right: 1px;
		bottom: 1px;
		left: 1px
	}
}
.o-button.-circle .o-button_bg::before {
	border-radius: 50%
}
.o-button_bg::after {
	background-color: #e57920;
	-webkit-transform: translateY(150%) rotate(10deg);
	-ms-transform: translateY(150%) rotate(10deg);
	transform: translateY(150%) rotate(10deg);
	-webkit-transform-origin: center bottom;
	-ms-transform-origin: center bottom;
	transform-origin: center bottom;
	-webkit-transition: background-color .45s cubic-bezier(.4, 0, 0, 1), -webkit-transform .6s cubic-bezier(.4, 0, 0, 1);
	transition: background-color .45s cubic-bezier(.4, 0, 0, 1), -webkit-transform .6s cubic-bezier(.4, 0, 0, 1);
	transition: transform .6s cubic-bezier(.4, 0, 0, 1), background-color .45s cubic-bezier(.4, 0, 0, 1);
	transition: transform .6s cubic-bezier(.4, 0, 0, 1), background-color .45s cubic-bezier(.4, 0, 0, 1), -webkit-transform .6s cubic-bezier(.4, 0, 0, 1);
	left: -5%;
	right: -5%
}
.o-button.-circle .o-button_bg::after {
	-webkit-transform: translateY(150%) rotate(15deg);
	-ms-transform: translateY(150%) rotate(15deg);
	transform: translateY(150%) rotate(15deg)
}
.o-button.-circle .o-button_bg {
	border-radius: 50%
}
.o-button.-label .o-button_bg {
	border-radius: 4rem;
	-webkit-transform: translateX(-100%);
	-ms-transform: translateX(-100%);
	transform: translateX(-100%);
	-webkit-transition: -webkit-transform .45s cubic-bezier(.4, 0, 0, 1) .1s;
	transition: -webkit-transform .45s cubic-bezier(.4, 0, 0, 1) .1s;
	transition: transform .45s cubic-bezier(.4, 0, 0, 1) .1s;
	transition: transform .45s cubic-bezier(.4, 0, 0, 1) .1s, -webkit-transform .45s cubic-bezier(.4, 0, 0, 1) .1s;
	-webkit-transform-origin: center left;
	-ms-transform-origin: center left;
	transform-origin: center left;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	overflow: hidden
}
.o-button.-label .o-button_bg::before {
	left: 4rem;
	background-color: #fdc282
}
.o-button.-label .o-button_bg::after {
	background-color: #e57920;
	left: 0;
	-webkit-transform: scaleY(0);
	-ms-transform: scaleY(0);
	transform: scaleY(0);
	-webkit-transform-origin: center bottom;
	-ms-transform-origin: center bottom;
	transform-origin: center bottom;
	-webkit-transition: -webkit-transform .45s cubic-bezier(.4, 0, 0, 1);
	transition: -webkit-transform .45s cubic-bezier(.4, 0, 0, 1);
	transition: transform .45s cubic-bezier(.4, 0, 0, 1);
	transition: transform .45s cubic-bezier(.4, 0, 0, 1), -webkit-transform .45s cubic-bezier(.4, 0, 0, 1)
}
.o-button-hover:hover:not(:disabled):not([disabled]) .o-button_bg, .o-button.-submit:focus:not(:disabled):not([disabled]) .o-button_bg, .o-button:hover:not(:disabled):not([disabled]) .o-button_bg {
	-webkit-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1)
}
.o-button-hover:hover:not(:disabled):not([disabled]) .o-button_bg::after, .o-button.-submit:focus:not(:disabled):not([disabled]) .o-button_bg::after, .o-button:hover:not(:disabled):not([disabled]) .o-button_bg::after {
	-webkit-transform: translateY(0) rotate(0);
	-ms-transform: translateY(0) rotate(0);
	transform: translateY(0) rotate(0)
}
.is-mobile .o-button-hover:hover:not(:disabled):not([disabled]) .o-button_bg, .is-mobile .o-button.-submit:focus:not(:disabled):not([disabled]) .o-button_bg, .is-mobile .o-button:hover:not(:disabled):not([disabled]) .o-button_bg {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1)
}
.is-mobile .o-button-hover:hover:not(:disabled):not([disabled]) .o-button_bg::after, .is-mobile .o-button.-submit:focus:not(:disabled):not([disabled]) .o-button_bg::after, .is-mobile .o-button:hover:not(:disabled):not([disabled]) .o-button_bg::after {
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0)
}
.o-button-hover:hover:not(:disabled):not([disabled]) .o-button_bg, .o-button.-circle:hover:not(:disabled):not([disabled]) .o-button_bg {
	-webkit-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2)
}
.is-mobile .o-button-hover:hover:not(:disabled):not([disabled]) .o-button_bg, .is-mobile .o-button.-circle:hover:not(:disabled):not([disabled]) .o-button_bg {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1)
}
.o-button.-label:hover:not(:disabled):not([disabled]) .o-button_bg {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
	-webkit-transition-delay: 0s;
	transition-delay: 0s
}
.o-button.-label:hover:not(:disabled):not([disabled]) .o-button_bg::after {
	-webkit-transform: scaleY(1);
	-ms-transform: scaleY(1);
	transform: scaleY(1);
	-webkit-transition-delay: .2s;
	transition-delay: .2s
}
.o-button.-white .o-button_bg::before {
	background-color: #fff
}
.o-button.-white .o-button_bg::after {
	background-color: #fdc282
}
.o-button.-beige .o-button_bg::before {
	background-color: #f2eee5
}
.o-button.-beige .o-button_bg::after {
	background-color: #fdc282
}
.o-button.-border .o-button_bg::before {
	border: 1px solid #f3f1ee
}
@media (max-width:1199px) {
	.o-button.-shadow .o-button_bg::before {
		border: 1px solid #d3cdc1
	}
}
.o-button.-green .o-button_bg::before {
	background-color: #fff
}
.o-button.-green .o-button_bg::after {
	background-color: #63823b
}
.o-button.-blue .o-button_bg::before {
	background-color: #fff
}
.o-button.-blue .o-button_bg::after {
	background-color: #4569a2
}
.o-button.-red .o-button_bg::before {
	background-color: #fff
}
.o-button.-red .o-button_bg::after {
	background-color: #ed6c70
}
.has-search-open .o-button.-search .o-button_bg::before {
	background-color: #fdc282
}
.has-search-open .o-button.-search .o-button_bg::after {
	background-color: #e57920
}
.o-button_icon {
	position: relative;
	z-index: 2;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
.o-button_icon.-plus {
	display: inline-block;
	position: relative
}
@media (max-width:699px) {
	.o-button_icon.-plus {
		width: 12px;
		height: 12px
	}
}
@media (min-width:700px) {
	.o-button_icon.-plus {
		width: .6666666667rem;
		height: .6666666667rem
	}
}
.o-button_icon.-plus::after, .o-button_icon.-plus::before {
	content: "";
	display: inline-block;
	position: absolute;
	background-color: #000;
	-webkit-transition: background-color .45s cubic-bezier(.4, 0, 0, 1);
	transition: background-color .45s cubic-bezier(.4, 0, 0, 1)
}
.o-button_icon.-plus::before {
	top: 50%;
	right: 0;
	left: 0;
	height: 2px;
	margin-top: -1px
}
.o-button_icon.-plus::after {
	top: 0;
	bottom: 0;
	left: 50%;
	margin-left: -1px;
	width: 2px
}
.o-button.-green .o-button_icon.-plus::after, .o-button.-green .o-button_icon.-plus::before {
	background-color: #63823b
}
.o-button.-blue .o-button_icon.-plus::after, .o-button.-blue .o-button_icon.-plus::before {
	background-color: #4569a2
}
.o-button.-red .o-button_icon.-plus::after, .o-button.-red .o-button_icon.-plus::before {
	background-color: #ed6c70
}
.o-button-hover:hover .o-button.-blue .o-button_icon.-plus::after, .o-button-hover:hover .o-button.-blue .o-button_icon.-plus::before, .o-button-hover:hover .o-button.-green .o-button_icon.-plus::after, .o-button-hover:hover .o-button.-green .o-button_icon.-plus::before, .o-button-hover:hover .o-button.-red .o-button_icon.-plus::after, .o-button-hover:hover .o-button.-red .o-button_icon.-plus::before {
	background-color: #fff
}
.o-button-wrap {
	display: inline-block;
	position: relative
}
@media (max-width:699px) {
	.o-button-wrap.-offset {
		top: -22px
	}
}
@media (min-width:700px) {
	.o-button-wrap.-offset {
		top: -2rem
	}
}
.o-button-wrap.-absolute {
	position: absolute;
	right: 0;
	bottom: -2rem;
	left: 0
}
@media (max-width:699px) {
	.o-button-wrap.-margin {
		margin-top: 25px
	}
}
.o-button-wrap.-accordion {
	display: block;
	background-color: #fff
}
@media (max-width:699px) {
	.o-button-wrap.-accordion .o-button {
		top: 22px
	}
}
@media (min-width:700px) {
	.o-button-wrap.-accordion .o-button {
		top: 2rem
	}
}
.o-button-wrap.-section {
	display: block;
	margin-right: auto;
	margin-left: auto;
	text-align: center
}
.o-button_label {
	position: relative;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	z-index: 2;
	display: block;
	padding: 0 2em;
}
.o-button.-label .o-button_label {
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	font-size: .9333333333rem;
	font-weight: 700;
	height: 100%;
	padding: 1.6rem 4rem;
	padding-left: 3rem;
	border-radius: 4rem;
	overflow: hidden
}
.o-button:hover .o-button.-label .o-button_label .o-button_label_bg {
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
	-webkit-transition-delay: 0s;
	transition-delay: 0s
}
.o-button:hover .o-button.-label .o-button_label .o-button_label_bg::after {
	-webkit-transform: scaleY(1);
	-ms-transform: scaleY(1);
	transform: scaleY(1);
	-webkit-transition-delay: .2s;
	transition-delay: .2s
}
.o-button_dot {
	position: absolute;
	left: .4666666667rem;
	top: 50%;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	height: 3.3333333333rem;
	width: 3.3333333333rem;
	margin-top: -1.6666666667rem;
	border-radius: 50%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: .8rem;
	line-height: 1;
	z-index: 1;
	background-color: #fff;
	-webkit-transition: -webkit-transform .6s cubic-bezier(.6, .01, 0, 1.38);
	transition: -webkit-transform .6s cubic-bezier(.6, .01, 0, 1.38);
	transition: transform .6s cubic-bezier(.6, .01, 0, 1.38);
	transition: transform .6s cubic-bezier(.6, .01, 0, 1.38), -webkit-transform .6s cubic-bezier(.6, .01, 0, 1.38)
}
.o-button_dot:before {
	content: '';
	position: absolute;
	top: 3px;
	right: 3px;
	bottom: 3px;
	left: 3px;
	-webkit-transform: scale(0);
	-ms-transform: scale(0);
	transform: scale(0);
	background-color: #e57920;
	border-radius: 50%;
	-webkit-transition: -webkit-transform .45s cubic-bezier(.4, 0, 0, 1);
	transition: -webkit-transform .45s cubic-bezier(.4, 0, 0, 1);
	transition: transform .45s cubic-bezier(.4, 0, 0, 1);
	transition: transform .45s cubic-bezier(.4, 0, 0, 1), -webkit-transform .45s cubic-bezier(.4, 0, 0, 1);
	z-index: -1
}
.o-button:hover .o-button_dot {
	-webkit-transform: translateX(-.3333333333rem);
	-ms-transform: translateX(-.3333333333rem);
	transform: translateX(-.3333333333rem)
}
.o-button:hover .o-button_dot:before {
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	-webkit-transition-delay: 50ms;
	transition-delay: 50ms
}
.o-button_text {
	position: relative;
	opacity: 0;
	-webkit-transition: opacity .3s cubic-bezier(.4, 0, 0, 1);
	transition: opacity .3s cubic-bezier(.4, 0, 0, 1)
}
.o-button:hover .o-button_text {
	opacity: 1;
	-webkit-transition-delay: .1s;
	transition-delay: .1s
}
.o-button_label-static {
	position: absolute;
	left: 100%;
	top: 50%;
	line-height: 1;
	-webkit-transform: translate3d(0, -50%, 0);
	transform: translate3d(0, -50%, 0)
}
.o-button_label-static.-right {
	margin-left: 1rem;
	word-break: normal;
}
.o-button_label-static.-left {
	left: auto;
	right: 100%;
	margin-right: 1rem;
	word-break: normal;
}
.c-share .o-button_label-static {
	text-align: left;
	white-space: nowrap
}
/*--------------------------------------- add class */

.text_center {
	text-align: center;
}

@media screen and (min-width: 480px) {
	.text_center_pc {
		text-align: center;
	}
	.text_left_pc {
		text-align: left;
	}
}
@media screen and (max-width: 479px) {
	.text_center_sp {
		text-align: center;
	}
	.text_left_sp {
		text-align: left;
	}
}
/* fadein */
.fadein {
	opacity: 0.1;
	transform: translate(0, 3vw);
	transition: transform 1200ms;
	-moz-transition-delay: 200ms;
	-webkit-transition-delay: 200ms;
	-o-transition-delay: 200ms;
	-ms-transition-delay: 200ms;
	transition: all 1s;
}
.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
/* ---------	可視範囲に入ったらフェードイン common.js */
/*左から右にフェードイン*/
.left-to-right {
	opacity: 0.1;
	transform: translateX(-3vw);
	transition: all 1s;
}
.left-to-right.scrollin {
	opacity: 1;
	transform: translate(0);
}
.right-to-left {
	opacity: 0.05;
	transform: translateX(3vw);
	transition: all 1s;
}
.right-to-left.scrollin {
	opacity: 1;
	transform: translate(0);
}
/*下から上にフェードイン*/
.down-to-top {
	opacity: 0.1;
	transform: translateY(3vw);
	transition: all 1s;
}
.down-to-top.scrollin {
	opacity: 1;
	transform: translateY(0);
}
/*--------------------------------------- table */

table {
	border-collapse: collapse;
}
table th, table td {
	border: 1px solid #CCCCCC;
}
table th {
	background: #eeeeee;
}
table[border="0"], table[border="0"] th, table[border="0"] td {
	border: none;
}
table[border="1"], table[border="1"] th, table[border="1"] td {
	border: 1px solid #CCCCCC;
}
table[border="1"] th table[border="0"] td, table[border="1"] td table[border="0"] td {
	border: none;
}
@media screen and (max-width:719px) {
	table th {
		width: auto !important;
	}
	.sp_table td, .sp_table th, .sp_table tr {
		display: block;
		width: 100%!important;
	}
}
table.responsive, table.responsive2c {
	border-collapse: collapse;
	font-size: 0.95em;
}
table.responsive[border="0"], table.responsive[border="0"] th, table.responsive[border="0"] td, table.responsive2c[border="0"], table.responsive2c[border="0"] th, table.responsive2c[border="0"] td {
	border: none;
}
@media screen and (max-width: 719px) {
	table.responsive, table.responsive2c {
		max-width: 100%;
	}
	table.responsive td, table.responsive th {
		display: block;
		width: 100% !important;
	}
	table.responsive2c td, table.responsive2c th {
		float: left;
		width: 50% !important;
	}
	table.responsive td img, table.responsive2c td img {
		max-width: 100%;
		height: auto;
	}
}
table.responsive[border="0"] td table:not([border="0"]) th, table.responsive[border="0"] td table:not([border="0"]) td, table.responsive2c[border="0"] td table:not([border="0"]) th, table.responsive2c[border="0"] td table:not([border="0"]) td {
	border: 1px solid #dddddd;
}
@media screen and (max-width: 480px) {
	.sp_table[border="0"] td table:not([border="0"]) th, .sp_table[border="0"] td table:not([border="0"]) td {
		display: table-cell;
		width: auto !important;
		border-left: none;
		border-top: none;
	}
	table.responsive2c td, table.responsive2c th {
		width: 100% !important;
	}
}
/*--------------------------------------- list_text */
.list_text, .list_text li {
	display: block;
	padding: 0;
	margin: 0;
	list-style: none;
}
.list_text {
	padding: 1em 0;
}
.list_text li a {
	text-decoration: none;
	display: block;
	color: #777;
}
.list_text li .listBox {
	width: 100%;
}
.list_text li .date {
	font-size: 0.9em;
	width: 8em;
}
.list_text li .new {
	font-size: 0.9em;
	margin: 5px;
	color: #D2202F;
	padding: 0.01em 0.5em;
	border: 1px solid;
	border-radius: 100em;
	margin: 5px;
	display: inline-block;
	vertical-align: middle;
}
@media screen and (min-width: 481px), print {
	.list_text li .listBox {
		display: table;
	}
	.list_text li .listBox .date, .list_text li .listBox .text {
		display: table-cell;
		vertical-align: middle;
		padding: 10px 20px;
	}
}
@media screen and (max-width: 480px) {
	.list_text li .listBox {
		padding: 10px 20px;
		display: block;
	}
	.list_text li .listBox .date, .list_text li .listBox .text {
		padding: 5px 0;
		display: block;
	}
}
/*--------------------------------------- list_thumbnail */

.list_thumbnail {
	width: 100%;
	padding: 1em 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
}
.list_thumbnail li a {
	display: block;
	text-decoration: none;
}
.list_thumbnail .listBox {
	display: block;
	position: relative;
}
.list_thumbnail .thumbnail {
	display: block;
	overflow: hidden;
	text-align: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
}
.list_thumbnail .thumbnail span {
	padding: 50% 0;
	display: block;
	height: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: all 0.5s ease-out;
}
.list_thumbnail li a:hover .thumbnail span {
	transform: scale(1.1);
	box-shadow: none;
}
.list_thumbnail .dateBox {
	display: block;
	padding: 0 10px;
	background-color: #fff9eb;
	font-size: 0.9em;
}
.list_thumbnail .date, .list_thumbnail .new {
	margin: 5px;
	display: inline-block;
	vertical-align: middle;
}
.list_thumbnail .date {
	padding: 0.1em 0;
}
.list_thumbnail .new {
	color: #414D99;
	padding: 0.01em 0.5em;
	border: 1px solid;
	border-radius: 100em;
}
.list_thumbnail .title {
	display: block;
	padding: 0.5em 10px 1em;
	font-weight: bold;
}
.list_thumbnail .text {
	display: block;
	padding: 0.5em 10px 1em;
	font-size: 0.9em;
}

@media screen and (min-width: 720px), print {
	.list_thumbnail {
		gap: var(--gap_list);
	}
	.list_thumbnailC6 li {
		width: calc( calc(100% - calc(var(--gap_list)* 6)) / 6);
	}
	.list_thumbnailC2 li {
		width: calc( calc(100% - calc(var(--gap_list)* 7)) / 2);
	}
	.list_thumbnailC3 li {
		width: calc( calc(100% - calc(var(--gap_list)* 3)) / 3);
	}
	.list_thumbnailC4 li {
		width: calc( calc(100% - calc(var(--gap_list)* 4)) / 4);
	}
	.list_thumbnailC5 li {
		width: calc( calc(100% - calc(var(--gap_list)* 5)) / 5);
	}
}
@media screen and (max-width: 719px) {
	.list_thumbnail {
		gap: 15px;
	}
	.list_thumbnail li {
		width: calc( calc(100% - 15px) / 2);
	}
	.list_thumbnailC2 li {
		width: 100%;
	}
}
.list_thumbnailC1 li {
	width: 100%;
}
/*--------------------------------------- breadCrumb */

.breadCrumb {
	font-size: 0.9em;
	color: #ffffff;
	background-color: #ccd2df;
}
.breadCrumb ul {
	padding: 0.5em 20px;
	margin: 0 auto;
}
.breadCrumb li {
	display: inline;
}
.breadCrumb li a {
	color: #ffffff;
	background: transparent url(img/breadcrumb_white.png) no-repeat scroll right center;
	margin-right: 2px;
	padding-right: 16px;
	text-decoration: none;
}
.breadCrumb .fa-home {
	display: inline-block;
	width: 12px;
	height: 13px;
	background-image: url(img/icon_home.png);
	background-color: transparent;
	background-repeat: no-repeat;
	vertical-align: middle;
}
/*--------------------------------------- pagetop link */

#pgtp {
	border-bottom: solid 1px #b5c3df;
}
#pgtp p {
	text-align: right;
	padding: 20px 0 16px;
}
/*--------------------------------------- pageprev/next link */

.page_link {
	clear: both;
	width: 100%;
	margin: 0;
	padding: 20px 0;
	text-align: center;
}
.page_link a.page_link_left {
	margin: 0 10px 0 0;
	padding: 0 0 0 12px;
	background: url(img/icon_page_link_left.gif) no-repeat left center;
}
.page_link a.page_link_right {
	margin: 0 0 0 10px;
	padding: 0 12px 0 0;
	background: url(img/icon_page_link_right.gif) no-repeat right center;
}
/*--------------------------------------- pager */

.pager_box {
	clear: both;
	text-align: center;
	margin-top: 15px;
}
.pager_box .pager {
	width: 2.5em;
	display: inline-block;
	border: 1px solid #BFBFBE;
	border-radius: 3px;
}
.pager_box .pager a {
	display: block;
	width: 100%;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.pager_box .pager a:link, .pager_box .pager a:visited {
	color: #333333;
	text-decoration: none;
}
.pager_box .pager a:hover, .pager_box .pager a:active {
	background: #F1F1F1;
	text-decoration: none;
}
.pager_box .pager_current {
	background: #F1F1F1;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.pager_box .pager_dot {
	width: 1.5em;
	display: inline-block;
}
.pager_box .pager_space {
	width: 1em;
	display: inline-block;
	padding-left: 0.2em;
	padding-right: 0.2em;
}
.pager_box .pager_first {
	display: inline-block;
}
.pager_box .pager_last {
	display: inline-block;
}

/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: cms common */

.invisible {
	display: none;
}
a.tooltiplink {
	display: inline-block;
	margin: 1px 3px 0;
	padding: 1px 3px 0;
	border: 2px solid #C7C7C7;
	background-color: #075698;
	border-radius: 5px;
	-moz-border-radius: 5px;
	text-decoration: none;
	color: #FFFFFF;
	font-size: 1.0em;
	font-weight: bold;
}
#input-table a.tooltiplink:link, #input-table a.tooltiplink:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: none;
}
#input-table a.tooltiplink:hover, #input-table a.tooltiplink:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: none;
}
a.tooltiplink:link, a.tooltiplink:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: none;
}
a.tooltiplink:hover, a.tooltiplink:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: none;
}
p.tooltipbox {
	position: absolute;
	top: 100px;
	left: 20px;
	font-size: 1.0em;
	margin: 0;
	padding: 10px;
	min-width: 100px;
	min-height: 30px;
	color: #FFFFFF;
	background: #075698;
	border: 2px solid #075698;
	border-radius: 5px;
	-moz-border-radius: 5px;
}
#input-table p.tooltipbox a:link, #input-table p.tooltipbox a:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: underline;
}
#input-table p.tooltipbox a:hover, #input-table p.tooltipbox a:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: underline;
}
p.tooltipbox a:link, p.tooltipbox a:visited {
	font-weight: bold;
	color: #FFFFFF;
	text-decoration: underline;
}
p.tooltipbox a:hover, p.tooltipbox a:active {
	font-weight: bold;
	color: #DDDDDD;
	text-decoration: underline;
}
/* comment form */

.comment_box {
	width: 100%;
	margin: 0 0 15px;
	padding: 0;
	border-collapse: collapse;
	border: solid 1px #cccccc;
	background: #eeeeee;
}
.comment_box th, .comment_box td {
	padding: 10px;
}
.comment_id {
	width: 10%;
	text-align: left;
	white-space: nowrap;
}
.comment_name {
	width: 70%;
	text-align: left;
}
.comment_regist {
	width: 20%;
	text-align: right;
	vertical-align: bottom;
	white-space: nowrap;
	font-size: 0.8em;
	color: #aaaaaa;
}
.comment_box td {
	padding-top: 0;
}
.comment_text {
	padding: 15px;
	background: #ffffff;
}
.icon_comment {
	text-align: right;
}
.icon_comment a {
	padding-left: 30px;
	background: url(./icon_comment.gif) no-repeat left center;
}
/* twitter widget */

#twtr-hd h3, #twtr-hd h4, .twtr-widget h3, .twtr-widget h4, .twtr-widget p, .twtr-widget-profile h3, .twtr-widget-profile h4 {
	clear: none;
	margin: auto;
	padding: auto;
	font-size: auto;
	color: auto;
	border: none;
	background-image: none;
}
/* twitter tweet button */

iframe.twitter-share-button {
	width: 115px!important;
}
/*--------------------------------------- cms form */

.form_flow {
	width: 100%;
	margin: 20px auto 0;
	padding: 0;
	display: table;
	table-layout: fixed;
}
.form_flow li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	border-left: 10px solid #ffffff;
	padding: 0 5px;
	width: 34%;
	background-color: #adadad;
}
.form_flow li:first-child {
	border-left: none;
}
.form_flow li span {
	color: #ffffff;
	font-size: 0.9em;
	padding: 10px;
	width: 100%;
	display: block;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}
.form_flow li.current {
	background-color: #23466E;
}
.contact_msg {
	font-size: 0.9em;
	margin: 0 auto;
}
.contact_msg_complete {
	padding: 40px;
	box-shadow: inset 0 0 0 2px #f0f0f0;
}
.contact_msg .editor-style-btn1 {
	float: right;
}
.contact_msg .editor-style-btn1:after {
	content: "";
	display: block;
	width: 100%;
	clear: both;
}
.error_box {
	font-size: 0.95em;
	margin: 0 auto;
	background-color: #fff7f6;
	box-shadow: 1px 0px #e5e5e5, -1px 0px #e5e5e5;
	padding: 20px 5%;
}
.error_box .error {
	color: #e72719;
	font-weight: bold;
	padding-bottom: 10px;
	border-bottom: 2px solid #e72719;
}
.error_box .error_msg {
	margin-top: 20px;
}
.contact form {
	text-align: center;
}
#input-table {
	display: block;
	width: 100%;
	max-width: 100%;
}
#input-table table {
	width: 100%;
	padding: 5px;
	margin: 0 auto 20px;
	border: none;
	box-shadow: inset 0 0 0 2px #f0f0f0;
	background-color: #ffffff;
}
#input-table table li {
	margin-left: 0;
}
#input-table table th {
	width: 35%;
	padding: 20px 60px 20px 30px;
	color: #3f4242;
	background: rgba(0, 0, 0, 0);
	text-align: left;
	border: none;
	position: relative;
	vertical-align: top;
}
#input-table table td {
	padding-left: 10px;
}
#input-table table tr {
	transition: background-color linear 0.2s;
	border-top: 1px solid #ccc;
}
#input-table table tr:hover {
	background-color: rgba(0, 0, 0, 0.05);
}
#input-table table tr:first-child {
	border-top: 5px solid #f0f0f0;
}
#input-table table tr:last-child {
	border-top: 2px solid #f0f0f0;
}
.input_required, .input_not_required:before {
	font-size: 0.9em;
	padding: 2px 6px;
	display: inline-block;
	color: #fff;
	background-color: #23466E;
	position: absolute;
	right: 10px;
	top: 20px;
}
.input_not_required:before {
	color: #ffffff;
}
.input_not_required:before {
	content: "任意";
	background-color: #adadad;
	text-align: center;
}
#input-table .error_msg, #input-table .error_msg_js {
	padding: 5px 5px 5px 20px;
	background: url(./img/form_error.gif) left 10px no-repeat;
}
#input-table table td {
	padding: 20px 30px;
	border: none;
	text-align: left;
}
#input-table table tr:last-child td {
	text-align: center;
}
#input-table div.formcomment {
	clear: both;
	margin-left: 7px;
	margin-top: 3px;
}
#input-table table td ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
input[type="text"], input[type="password"] {
	border: 0;
	padding: 4px;
	border: solid 1px #ccc;
	max-width: 100% !important;
	resize: none;
	border-radius: 5px;
}
.body_textbook_form input[type="text"] {
	margin-bottom: 10px;
}
#input-table table .form_input_addnumber {
	width: 40% !important;
}
#input-table table textarea {
	padding: 10px;
	width: 96% !important;
	border: solid 1px #ccc;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
input:focus, input:textarea {
	border: solid 1px #414D99;
}
.input_button {
	font-size: 0.9em;
	font-weight: bold;
	-webkit-appearance: none;
	padding: 4px 10px;
	color: #fff;
	background-color: #414D99;
	border: none;
	cursor: pointer;
}
#input-table .input_button {
	padding: 10px 50px;
}
#input-table .submit_button {
	text-align: center;
	padding-top: 20px;
}
#input-table .privacy {
	font-size: 0.9em;
	height: 200px;
	overflow: auto;
	border: 1px solid #ddd;
	padding: 10px;
	background: #ffffff;
}
/* セパレーター */

#input-table table tr.input-formgroup-blank th {
	background: #F0F0F0;
	border: none;
}
#input-table table tr.input-formgroup {
	padding-top: 20px;
}
#input-table table tr.input-formgroup th {
	text-align: left;
	border: none;
	padding: 10px 0 5px 50px;
	background-image: url(./img/icon_arrow_down.png);
	background-repeat: no-repeat;
	background-position: 5px 10px;
	background-color: #074D93;
	/* セパレーターth背景色 */
	border-top: 2px solid #EEEEEE;
	border-left: 2px solid #EEEEEE;
	border-right: 2px solid #EEEEEE;
	border-bottom: 1px solid #EEEEEE;
	border-radius: 5px 5px 0 0 / 5px 5px 0 0;
	-webkit-border-radius: 5px 5px 0 0 / 5px 5px 0 0;
	-moz-border-radius: 5px 5px 0 0 / 5px 5px 0 0;
}
#input-table table tr.input-formgroup th.formgroup-closed {
	background-image: url(./img/icon_arrow_down.png);
	background-repeat: no-repeat;
	background-position: 5px 10px;
	border-bottom: 2px solid #EEEEEE;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#input-table table tr.input-formgroup th:hover {
	cursor: pointer;
	filter: alpha(opacity=90);
	opacity: 0.90;
	-moz-opacity: 0.90;
	-ms-filter: "alpha(opacity=90)";
}
#input-table table tr.input-formgroup span.input-formgroup-title {
	display: block;
	color: #FFFFFF;
	/* セパレータータイトル文字色 */
	font-size: 1.3em;
	/* セパレータータイトル文字サイズ */
	padding-bottom: 5px;
}
#input-table table tr.input-formgroup span.input-formgroup-text {
	position: relative;
	display: block;
	color: #FFFFFF;
	/* セパレーター説明文文字色 */
	padding: 0 5px 0 1em;
	margin: 5px 10px 10px 10px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
}
#input-table table tr.input-formgroup span.input-formgroup-text:before {
	position: absolute;
	top: 0.5em;
	left: 0;
	width: 0.5em;
	height: 0.5em;
	background: #FFFFFF;
	content: "";
	border-radius: 1px;
	-webkit-border-radius: 1px;
	-moz-border-radius: 1px;
}
#input-table table tr.input-formgroup span.input-formgroup-text a:visited, #input-table table tr.input-formgroup span.input-formgroup-text a:link {
	color: #FFFFFF;
	/* セパレーター説明文内リンク色1 */
	text-decoration: underline;
}
#input-table table tr.input-formgroup span.input-formgroup-text a:hover, #input-table table tr.input-formgroup span.input-formgroup-text a:active {
	color: #66FFFF;
	/* セパレーター説明文内リンク色2 */
	text-decoration: underline;
}
@media screen and (max-width:719px) {
	#input-table table {
		width: 100%;
		border-collapse: collapse;
		border-bottom: 1px solid #CCCCCC;
	}
	#input-table table th, #input-table table td {
		width: 100%;
		display: block;
		border-top: none;
		text-align: left;
	}
	#input-table table th {
		padding: 6px 45px 6px 12px;
		background: #eeeeee none repeat scroll 0 0;
		font-weight: normal;
	}
	#input-table table td {
		padding-bottom: 20px;
	}
	#input-table table td:after {
		content: "";
		display: block;
		clear: both;
	}
	input[type="text"], input[type="password"] {
		width: 100%!important;
	}
	#input-table table textarea {
		width: 96%;
		max-height: 24vw;
		font-size: 110%;
	}
	.input_required, .input_not_required:before {
		position: absolute;
		right: 10px;
		font-size: 0.8em;
		top: 6px;
	}
}
@media screen and (max-width:479px) {
	.form_flow li {
		display: block;
		width: 100%;
		border-left: 10px solid #cccccc;
		border-top: 1px dotted #ccc;
		text-align: left;
	}
	.form_flow li:first-child {
		border-top: none;
	}
}
/*:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: pages */

.msg {
	margin: 20px auto;
}
/*--------------------------------------- loader */

.loader {
	margin: 0 auto;
	font-size: 25px;
	width: 35%;
	height: 500px;
	position: relative;
	text-indent: 0;
	-webkit-animation: none;
	animation: none;
	-webkit-transform:none;
	-ms-transform:none;
	transform:none;
}

.loaded {
	opacity: 0;
	visibility: hidden;
}

#loading{
	background:#F4B158;
	width:100%;
	height:100vh;
	position:fixed;
	z-index:100
}
.load-container{
	height:100vh;
	padding-top:28vh;
}
@media screen and (max-width:479px){
	.loader {
		width: 50%;
	}
	.load-container{
		padding-top:40vh;
	}
}

/*--------------------------------------- animation */

.img_t1_anim {
	display:block;
	animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
 
@keyframes poyoyon {
	0% {
		transform: translateX(140px);
		opacity: 0;
	}
	50% {
		transform: translateX(0);
	}
	65% {
		transform: translateX(30px);
	}
	100% {
		transform: translateX(0);
	}
	20%,100% {
		opacity: 1;
	}
} 

.img_t2_anim {
	animation: slide-skew 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
 
@keyframes slide-skew {
	0% {
		transform: translate(180px,30px);
		opacity: 0;
	}
	50% {
		transform: translate(0,0);
	}
	65% {
		transform: translate(10px,5px);
	}
	100% {
		transform: translate(0,0);
	}
	20%,100% {
		opacity: 1;
	}
}
.img_t3_anim {
	animation: fadeup 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
 
@keyframes fadeup {
	0% {
		transform: translateY(60px);
		opacity: 0;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
/*--------------------------------------- top */
section {
	z-index:2;
}
.section_1 {
	position: relative;
	padding:0;
}

.section_covered {
	padding:0;
	height:100vh;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index:2;
}


/*--------------------------------------- section_overlap */

.section_overlap {
	position: relative;
	z-index:3;
	position: relative;
	z-index:3;
}
.section_overlap article{
	color: #a03c14;
	display:flex;
	justify-content:center;
	align-items: center;
	padding-bottom:clamp(30px, 10vw, 100px);
}
.section_overlap_textbox{
	display:inline-block;
	margin:0 auto;
}
.section_overlap_textbox .section_overlap_title{
	font-size: clamp(22px, 3vw, 44px);
	font-weight: bold;
	margin-bottom:2em;
	text-align:center;
}
.section_overlap .section_overlap_table{
	display:flex;
	justify-content:center;
	align-items: center;
	gap: clamp(0px, 3vw, 50px);
}
.section_overlap .section_overlap_text{
	font-size: clamp(16px, 2vw, 24px);
	font-weight: bold;
	margin-bottom:2em;
	text-align:center;
}
.section_overlap .section_table .section_btn{
	text-align:center;
}
.section_overlap .section_overlap_img{
	text-align:center;
}
.section_overlap .section_overlap_img img{
	width:clamp(71px, 10vw, 166px);
}
.section_overlap .article_wrap {
	background:#F9F5EE;
}
.overlap_head{
	background-color: #F9F5EE;
	border-radius: var(--radius) var(--radius) 0 0;
	width:100%;
	height:100px;
}
.lower .section_overlap .overlap_head {
	box-shadow: 0px 0 clamp(70px ,10vw, 300px) rgb(114 97 63 / 20%);
}

@media screen and (max-width: 719px) {
	.overlap_head{
		height:50px;
	}
}
.overlap_box {
	position: relative;
	padding-bottom:clamp(30px, 10vw, 100px);
}
.overlap_foot{
	background-color: #F9F5EE;
	border-radius: var(--radius) var(--radius) 0 0;
	width:100%;
	height:clamp(30px, 10vw, 100px);
	position: absolute;
	left: 0;
	bottom: 0;
}
/*--------------------------------------- lower */
.bg_grad {
	background: linear-gradient(180deg, #F1EDE2, #F7D285);
}
.lower .section_1{
	background-color: #F7D285;
}
.lower section article {
	font-size: clamp(16px, 1vw, 18px);
	padding: clamp(50px, 6vw, 110px) 10px clamp(50px, 5vw, 80px);
}
.section_main_img {
	overflow: hidden;
	position: relative;
	padding: clamp(100px, 11vw, 195px) 0 clamp(80px, 18vw, 330px);
	line-height: 1.2;
	color: #fff;
	text-shadow: 0 0 5em #000;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.section_title {
	position: relative;
	padding: clamp(100px, 9vw, 160px) 0 clamp(50px, 8vw, 150px);
	line-height: 1.2;
}
@media screen and (min-width: 720px) {
	.section_main_img {
		background-attachment: fixed;
		background-size: cover;
	}
}
.lower .section_2 article {
	padding: 0 10px clamp(50px, 7vw, 180px);
}
@media screen and (min-width: 720px) {
	.sp_only {
		display: none;
	}
}
@media screen and (max-width: 719px) {
	.lower section article {
		padding: 4% 10px 30px;
	}
	.pc_only {
		display: none;
	}
}
/*--------------------------------------- campaign */
.body_startofday .slick-slide{
	position:relative;
}
.body_startofday .slider video {
	max-width: 100%;
	vertical-align: middle;
}
.body_startofday .slider-text{
	width:100px;
	height:100px;
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
.lower section .article_campaign_recipes {
	max-width: 100%;
	padding: 0;
}
.slick-disabled {
	display:none!important;
}
.slider_recipes {
	width: 100%;
	padding: 1em 0;
	margin: 0;
}
@media screen and (min-width: 720px) {
	.simply-scroll-list li {
		width: 100%;
		max-width: 550px;
	}
}
@media screen and (max-width: 719px) {
	.simply-scroll-list li {
		width: 100%;
		max-width: 180px;
	}
}
/* ---------  無限ループアニメーション */
.simply-scroll-container {
	position: relative;
}
.simply-scroll-clip {
	position: relative;
	overflow: hidden;
}
.simply-scroll-list {
	overflow: hidden;
	margin: 0;
	padding: 0;
	list-style: none;
}
.simply-scroll-list a {
	display: block;
}
.simply-scroll-list li {
	float: left;
	padding: 0;
	margin: 0;
	vertical-align: middle;
}
/*--------------------------------------- recipes */
.body_recipes h4 img{
	width: 60%;
	max-width: 375px!important;
}
.list_grid {
	width: 100%;
	padding: 2em 0 1em;
	margin: 0;
	list-style: none;
}
.list_grid li a {
	display: block;
	text-decoration: none;
}
.list_grid .listBox {
	display: block;
	position: relative;
}
.list_grid .thumbnail {
	display: block;
	overflow: hidden;
	text-align: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
}
.list_grid .thumbnail span {
	padding: 50% 0;
	display: block;
	height: 100%;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: all 0.5s ease-out;
}
.list_grid li a:hover .thumbnail span {
	transform: scale(1.1);
	box-shadow: none;
}
.list_grid .dateBox {
	display: block;
	padding: 0 10px;
	background-color: #fff9eb;
	font-size: 0.9em;
}
.list_grid .date, .list_grid .new {
	margin: 5px;
	display: inline-block;
	vertical-align: middle;
}
.list_grid .date {
	padding: 0.1em 0;
}
.list_grid .new {
	color: #414D99;
	padding: 0.01em 0.5em;
	border: 1px solid;
	border-radius: 100em;
}
.list_grid .title {
	color: #ffffff;
	font-weight: bold;
	line-height: 1.3;
	text-shadow: 0 0 5px rgb(0 0 0 / 27%), 0 0 18px rgb(0 0 0 / 27%);
	display: block;
	padding: 5%;
	position: absolute;
	left: 0;
	bottom: 0;
}
.list_grid .text {
	display: block;
	padding: 0.5em 10px 1em;
	border-top: 1px dashed #ddd;
	color: #999;
	font-size: 0.9em;
}
.list_grid li:nth-child(3n+1) .title {
	font-size: clamp(16px, 2.9vw, 36px);
	line-height: 1.2;
}
@media screen and (min-width: 720px) {
	.list_grid li {
		padding: 25px;
		padding: 1vw;
	}
	.list_grid .title {
		font-size: 1.1em;
	}
}
@media screen and (max-width: 719px) {
	.list_grid li {
		padding: 15px;
		padding: 0.5vw;
	}
}
@media screen and (min-width: 480px) {
	.list_grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: repeat(1, 1fr);
		grid-auto-flow: dense;
	}
	.list_grid li:nth-child(3n+1) {
		grid-row: span 2;
		grid-column: span 2;
	}
}
@media screen and (max-width: 479px) {
	.list_grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(1, 1fr);
		grid-auto-flow: dense;
	}
}
/*--------------------------------------- instagram */
.list_instagram {

}
.body_common .section_3 {
	padding-bottom: clamp(65px, 7vw, 130px);
}
.list_instagram li {

}
.list_instagram li .thumbnail img{
	vertical-align: middle;
}
.list_instagram li a {
	position: relative;
}
.list_instagram li a .link {
	visibility: hidden;
	opacity: 0;
	transition: all .2s ease;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
	color: #fff;
	background-color: rgb(0 0 0 / 50%);
	width: 100%;
	height: 100%;
}
.list_instagram li a:hover .link {
	visibility: visible;
	opacity: 1;
}
.list_instagram li a .link img {
	max-width: 1em;
	vertical-align: middle;
	margin-top: -0.25em;
}


/*--------------------------------------- mapleday */
.body_mapleday {

}
.body_mapleday .section_2 {
	background: linear-gradient(180deg, #F1EDE2, #f5e9cf);
}
.body_mapleday .section_3 {
	background: linear-gradient(180deg, #f5e9cf, #f8e2b5);
}
.body_mapleday .section_4 {
	background: linear-gradient(180deg, #f8e2b5, #F7D285);
}
.join_box {
	position: relative;
}
.join_box:before {
	content: "";
	position: absolute;
	left: 0;
	border-radius: 20px;
	background-color: #f1eee4;
}
.join_box .join_box_text,
.join_box .join_box_img {
	position: relative;
	z-index: 1;
}
.join_box .join_box_text {
	padding: 5%;
}
.join_box_text li {
	padding-top: 4%;
	line-height: 2;
}
.join_box .join_box_img .smartphone_gif .smartphone {
	position: relative;
}
.join_box .join_box_img .smartphone_gif {
	position: absolute;
	width: 100%;
	height: 100%;
	left:0;
	top: 0;
}
.join_box .join_box_img .smartphone_gif div {
	position: absolute;
}
.join_box .join_box_img .smartphone_gif div span {
	position: relative;
	display: block;
}
.join_box .join_box_img .smartphone_gif_1 {
	width: 58%;
	right: 3.2%;
	top: 13%;
}
.join_box .join_box_img .smartphone_gif_1 span {
	transform: rotate(17deg);
}
.join_box .join_box_img .smartphone_gif_2 {
	width: 28%;
	left: 17.6%;
	top: 44%;
}
.join_box .join_box_img .smartphone_gif_3 {
	width: 67%;
	left: 12%;
	bottom: 32.7%;
}
.join_box .join_box_img .smartphone_gif_3 span {
	transform: rotate(-13deg);
}
.join_box .join_box_img .smartphone_gif_4 {
	width: 29%;
	left: 14%;
	bottom: 12.5%;
}
.join_box .join_box_img .smartphone_gif_4 span {
	transform: rotate(15deg);
}
.list_gif ul {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	list-style: none;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.list_gif li {
	padding-top: 2%;
}

@media screen and (min-width: 480px) {
	.join_box {
		display: flex;
		align-items: center;
	}
	.join_box_text_bg {
		position: relative;
		padding: 4vw 0 4vw 4vw;
	}
	.join_box_text_bg:before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
		width: 120%;
		height: 100%;
		border-radius: 20px;
		background-color: #f1eee4;
	}
	.list_gif li {
		width: calc((100% - 10% ) / 6);
	}
	.list_gif li img {
		max-height: 7vw;
	}
}
@media screen and (max-width: 479px) {
	.join_box:before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 85%;
		border-radius: 20px;
		background-color: #ffffff;
	}
	.join_box .join_box_img {
		width: 28%;
		margin: 0 auto;
	}
	.list_gif li {
		width: calc((100% - 2% ) / 4);
	}
	.list_gif li img {
		max-height: 12vw;
	}
}

/*--------------------------------------- event */

@media screen and (min-width: 480px) {
	.body_event .section_main_img {
		background-position: center;
		background-size: cover;
	}
}
body.lower {
	background-color: #f9f5ee;
}
.body_event .section_main_img {
	color: #ffffff;
	padding: clamp(40px, 11vw, 170px) 0 clamp(60px, 18vw, 220px);
}
.body_event .section_main_img img {
	margin-top: clamp(10px, 1vw, 20px);
}
.body_event section {
	color: #000000;
}
body.lower .section_2 {
	background-color: #f9f5ee;
}
body.lower .section_2 article {
	padding: 0 10px clamp(40px, 7vw, 50px);
}
.title_box_event {
	text-align: center;
	font-weight: bold;
}
.title_box_event:before {
	content: "";
	background-image: url(../event/event_deco_02.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: block;
	padding: clamp(30px, 4vw, 63px);
	margin-bottom: 30px;
}
.title_box_event .title_box_add {
	font-size: clamp(14px, 3vw, 41px);
}
.title_box_event .title_box_main {
	font-size: clamp(24px, 3vw, 44px);
	padding: 0 10px clamp(40px, 7vw, 30px);
	max-width: none;
}
.title_date {
	color: #7e7369;
	font-weight: bold;
	text-align: center;
	font-size: clamp(14px, 2vw, 30px);
}
.pad_top_0 {
	padding-top: 0;
}
.pad_top_20 {
	padding-top: clamp(12px, 2vw, 20px);
}
.pad_top_30 {
	padding-top: clamp(20px, 2vw, 30px);
}
.pad_bottom_30 {
	padding-bottom: clamp(20px, 2vw, 30px);
}
.pad_top_50 {
	padding-top: clamp(20px, 3vw, 50px);
}
.pad_top_80 {
	padding-top: clamp(40px, 5vw, 80px);
}
.pad_top_100 {
	padding-top: clamp(40px, 6vw, 100px);
}
.text_size_21 {
	font-size: clamp(16px, 2vw, 21px);
}
.text_size_22 {
	font-size: 22px;
}
.text_size_26 {
	font-size: clamp(24px, 2vw, 26px);
}
.text_size_28 {
	font-size: clamp(22px, 2vw, 28px);
}
.text_size_30 {
	font-size: clamp(22px, 2vw, 30px);
}
.text_size_34  {
	font-size: clamp(22px, 2vw, 34px);
}

.font_style_2 {
	font-weight: 400;
	font-family: 'Open Sans', Verdana, 'M PLUS 1p',"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ",Meiryo, sans-serif;
	transform: rotate(0.05deg);
}
.title_box_event_1 .title_box_main {
	font-size: clamp(24px, 3vw, 48px);
	letter-spacing: -0.05em;
}
.event_contents_1 {
	padding: clamp(50px, 10vw, 100px) 0 0;
}
.body_event .section_2_3 .overlap_head {
	border-radius: 0 0 var(--radius) var(--radius);
}
.body_event .section_2_3 .font_style_2 {
	font-size: clamp(16px, 2vw, 30px);
	padding-top: clamp(20px, 3vw, 50px);
}
.chef_name {
	font-weight: bold;
	padding-bottom: 40px;
}
.chef_box {
	padding-bottom: clamp(60px, 10vw, 80px);
}
.chef_box:last-child {
	padding-bottom: 0;
}
.event_photo {

}
.event_photo_list {
	padding: 0;
	margin: 0;
}
.event_photo_list li {
	padding: 0 13px;
}
.event_photo .slick-dots li {
	margin: 0;
}
.event_photo .slick-dots li button:before {
	color: #8a8a8a;
	font-size: 35px;
	opacity: 1;
}
.event_photo .slick-dots li.slick-active button:before  {
	color: #a03c14;
}
.event_photo .slick-dotted.slick-slider {
	margin-bottom: 60px;
}
.event_photo .slick-dots {
	bottom: -40px;
}
.place_box .place_add {
	color: #7e7369;
	font-size: clamp(14px, 2vw, 20px);
	font-weight: bold;
}
.place_box .place_name {
	font-size: clamp(24px, 2vw, 36px);
	font-weight: bold;
	padding-bottom: clamp(20px, 3vw, 50px);
}
.place_box .place_address {

}
.body_event .section_4 .title_box_event .title_box_main {
	padding-bottom: clamp(30px, 6vw, 100px);
}
.body_event .section_4 .font_style_2 {
	font-size: clamp(16px, 2vw, 23px);
}
body.lower .section_overlap .article_wrap,
body.lower .section_overlap .overlap_head {
	background-color: #fbfaf8;
}
@media screen and (min-width: 480px) {
	.chef_name {
		display: flex;
		gap: 20px;
		flex-wrap: wrap;
		align-items: center;
	}
	.place_box {
		display: flex;
		flex-wrap: wrap;
		gap: clamp(50px, 10vw, 110px);
		justify-content: center;
	}
	.place_box .place_column {

	}
	.body_event .section_4 article {
		padding-bottom: 40px;
	}
}
@media screen and (max-width: 479px) {
	.body_event .section_2_3 .overlap_head {
		display: none;
	}
	.chef_name span {
		display: block;
		text-align: center;
	}
	.place_box .place_address {
		padding-top: 20px;
	}
	.body_event .section_4 article {
		padding-bottom: 60px;
	}
}
/*--------------------------------------- understand */
.youtube_box iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 560 / 314;
}
.body_understand .section_main_img {
	background-position: center;
	background-size: cover;
}
.body_understand .section_2 article{
	max-width: 1320px;
}
.list_understand {
	max-width: 1440px;
	margin: 0 auto;
}
.list_understand .understand_box {

}
.understand_box_inner {

}
.understand_box_inner .info_text {

}
.understand_box_inner .info_text h3 {
	line-height: 1.2;
	letter-spacing: -0.05em;
	font-size: clamp(24px, 4vw, 60px);
	padding: 0 0 clamp(15px, 3vw, 30px);
}
.understand_box_inner .info_text .title_sub {
	line-height: 1.2;
	letter-spacing: -0.05em;
	color: #7e7369;
	font-weight: bold;
	font-size: clamp(14px, 3vw, 40px);
	padding: 0 0 clamp(20px, 3vw, 50px);
	text-align: center;
}
.understand_box_inner .info_text .text {
	line-height: 1.4;
	padding: 0 0 clamp(20px, 5vw, 50px);

}
.understand_box_inner .info_thumbnail {

}
.understand_box_inner .info_thumbnail.sp_only {
	padding-bottom: 20px;
}
.title_box_understand {
	text-align: center;
	font-weight: bold;
}
.list_understand .understand_box {
	padding-bottom: clamp(80px, 10vw, 110px);
}
.title_box_understand .title_box_add {
	color: #7e7369;
	font-size: clamp(14px, 3vw, 40px);
	padding: 0 0 clamp(10px, 1vw, 20px);
}
.title_box_understand .title_box_main {
	font-size: clamp(24px, 3vw, 54px);
	padding: 0 0 20px;
	letter-spacing: -0.05em;
	max-width: none;
}
.title_box_understand .title_box_add_bottom  {
	color: #7e7369;
	font-weight: bold;
	text-align: center;
	font-size: clamp(14px, 2vw, 26px);
}
.title_box_understand {
	text-align: center;
	margin: clamp(70px, 5vw, 90px) 0 clamp(30px, 5vw, 80px);
	position: relative;
}
.title_box_understand .title_main {
	position: relative;
	color: #a6681e;
	font-size: clamp(24px, 2vw, 34px);
	line-height: 1.4;
	z-index: 1;
}
.title_box_understand .title_bg {
	color: rgb(166 104 30 / 20%);
	font-size: clamp(35px, 5vw, 60px);
	line-height: 1.4;
	font-family: var(--font_accent);
	font-style: italic;
	font-weight: 100;
	position: absolute;
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
}
.understand_btn {
	padding-top: clamp(20px, 5vw, 50px);
}
.body_understand .font_style_2 {


}
.body_understand h4 {
	color: #a6681e;
	font-size: clamp(22px, 2vw, 34px);
	font-weight: bold;
	padding-bottom: 10px;
}
.text_style_1 {
	font-size: clamp(24px, 2vw, 34px);
	font-weight: bold;
}
.list_recipes_understand {
	padding-bottom: clamp(40px, 8vw, 150px);
}
.list_recipes_understand ul {
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.list_recipes_understand ul li {

}
.list_recipes_understand ul li a {
	display: block;
	text-decoration: none;
	color: #a6681e;
}
.list_recipes_understand ul li span {
	display: block;
}
.list_recipes_understand ul li .img {
	margin-bottom: 10px;
	position: relative;
}
.list_recipes_understand ul li .img_nolink {
	vertical-align: middle;
}
.list_recipes_understand ul li .img_nolink:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgb(0 0 0 / 50%);
}
.list_recipes_understand ul li .img_nolink:after {
	color: #fff;
	content: "Coming soon";
	font-size: clamp(13px, 2vw, 30px);
	line-height: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.list_recipes_understand ul li img {

}
.list_recipes_understand ul li img {
	vertical-align: middle;
}
.list_recipes_understand ul li .text {
	font-weight: bold;
	font-size: clamp(12px, 1vw, 20px);
}

.font_style_3 {
	color: #7e7369;
	font-weight: bold;
}
.font_color_1 {
	color: #a6681e;
}
.box_style_1 {
	padding: clamp(30px, 3vw, 50px) clamp(20px, 3vw, 40px);
	background-color: #fad287;
	border-radius: 20px;
}
@media screen and (min-width: 720px) {
	.list_understand .understand_box_inner {
		display: flex;
		align-items: center;
		gap: clamp(50px, 10vw, 110px);
		justify-content: center;
	}
	.list_understand .understand_box:nth-child(2n) .understand_box_inner{
		flex-direction: row-reverse;
	}
	.understand_box_inner .info_thumbnail {
		flex-basis: 830px;
	}
	.understand_box_inner .info_text .text {
		max-width: 520px;
	}
	.list_recipes_understand ul {
		gap: 70px 30px;
	}
	.list_recipes_understand ul li {
		flex-basis: calc( calc(100% - 60px) / 3);
	}
}
@media screen and (max-width: 719px) {
	.list_recipes_understand ul {
		gap: 30px 10px;
	}
	.list_recipes_understand ul li {
		flex-basis: calc( calc(100% - 10px) / 2);
	}
}
/*--------------------------------------- instagram_box */
.instagram_box {
	background-color: #ffffff;
	margin-top: clamp(60px, 9vw, 170px);
	margin-bottom: 40px;
	padding: clamp(40px, 4vw, 60px) clamp(30px, 4vw, 60px);
}
.instagram_box .list_instagram {
	gap: clamp(25px, 4vw, 40px);
}
@media screen and (min-width: 720px) {
	.instagram_box_grad {
		background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(255,255,255,1) 85%,rgba(255,255,255,0) 100%);
	}
	.instagram_box .list_instagram li {
		width: calc(calc(100% - calc(clamp(25px, 4vw, 40px)* 2)) / 3);
	}
	.mask_grad {
		max-height: 700px;
		-webkit-mask-image: linear-gradient(to bottom, rgb(255 255 255 / 100%) 0%,rgb(255 255 255 / 100%) 75%,rgb(0 0 0 / 0%) 100%);
		mask-image: linear-gradient(to bottom, rgb(255 255 255 / 100%) 0%,rgb(255 255 255 / 100%) 75%,rgb(0 0 0 / 0%) 100%);
	}
}
@media screen and (max-width: 719px) {
	.instagram_box .list_instagram li {
		width: 100%;
	}
	.instagram_box .list_instagram li:nth-child(n+4) {
		display:none;
	}
}
/*--------------------------------------- 和食LP */

.body_food_japanese article {
	max-width: 1390px;
}
.recipes_box {
	max-width: 1200px;
	margin: 0 auto;
}
.body_food_japanese h1, .body_food_japanese h2 {
	font-size: clamp(22px, 4vw, 60px);
}
.h4_style_1 {
	color: #a6681e;
	font-size: clamp(24px, 2vw, 34px);
	font-weight: bold;
	padding-bottom: 10px;
}

/*--------------------------------------- event_list */
.list_event .event_box {
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: clamp(20px, 6vw, 100px);
}

.list_event .info_text .text {
	flex-grow: 1;
}
.list_event h3 {
	padding: clamp(60px, 5vw, 80px) 3% clamp(20px, 4vw, 60px);
}
.list_event .event_date {
	color: #a6681e;
	font-weight: bold;
}
@media screen and (min-width: 720px) {
	.list_event .event_box_inner {
		display: flex;
		gap: clamp(20px, 3vw, 50px);
		justify-content: center;
	}
	.event_box_inner .info_thumbnail,
	.event_box_inner .info_text {
		flex-basis: calc(50% - clamp(10px, 10vw, 25px) );
	}
	.event_box_inner .info_text {
		display: flex;
		flex-direction: column;
	}
}
@media screen and (max-width: 719px) {
	.event_box_inner .info_text {
		padding-top: 10px;
	}

}
/*--------------------------------------- link_event */
.hr_style_1 {
	border: none;
	border-bottom: 1px solid;
	max-width: 450px;
	margin: clamp(50px, 5vw, 90px) auto clamp(10px, 2vw, 30px);
}
.link_event ul {
	padding: 0;
	list-style: none;
	margin: 0;
}
.link_event li {
	display: flex;
}
.link_event .event_box_inner {
	display: flex;
	flex-direction: column;
}
.link_event .link_text {
	font-weight: bold;
	font-size: clamp(16px, 2vw, 19px);
	text-align: center;
	flex-grow: 1;
	padding: clamp(15px, 2vw, 20px) 0 30px;
}
.link_event .event_date {
	padding-bottom: clamp(15px, 2vw, 20px);
}
.link_event .event_text {
	color: #a6681e;
	padding-bottom: clamp(5px, 2vw, 15px);
}
.link_event .event_title {
	color: #a6681e;
	font-size: clamp(20px, 2vw, 22px);
}
@media screen and (min-width: 720px) {
	.link_event ul {
		display: flex;
		flex-wrap: wrap;
		gap: clamp(20px, 3vw, 50px);
		justify-content: center;
	}
	.link_event ul li {
		flex-basis: calc(25% - clamp(20px, 3vw, 50px) );
	}
}
@media screen and (max-width: 719px) {
	.link_event ul li {
		padding-bottom: 50px;
	}

}