@charset "UTF-8";
/* ----関数設定---- */
/* ----------------------------------------------------------------------
基本設定
---------------------------------------------------------------------- */
body {
	font-family: "メイリオ", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
	color: #333;
	font-weight: 500;
	line-height: 1.8;
	font-size: clamp(14px, calc(0.2816901408vw + 13px), 17px);
	background-color: #FFFCF5;
	position:unset !important;
}
@supports not (font-size: clamp(14px, calc(0.2816901408vw + 13px), 17px)) {
	body {
		font-size: max(14px, min(calc(0.2816901408vw + 13px), 17px));
	}
}
body:not(:lang(ja)) {
    letter-spacing: 0;
}

.potta-one-regular {
	font-family: "Potta One", serif;
	font-weight: 400;
	font-style: normal;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	transition-duration: 0.3s;
	transition-timing-function: ease;
}
a.button {
	display: grid;
	align-items: center;
	justify-content: center;
	background-color: #FFF;
	box-shadow: 0px 8px 11px rgba(155, 95, 0, 0.22);
	border-radius: 9999px;
	margin-inline: auto;
	font-family: "Potta One", serif;
	font-weight: 400;
	font-style: normal;
	color: #6A3906;
}
a.button:hover{
	background-color:#E1D6CA;
}
ul.list {
	list-style: square;
	padding-left: 20px;
}
.allocation {letter-spacing: 1em;    text-indent: 1em;}
.allocation:not(:lang(ja)){letter-spacing:unset; text-indent:unset;}
.inner {
	width: 94%;
	margin: 0 auto;
	max-width: 1176px;
}
.inner-narrow{max-width:643px; margin-inline:auto;}
.pc {  display: none;}
.sp {  display: block;}
.sp-tab {  display: block;}
.tab-pc {  display: none;}

.headline {
	text-align: center;
	color: #6A3906;
	padding-top: 32px;
	font-family: "Potta One", serif;
	font-weight: 400;
	font-style: normal;
	background: url(../images/headline_bg@2x.webp) no-repeat center top/30px 30px;
	font-size: clamp(22px, calc(1.3259668508vw + 17px), 34px);
}
@supports not (font-size: clamp(22px, calc(1.3259668508vw + 17px), 34px)) {
	.headline {
		font-size: max(22px, min(calc(1.3259668508vw + 17px), 34px));
	}
}

table.table1 {
	width: 100%;
	line-height: 1.5;
	border-top: dashed 2px #999;
}
table.table1 th {
	text-align: center;
	vertical-align: middle;
	padding: 12px 0;
	border-bottom: dashed 2px #999;
}
table.table1 td {
	padding: 12px 10px;
	border-bottom: dashed 2px #999;
}

.ggmap {
	position: relative;
	overflow: hidden;
	aspect-ratio: 704/612;
}
.ggmap iframe, .ggmap object, .ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.textindent {
	text-indent: -1em;
	padding-left: 1em;
}

.mt30 {
	margin-top: 30px;
}

.mt50 {
	margin-top: 50px !important;
}

@media screen and (min-width: 768px) {
	.text-center-pc {
		text-align: center;
	}
	.sp-tab {  display: none;}
	.tab-pc {  display: block;}
	.ggmap {
		aspect-ratio: 1450/487;
	}
}
@media screen and (min-width: 1280px) {
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
	.headline {
		padding-top: 42px;background-size:45px 45px;
	}
}
/* ----------------------------------------------------------------------
ヘッダー
---------------------------------------------------------------------- */
header#top-head {
	width: 100%;
	z-index: 100;
	position: fixed;
	top: 0;
	right: 0;
	padding: 12px 12px 12px 14px;
	font-family: "Potta One", serif;
	font-weight: 400;
	font-style: normal;
}
header#top-head nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
}
header#top-head nav .header_hometop {
	display: none;
}
header#top-head nav .header_tel {
	margin-left: clamp(10px, calc(2.1596244131vw + 2px), 33px);
}
@supports not (margin-left: clamp(10px, calc(2.1596244131vw + 2px), 33px)) {
	header#top-head nav .header_tel {
		margin-left: max(10px, min(calc(2.1596244131vw + 2px), 33px));
	}
}
header#top-head nav .header_tel img {
	margin-bottom: 10px;
}
header#top-head nav .header_tel p {
	font-size: 13.5px;
	font-weight: bold;
	letter-spacing: 0;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.3em;
}
header#top-head nav .navbar-brand {
	display: none;
}
header#top-head nav .navbar-brand a {
	display: block;
}
header#top-head nav .nav-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
header#top-head nav .nav-wrapper .contact_btn {
	display: none;
}
header#top-head nav .nav-wrapper .contact_btn a {
	display: block;
	text-align: center;
	width: 214px;
	height: 39px;
	border-radius: 39px;
	line-height: 39px;
	color: #6A3906;
	font-size: 16px;
	padding-left: 21px;
	background: url(../images/header_contact_btn_bg@2x.webp) no-repeat left 17px center/33px 30px, #FFF;
	box-shadow: 0 6px 6px rgba(155, 95, 0, 0.22);
}
header#top-head nav .nav-wrapper .contact_btn a span:not(:lang(ja)){
	display:none;
}
header#top-head nav .nav-wrapper .nav_btn {
	width: 50px;
	height: 61px;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99;
}
header#top-head nav .nav-wrapper .nav_btn:hover {
	cursor: pointer;
}
header#top-head nav .nav-wrapper .nav_btn .nav_toggle {
	display: block;
	position: relative;
	width: 50px;
	height: 50px;
}
header#top-head nav .nav-wrapper .nav_btn .nav_toggle .nav_toggle_menu {
	position: absolute;
	bottom: 4px;
	text-align: center;
	left: 50%;
	transform: translateX(-50%);
	font-size: 15px;
	line-height: 1;
	color: #6A3906;
}
header#top-head nav .nav-wrapper .nav_btn .nav_toggle i {
	transition: all 0.5s;
	display: block;
	width: 35px;
	height: 2px;
	border-radius: 2px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #6A3906;
	position: absolute;
}
header#top-head nav .nav-wrapper .nav_btn .nav_toggle i:nth-child(1) {
	top: 10px;
}
header#top-head nav .nav-wrapper .nav_btn .nav_toggle i:nth-child(2) {
	top: 22px;
}
header#top-head nav .nav-wrapper .nav_btn.show {
	background: url(../images/bg_gray.webp);
}
header#top-head nav .nav-wrapper .nav_btn.show .nav_toggle i {
	background-color: #6A3906;
}
header#top-head nav .nav-wrapper .nav_btn.show .nav_toggle i:nth-child(1) {
	transform: translateY(7px) translateX(-50%) rotate(-45deg);
}
header#top-head nav .nav-wrapper .nav_btn.show .nav_toggle i:nth-child(2) {
	transform: translateY(-5px) translateX(-50%) rotate(45deg);
}
header#top-head nav .nav-wrapper #main-nav {
	display: none;
	position: fixed;
	right: 0;
	top: 85px;
	background: #E9EDD9;
	color: #6A3906;
	width: 100%;
	height: calc(100vh - 85px);
	z-index: 98;
	line-height: 1.5;
	overflow-y: scroll;
}
header#top-head nav .nav-wrapper #main-nav .menu_wrapper {
	padding: 40px 40px 0px 40px; position:relative;
}
header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu {
	margin-bottom: 45px;
}
header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu h3 {
	border-bottom: solid 2px;
	font-size: 25px;
	display: inline-block;
	margin-bottom: 8px;
}
header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu h3:not(:lang(ja)){
	font-size:18px;
}
header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu li a {
	font-size: 16px;
	display: block;
	padding: 2px 0;
}
header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu li a::before {
	content: "・";
}
header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu li a span {
	font-size: 12px;
	display: block;
}
header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu li a span::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 6px;
	background-color: #FFF;
	margin-right: 5px;
}
header#top-head nav .nav-wrapper #main-nav .link_wrapper .flex {
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
	justify-content: center;
}
header#top-head nav .nav-wrapper #main-nav .link_wrapper .button {
	width: 254px;
	height: 47px;
}
header#top-head nav .nav-wrapper #main-nav .link_wrapper .logo {
	display: none; /*font-size: 20px;    height: 65px;	line-height: 65px;*/
}
header#top-head nav .nav-wrapper #main-nav #close {
	text-align: center;
	color: #FFF;
	background-color: #8DAA4C;
	height: 65px;
	line-height: 65px;
	margin-top: 40px;
	cursor: pointer;
}
header#top-head nav .nav-wrapper #main-nav #menu-pc-illust {
	display: none;
}
header#top-head nav .nav-wrapper #main-nav #menu-sp-illust img {
	position:absolute; width:200px; right:0; top:0; z-index:-1;
}
header#top-head nav .nav-wrapper #main-nav #menu-sp-illust img.illust01 {
	top:6%;
}
header#top-head nav .nav-wrapper #main-nav #menu-sp-illust img.illust02 {
	top:19%;
}
header#top-head nav .nav-wrapper #main-nav #menu-sp-illust img.illust03 {
	top:34%;
}
header#top-head nav .nav-wrapper #main-nav #menu-sp-illust img.illust04 {
	top:51%;
}
header#top-head nav .nav-wrapper #main-nav #menu-sp-illust img.illust05 {
	top:66%;
}
header#top-head nav .nav-wrapper #main-nav #menu-sp-illust img.illust06 {
	top:81%;
}

body#body.show {
	/* メニューを開いた際はスクロールできないように */
	/* overflow: hidden; */
}
body#body.show header#top-head {
	background-color: #D2DAB3;
}

@media screen and (min-width: 768px) {
	header#top-head nav .nav-wrapper #main-nav .link_wrapper .flex a.button {
		margin-inline: unset;
	}
	header#top-head nav .nav-wrapper #main-nav .menu_wrapper {
		padding: 40px 10% 0px 10%;
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu {
		width: calc((100% - 40px) / 3);
	}
	header#top-head nav .nav-wrapper #main-nav #menu-sp-illust img {
		width:120px;
	}
}
@media screen and (min-width: 1280px) {
	header#top-head {
		width: 65px;
		height: 100vh;
		background-color: #FFF;
		border-left: dotted 2px;
		padding: 5px 0;
	}
	header#top-head nav {
		display: block;
	}
	header#top-head nav .nav-wrapper {
		display: block;
	}
	header#top-head nav .nav-wrapper .contact_btn {
		display: block;
		position: fixed;
		top: 50%;
		transform: translateY(-50%);
		right: 0;
	}
	header#top-head nav .nav-wrapper .contact_btn a {
		width: 65px;
		height: 219px;
		line-height: 65px;
		font-size: 18px;
		padding-left: 0;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		box-shadow: none;
		background: url(../images/header_contact_btn_bg@2x.webp) no-repeat center top/33px 30px;
		padding-top: 25px;
	}
	header#top-head nav .nav-wrapper .contact_btn a span {
		-webkit-text-combine: horizontal;
		-ms-text-combine-horizontal: all;
		text-combine-upright: all;
	}
	header#top-head nav .nav-wrapper .contact_btn a:not(:lang(ja)){
		height:unset;
		padding-top:35px;
	}
	header#top-head nav .nav-wrapper .nav_btn {
		width: 65px;
		position: fixed;
		top: 5px;
		background: #FFF;
	}
	header#top-head nav .nav-wrapper .nav_btn .nav_toggle i {
		width: 28px;
	}
	header#top-head nav .nav-wrapper .nav_btn .nav_toggle .nav_toggle_menu {
		font-size: 12px;
	}
	header#top-head nav .nav-wrapper #main-nav {
		top: 0;
		right: 65px;
		height: 100vh;
		overflow: auto;
		background-color: #FFFCF5;
	}
	header#top-head nav .nav-wrapper #main-nav .link_wrapper {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -180%);
		width: 90%;
		max-width: 729px;
		display: flex;
		flex-direction: row-reverse;
		align-items: flex-end;
		justify-content: flex-end;
		margin-left: -162px;
		gap: 37px;
	}
	header#top-head nav .nav-wrapper #main-nav .link_wrapper .flex {
		margin-bottom: 20px;
		flex-direction: row-reverse;
		position: relative;
	}
	header#top-head nav .nav-wrapper #main-nav .link_wrapper .flex::after {
		content: "";
		width: 84px;
		height: 48px;
		background: url(../images/menu_illust01_bg@2x.webp) no-repeat center center/contain;
		position: absolute;
		left: 35%;
		top: -45px;
	}
	header#top-head nav .nav-wrapper #main-nav .link_wrapper .button {
		width: 220px;
		height: 40px;
	}
	header#top-head nav .nav-wrapper #main-nav .link_wrapper .logo {
		display: block;
	}
	header#top-head nav .nav-wrapper #main-nav .menu_wrapper {
		width: 90%;
		max-width: 987px;
		padding: 0;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -30%);
		margin-left: 105px;
	}
	header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu {
		width: calc((100% - 60px) / 4);
		margin-bottom: 17px;
	}
	header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu h3 {
		font-size: 28px;
	}
	header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu h3.guide{
		font-size: 26px;    letter-spacing: -3px;
	}
	header#top-head nav .nav-wrapper #main-nav .menu_wrapper .menu li a {
		font-size: 14px;
	}
	header#top-head nav .nav-wrapper #main-nav #close {
		display: none;
	}
	header#top-head nav .nav-wrapper #main-nav #menu-sp-illust {
		display: none;
	}
	header#top-head nav .nav-wrapper #main-nav #menu-pc-illust {
		display: block;
		position: relative;
		width: calc(100% - 65px);
		margin-left: 65px;
		height: 100%;
		overflow: hidden;
		z-index:-1;
	}
	header#top-head nav .nav-wrapper #main-nav #menu-pc-illust img {
		display: block;
		position: absolute;
		height: auto;
		width: clamp(280px, calc(33.28125vw + -146px), 493px);
	}
	@supports not (width: clamp(280px, calc(33.28125vw + -146px), 493px)) {
		header#top-head nav .nav-wrapper #main-nav #menu-pc-illust img {
			width: max(280px, min(calc(33.28125vw + -146px), 493px));
		}
	}
	header#top-head nav .nav-wrapper #main-nav #menu-pc-illust img.illust01 {
		top: -45px;
		left: -35px;
	}
	header#top-head nav .nav-wrapper #main-nav #menu-pc-illust img.illust02 {
		top: 50%;
		transform: translateY(-50%);
		left: -46px;
	}
	header#top-head nav .nav-wrapper #main-nav #menu-pc-illust img.illust03 {
		bottom: 0;
		left: -60px;
	}
	header#top-head nav .nav-wrapper #main-nav #menu-pc-illust img.illust04 {
		bottom: -50px;
		left: 50%;
	}
	header#top-head nav .nav-wrapper #main-nav #menu-pc-illust img.illust05 {
		bottom: 0;
		right: -26px;
	}
	header#top-head nav .nav-wrapper #main-nav #menu-pc-illust img.illust06 {
		top: 50%;
		transform: translateY(-50%);
		right: -60px;
	}
	header#top-head nav .nav-wrapper #main-nav #menu-pc-illust img.illust07 {
		top: -17px;
		right: -34px;
	}
	header#top-head nav .nav-wrapper #main-nav #menu-pc-illust img.illust08 {
		top: -15px;
		right: 14%;
	}
	body#body.show header#top-head {
		background-color: #FFF;
	}
	body#body.show header#top-head nav .navbar-brand {
		display: none !important;
	}
}

@media screen and (max-width: 1279px){
	header#top-head nav .nav-wrapper .contact_btn a:not(:lang(ja)){
		font-size: 11px;
		line-height: 1.2;
		padding-left: 46px;
		display: flex;
		align-items: center;
		padding-right: 4px;
	}
}

/* ----------------------------------------------------------------------
サイドメニュー
---------------------------------------------------------------------- */
.side-menu-wrapper {
	display: none;
}

@media screen and (min-width: 1280px) {
	.side-menu-wrapper {
		display: block;
		width: 18.5%;
		background: url(../images/menu_illust01_bg@2x.webp) no-repeat right 15% bottom 56px/100px 52px, url(../images/menu_illust02_bg@2x.webp) no-repeat right 23% top 48%/100px 52px;
	}
	.side-menu-wrapper .side-menu {
		margin-inline: auto;
		width: clamp(180px, calc(5.625vw + 108px), 216px);
		margin-top: clamp(10px, calc(9.375vw + -110px), 70px);
	}
	@supports not (width: clamp(180px, calc(5.625vw + 108px), 216px)) {
		.side-menu-wrapper .side-menu {
			width: max(180px, min(calc(5.625vw + 108px), 216px));
		}
	}
	@supports not (margin-top: clamp(10px, calc(9.375vw + -110px), 70px)) {
		.side-menu-wrapper .side-menu {
			margin-top: max(10px, min(calc(9.375vw + -110px), 70px));
		}
	}
	.side-menu-wrapper .side-menu a.logo {
		display: block;
		margin-inline: auto;
		margin-bottom: clamp(10px, calc(4.6875vw + -50px), 40px);
	}
	@supports not (margin-bottom: clamp(10px, calc(4.6875vw + -50px), 40px)) {
		.side-menu-wrapper .side-menu a.logo {
			margin-bottom: max(10px, min(calc(4.6875vw + -50px), 40px));
		}
	}
	.side-menu-wrapper .side-menu a.logo img {
		width: clamp(150px, calc(6.5625vw + 66px), 192px);
	}
	@supports not (width: clamp(150px, calc(6.5625vw + 66px), 192px)) {
		.side-menu-wrapper .side-menu a.logo img {
			width: max(150px, min(calc(6.5625vw + 66px), 192px));
		}
	}
	.side-menu-wrapper .side-menu li a {
		color: #6A3906;
		border-bottom: solid 1px;
		padding: 12px 0 0;
		display: inline-block;
		font-size: clamp(18px, calc(0.46875vw + 12px), 21px);
	}
	@supports not (font-size: clamp(18px, calc(0.46875vw + 12px), 21px)) {
		.side-menu-wrapper .side-menu li a {
			font-size: max(18px, min(calc(0.46875vw + 12px), 21px));
		}
	}
	.side-menu-wrapper .side-menu li a.guide{letter-spacing:0}
	.side-menu-wrapper .side-menu li a:hover{

	}
	.side-menu-wrapper .side-menu li:last-child {
		margin-top: 20px;
		margin-bottom: 36px;
	}
	.side-menu-wrapper .side-menu a.button {
		font-size: 21px;
		height: 40px;
		line-height: 40px;
		color: #6A3906;
		width: clamp(180px, calc(5.46875vw + 110px), 215px);
	}
	@supports not (width: clamp(180px, calc(5.46875vw + 110px), 215px)) {
		.side-menu-wrapper .side-menu a.button {
			width: max(180px, min(calc(5.46875vw + 110px), 215px));
		}
	}
}
/* ----------------------------------------------------------------------
フッター
---------------------------------------------------------------------- */
footer {
	background-color: #E4E9CF;
}
footer .inner {
	padding-top: 57px;
	padding-bottom: 37px;
	background: url(../images/illust03@2x.webp) no-repeat right 12% top 37%/136px auto, url(../images/menu_illust02_bg@2x.webp) no-repeat left 6% top 6%/81px auto;
}
footer .flex {
	max-width: 909px;
	margin-inline: auto;
}
footer .footer_logo a {
	display: block;
}
footer .footer_logo a img {
	width: 167px;
	margin-inline: auto;
	display: block;
}
footer .footer_info {
	margin-top: 95px;
	width: 85%;
	margin-inline: auto;
}
footer .footer_info .footer_menu {
	display: flex;
	flex-wrap: wrap;
	gap: 36px 44px;
}
footer .footer_info .footer_menu li a {
	color: #6A3906;
	border-bottom: solid 1px;
	font-size: 17px;
}
footer .company_info {
	margin-top: 43px;
	font-size: 14px;
}
footer .pagetop a {
	display: block;
	position: fixed;
	border-radius: 50%;
	bottom: 15px;
	right: 15px;
	z-index: 10;
	width: 70px;
	height: 70px;
	transition: all 0.5s ease-out;
	background: url(../images/arrow.svg) no-repeat center center/26px 35px, #6A3906;
}
footer .pagetop a:hover {
	bottom: 13px;
	background: url(../images/arrow.svg) no-repeat center center/26px 35px, #6A3906;
}

.copyright {
	font-size: 11px;
	text-align: center;
	padding-top: 7px;
}

.home .grecaptcha-badge {
	visibility: hidden;
}

.grecaptcha-badge {
	bottom: 90px !important;
}

@media screen and (min-width: 768px) {
	footer .flex {
		display: flex;
		align-items: center;
		gap: 27px;
	}
	footer .footer_info {
		margin-top: 0;
	}
	footer .footer_info .footer_menu {
		max-width: 510px;
		gap: 15px 40px;
	}
	footer .footer_info .company_info {
		margin-top: 24px;
	}
}
@media screen and (min-width: 1280px) {
	footer .pagetop a {
		bottom: 25px;
		right: 97px;
	}
	footer .inner {
		padding-top: clamp(44px, calc(5.15625vw + -22px), 77px);
		padding-bottom: clamp(29px, calc(5.15625vw + -37px), 62px);
		background: url(../images/illust03@2x.webp) no-repeat right 1% top 34%/287px auto, url(../images/menu_illust02_bg@2x.webp) no-repeat left 4% top 21%/112px auto;
	}
	@supports not (padding-top: clamp(44px, calc(5.15625vw + -22px), 77px)) {
		footer .inner {
			padding-top: max(44px, min(calc(5.15625vw + -22px), 77px));
		}
	}
	@supports not (padding-bottom: clamp(29px, calc(5.15625vw + -37px), 62px)) {
		footer .inner {
			padding-bottom: max(29px, min(calc(5.15625vw + -37px), 62px));
		}
	}
	footer .inner .footer_logo a img {
		width: 151px;
	}
}
/* ----------------------------------------------------------------------
アニメーション
---------------------------------------------------------------------- */
/* フェードイン */
.fadein {
	opacity: 0;
}

.fadein.bottom {
	transform: translate3d(0, 20px, 0);
}

.fadein.scrollin {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition: all 2.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* タイプライター */
.typewriter span {
	display: inline-block;
	transform: translateY(30%);
	opacity: 0;
	transition-timing-function: cubic-bezier(0.23, 0.61, 0.355, 1);
	transition-duration: 690ms;
}

@keyframes typewriter {
	0% {
		transform: translateY(3%);
	}
	100% {
		transform: translateY(0);
	}
}
.typewriter.active span {
	transform: translateY(0);
	opacity: 1;
}

/* 流れるテキスト */
.loop_wrap {
	display: flex;
	width: 100%;
	overflow: hidden;
}
.loop_wrap img {
	max-width: unset;
}
.loop_wrap img:first-child, .loop_wrap .first {
	animation: loop 150s -75s linear infinite;
}
.loop_wrap img:last-child, .loop_wrap .second {
	animation: loop2 150s linear infinite;
}

@keyframes loop {
	0% {
		transform: translateX(100%);
	}
	to {
		transform: translateX(-100%);
	}
}
@keyframes loop2 {
	0% {
		transform: translateX(0);
	}
	to {
		transform: translateX(-200%);
	}
}

/* ----------------------------------------------------------------------
サブページ共通
---------------------------------------------------------------------- */
main {
	padding-bottom: 77px;
}
article{
	position:relative;
}

#content-header {
	position: relative;
	margin-bottom: 18px;
	margin-top: clamp(50px, calc(7.5117370892vw + 22px), 130px);
}
@supports not (margin-top: clamp(50px, calc(7.5117370892vw + 22px), 130px)) {
	#content-header {
		margin-top: max(50px, min(calc(7.5117370892vw + 22px), 130px));
	}
}
#content-header .illust{
	position:absolute; z-index:-1;
}
#content-header h1, #content-header h2 {
	font-family: "Potta One", serif;
	font-weight: 400;
	font-style: normal;
	color: #6A3906;
	margin-left: 26px;
	font-size: clamp(42px, calc(3.661971831vw + 28px), 81px);
}
@supports not (font-size: clamp(42px, calc(3.661971831vw + 28px), 81px)) {
	#content-header h1, #content-header h2 {
		font-size: max(42px, min(calc(3.661971831vw + 28px), 81px));
	}
}
#content-header::before {
	content: "";
	display: block;
	height: 40px;
	background: url(../images/logo_s.svg) no-repeat center center/contain;
	position: absolute;
	top: -14px;
	left: 9px;
	width: clamp(68px, calc(6.0093896714vw + 45px), 132px);
}
@supports not (width: clamp(68px, calc(6.0093896714vw + 45px), 132px)) {
	#content-header::before {
		width: max(68px, min(calc(6.0093896714vw + 45px), 132px));
	}
}

#breadcrumbs {
	font-size: 12px;
	margin-bottom: clamp(30px, calc(2.8169014085vw + 19px), 60px);
	margin-top: 12px;
}
@supports not (margin-bottom: clamp(30px, calc(2.8169014085vw + 19px), 60px)) {
	#breadcrumbs {
		margin-bottom: max(30px, min(calc(2.8169014085vw + 19px), 60px));
	}
}
.single #content-left{
	background-color: #FFF;
	border-radius: 10px;
	box-shadow: 0px 8px 11px rgba(155, 95, 0, 0.22);
}

.link_btn {
	max-width: 548px;
	margin-top: clamp(56px, calc(2.3474178404vw + 47px), 81px);
}
.link_btn a.button{
	font-size: clamp(17px, calc(0.2816901408vw + 16px), 20px);
	padding: clamp(19px, calc(1.220657277vw + 14px), 32px);
	border-radius: clamp(12px, calc(0.6572769953vw + 10px), 19px);
	line-height: 1;
}
@supports not (font-size: clamp(17px, calc(0.2816901408vw + 16px), 20px)) {
	.link_btn a.button{
		font-size: max(17px, min(calc(0.2816901408vw + 16px), 20px));
	}
}
@supports not (padding: clamp(19px, calc(1.220657277vw + 14px), 32px)) {
	.link_btn a.button {
		padding: max(19px, min(calc(1.220657277vw + 14px), 32px));
	}
}
@supports not (border-radius: clamp(12px, calc(0.6572769953vw + 10px), 19px)) {
	.link_btn a.button {
		border-radius: max(12px, min(calc(0.6572769953vw + 10px), 19px));
	}
}
#content-left .no-post {
	margin-top:100px; text-align:center;
	font-size: clamp(18px, calc(0.46875vw + 12px), 21px);
}
@supports not (font-size: clamp(18px, calc(0.46875vw + 12px), 21px)) {
	#content-left .no-post {
		font-size: max(18px, min(calc(0.46875vw + 12px), 21px));
	}
}

@media screen and (min-width: 1024px) {
	#main {
		display: flex;
		justify-content: space-between;
		padding-top: 30px;
	}
	#main #content-left {
		width: 68.5%;
		border-radius: clamp(12px, calc(4.3269230769vw + -32px), 30px);
	}
	@supports not (border-radius: clamp(12px, calc(4.3269230769vw + -32px), 30px)) {
		#main #content-left {
			border-radius: max(12px, min(calc(4.3269230769vw + -32px), 30px));
		}
	}
	#content-left .no-post{text-align:left;}
}

@media screen and (min-width: 1280px) {
	main {
		width: calc(100% - 65px);
		padding-bottom: clamp(77px, calc(9.6713615023vw + 41px), 180px);
	}
	@supports not (padding-bottom: clamp(77px, calc(9.6713615023vw + 41px), 180px)) {
		main {
			padding-bottom: max(77px, min(calc(9.6713615023vw + 41px), 180px));
		}
	}
	#main {
		width: 75%;
		margin-left: 5%;
	}
	#content-header {
		margin-left: 5%;
		width:75%;
	}
	.side-menu-wrapper {
		position: absolute;
		right: 65px;
		top: 0;
	}
}
@media screen and (min-width: 1700px) {
	#main {
		margin-left: 7%;
	}
	#content-header {
		margin-left: 7%;
	}
}
@media screen and (min-width: 1800px) {
	#main {
		margin-left: 10%;
	}
	#content-header {
		margin-left: 10%;
	}
}
@media screen and (min-width: 1900px) {
	#main {
		margin-left: auto;
	}
	#content-header {
		margin-bottom: 10px;
		margin-left: auto;
	}
	#content-header::before {
		top: -7px;
		left: -98px;
	}
	#content-header h2,#content-header h1 {
		margin-left: -104px;
	}
}

/* single */
#post_content pre {
	text-wrap: auto;
}


/* ----------------------------------------------------------------------
ページネーション
---------------------------------------------------------------------- */
.wp-pagenavi {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: clamp(30px, calc(6.8544600939vw + 4px), 103px);
	gap: clamp(10px, calc(0.9389671362vw + 6px), 20px);
	font-family: "Potta One", serif;
	font-weight: 400;
	font-style: normal;
	line-height:1;
}
@supports not (margin-top: clamp(30px, calc(6.8544600939vw + 4px), 103px)) {
	.wp-pagenavi {
		margin-top: max(30px, min(calc(6.8544600939vw + 4px), 103px));
	}
}
@supports not (gap: clamp(5px, calc(1.4084507042vw + 0px), 20px)) {
	.wp-pagenavi {
		gap: max(10px, min(calc(0.9389671362vw + 6px), 20px));
	}
}
.wp-pagenavi a, .wp-pagenavi span {
	color:#6A3906;
	border-radius: 50%;
	border:solid 1px;
	aspect-ratio: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(35px, calc(1.8779342723vw + 28px), 55px);
	font-size: clamp(18px, calc(0.9389671362vw + 14px), 28px);
}
@supports not (width: clamp(45px, calc(1.4084507042vw + 40px), 60px)) {
	.wp-pagenavi a, .wp-pagenavi span {
		width: max(35px, min(calc(1.8779342723vw + 28px), 55px));
	}
}
@supports not (font-size: clamp(16px, calc(0.7511737089vw + 13px), 24px)) {
	.wp-pagenavi a, .wp-pagenavi span {
		font-size: max(18px, min(calc(0.9389671362vw + 14px), 28px));
	}
}
.wp-pagenavi span.pages {
	background: none; border:none;
	width: unset;
}
.wp-pagenavi span.current, .wp-pagenavi a:hover {
	background-color:#6A3906; border-color:#6A3906;
	color: #FFF;
}

/* ----------------------------------------------------------------------
言語スイッチャー
---------------------------------------------------------------------- */
.gtranslate_wrapper{
    position:absolute;    top: -3px;    left: -1px; z-index:101;
}
.gtranslate_wrapper select.gt_selector{
    appearance: auto; border: solid 1px #6a3906; background:#FFF;font-family: auto;
}

@media screen and (min-width: 1280px){
.gtranslate_wrapper{
    right: 64px; left:unset; top: -3px; }
}