/* フロント専用 基本設定
/* 編集画面には適用しなくてよい
/* google font はfunctions.phpで読み込み

/* ========================================================================== */
/*	0. Document Setup
/* ========================================================================== */
/*root setting*/
:root{
	--billboardHeight: 100vh;
	--headerHeight: 60px;
}
/* Basic Setting
----------------------------------------------------------------------------- */

.large{ font-size: 1.2em; }

.small{ font-size: 0.8em; }

b , strong{ font-weight: var(--boldFontWeight); }

/* Functional Setting
----------------------------------------------------------------------------- */

.front-hidden{ display: none;}

/*	CONTENT WIDTH SETTING
/* -------------------------------------------------------------------------- */

.content-width{ max-width: var(--contentWidth); margin-inline: auto; }

.maximum-width{ max-width: var(--maximumWidth); margin-inline: auto; }

.horizontal-margin{ width: calc(100% - 36px); margin-inline: auto; }

.sidebar-width-setting{ width: calc(100% - 36px); max-width: 136rem; margin-inline: auto; }

@media ( min-width: 700px ){

	.horizontal-margin{ width: calc(100% - 72px); }

	.sidebar-width-setting{ width: calc(100% - 3em); margin-inline: auto; }
}

/* admin-bar ---------------------------------------------------------- */

.admin-bar .screen-height{ min-height: calc(100vh - 32px); }

@media (max-width: 782px){
	.admin-bar .screen-height{ min-height: calc(100vh - 46px); }
}



/* ========================================================================== */
/*	THEME SETTING
/* ========================================================================== */

/*	Site Header
/* -------------------------------------------------------------------------- */
#site_header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--headerHeight);
	z-index: 5;
	background-color: var(--themeColor);
}

#site_header_inner{
	display: flex;
	gap: 2%;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}

#site_header_inner .header-titles{
		padding: 5px;
}

.custom-logo-link{
	position: relative;
}

#site_header_inner .header-titles .dt-logo{
	object-fit: contain;
	height: 100%;
	width: auto;
	transition: opacity 0.3s 0.2s ease;
}

#site_header_inner .header-titles .sp-logo{
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	transition: opacity 0.3s 0.2s ease;
}

body.modal-active #site_header_inner .header-titles .dt-logo{
	opacity: 1;
}

body.modal-active #site_header_inner .header-titles .sp-logo{
	opacity: 0;
}
/* Header Navigation
-----------------------*/
/* Header Navigation Wrapper*/
#header_navigation_wrapper{
	flex-grow: 1;
	font-size: var(--rfs18);
	height: 100%;
}


/* Mobile Nav Toggle
   hamburger menu button
------------------------------------------------------------------- */
#nav_toggle_wrapper{
	width: 50px;
	height: 50px;
	display: block;
	z-index: 5;
	padding: 5px;
	transition: margin 0.3s ease;
}

@media(min-width: 1920px){
	#nav_toggle_wrapper{
		position: absolute;
		right: 220px;
		top: 10px;
	}
}

#nav_toggle_wrapper:has(.active){
	margin-right: var(--sbw);
}

#mobile_nav_toggle{
	display : flex;
	width : 100%;
	height:100%;
	flex-wrap: wrap;
	justify-content : center;
	align-content: center;
	gap: 5px;
	color: white;
	background-color: var(--themeColor);
	cursor: pointer;
	z-index: 100;
}

body.modal-active #mobile_nav_toggle{
	background-color: transparent;
}

#mobile_nav_toggle svg{
	width : 50px;
	height : 38px;
	display: block;
	position: relative;
	overflow: hidden;
	transition: all 0.5s ease;
	z-index: 1;
}

@media(min-width: 700px){
	#mobile_nav_toggle svg{
		width : 50px;
		height : 38px;
	}
}
.button-text{
	font-size : var(--rfs14);
	font-weight : var(--mediumFontWeight);
	width : 100%;
	text-align: center;
	white-space : nowrap;
	word-break : break-all;
	transform-origin: bottom center;
}

svg rect#u1, svg rect#l1 ,svg rect#m1,svg rect#m2,.button-text{
	transform-origin: center;
	transition: all 0.3s linear;
}
#mobile_nav_toggle .toggle-icon > svg {
    display: block;
}

#mobile_nav_toggle.active{
	align-content: center;
	padding: 0;
}

#mobile_nav_toggle.active svg{
	width: 50px;
	height: 38px;
	transform: rotate(180deg);
}

#mobile_nav_toggle.active rect#m1{
	transform: rotate(30deg);
}
#mobile_nav_toggle.active rect#m2{
	transform: rotate(-30deg);
}
#mobile_nav_toggle.active rect#u1{
	transform: scale(0);
}
#mobile_nav_toggle.active rect#l1{
	transform: scale(0);
}

#mobile_nav_toggle.active .button-text{
	opacity: 0;
	font-size: 0;
}
@media (min-width: 500px){
	#mobile_nav_toggle{
		top : 5px;
		left : calc(100vw - 78px);
	}
}
#scroll-down-arrow{ position: absolute; display: block; width: 50px; height: 120px; bottom: 50px; left: 5%; right: auto;}

body:not(.home) #scroll-down-arrow{ display: none; }

#scroll-down-arrow img{ position: absolute; top: 0; left: 0;  }




/*	Menu Modal
/* -------------------------------------------------------------------------- */
body.fixed{
	overflow: hidden;
	margin-right: var(--sbw);
}

.menu-modal{
	position : fixed;
	z-index : 4;
	top : 0;
	right : -310px;
	bottom : 0;
	left : 100%;
	display : block;
	overflow-x : hidden;
	overflow-y : auto;
	transition : all 1s ease-out;
	background-color: var(--themeColor);
}

.admin-bar .menu-modal{ top : 32px; }

@media (max-width: 782px){
	.admin-bar .menu-modal{ top : 46px; }
}

.menu-modal.active{
	right : 0;
	left : calc(100% - 310px);
}

.menu-modal-inner{
	display: block;
	overflow : auto;
	justify-content : stretch;
	width : 100%;
	padding: 100px 1em 50px;
}

@media ( min-width: 600px ){
	.menu-modal-inner{
		padding: var(--headerHeight) 0 40px;
	}
}

/*
modal-header
*/
.modal-header{
	display: flex;
	gap: 10px;
	justify-content: flex-start;
	align-items: center;
	padding-bottom: 1em;
	border-bottom: 1px solid var(--themeColor);
	margin-bottom: 1em;
}

.modal-header a{
	display: flex;
	flex-wrap: wrap;
    gap: 0 20px;
    align-items: flex-end;
	justify-content: flex-end;
	flex-basis: calc(var(--rfs30) * 9);
}

.modal-header a img{ width: 100%; margin: 0;}

.modal-header .modal-title{
	color: var(--bgOrange);
	font-weight: var(--boldFontWeight);
	font-family: var(--englishFont);
	font-size: var(--rfs18);
	line-height: 1;
}

@media(min-width: 450px){
	.modal-header a{
		justify-content: flex-start;
		flex-wrap: nowrap;
	}
}

@media ( min-width: 600px ){
	.modal-header{ max-width: 100%;}
}

@media(min-width: 1000px){
	.modal-header{
		display: flex;
		justify-content: flex-start;
		gap: 20px;
		padding-bottom: 0.3em;
		border-bottom: 1px solid var(--themeColor);
		margin-bottom: var(--variableSpaceS);
	}
}

/*
modal-menu
*/

.modal-menu{
	width : 100%;
	list-style: none;
	display: block;
	margin-bottom: var(--variableSpaceS);
	color: var(--accentColor);
}

@media(min-width: 1000px){
	.modal-menu{
		flex-wrap: nowrap;
	}
}

.modal-menu > li{
	display: block;
	border-width: 0 0 0 0;
	flex-basis: 100%;
}

.modal-menu > li > .ancestor-wrapper{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-block: 0.5em;
	position: relative;
	padding-left: 1.5em;
}

.modal-menu .sub-menu-toggle{
	width: 1em;
	height: 0.8em;
	background: transparent;
	cursor: pointer;
	margin-right: 0.5em;
	position: absolute;
	left: 0;
	transition: all 0.3s ease;
}


.modal-menu .sub-menu-toggle::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--accentColor);
	clip-path: polygon( 0% 0% , 50% 100% , 100% 0%);
	transition: all 0.3s ease;
}

.modal-menu .sub-menu-toggle:hover::before{
	background-color: #EBDFBA;
}

.modal-menu .sub-menu-toggle.active{
	transform: rotate(180deg);
}

.modal-menu >li a{
	color: var(--accentColor);
	width: 100%;
	display: block;
	font-size: var(--rfs20);
	transition: all 0.3s ease;
}

.menu-item-102 a,.menu-item-102 button{
	opacity: 0.5;
}

@media(min-width: 1000px){
	.modal-menu > li{
		flex-basis: 11em;
	}
	.modal-menu >li > a{
		margin-bottom: 1.5em;
	}
}

@media(hover: hover){
	.modal-menu li a:hover{
		color: #EBDFBA;
	}
}

/*
modal-menu sub-menu
*/
.modal-menu .sub-menu{
	list-style: none;
	padding: 0 0 0 2.5em;
}

.modal-menu .sub-menu li {
	height: 0;
	opacity: 0;
	transition: height 1s ease-out , opacity 0.5s ease-in;
	border: none;
	font-size: var(--rfs18);
	color: inherit;
	line-height: 2;
	font-weight: 500;
	overflow: hidden;
}

.modal-menu .sub-menu.active > li{
	height: 2em;
	opacity: 1;
	transition: height 1s ease-out , opacity 0.5s 0.5s ease-in;

}

/*準備中チップツール*/
/* ツールチップのスタイル */
/* ツールチップのスタイル */
.tooltip-bubble {
  position: fixed;
  background-color: #333;
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  z-index: 1000;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.1s;
}



/*	Page Header
/* -------------------------------------------------------------------------- */
body.home #page_header{
	position : relative;
	z-index : 2;
	height: auto;
	background-color: var(--themeColor);
	margin-top: var(--headerHeight);
	overflow: hidden;
}

body:not(.home) #page_header{
	position : relative;
	z-index: 2;
	display : block;
	background-color: var(--bodyBgColor);
	margin-top: var(--headerHeight);
}

h1.page-title{
	font-size: clamp( 20px , calc( 2.60vw + 11.7px ) , 50px);/*320-1472*/
	font-family: var(--minchoFont);
	text-align: left;
	color: white;
	padding-block: 10px;
	position: absolute;
	left: 0;
	right: 0;
	top: 36%;
}

.umami h1.page-title,.kiwami h1.page-title{
	color: white;
	font-size: clamp( 20px , calc( 2.60vw + 11.7px ) , 50px);/*320-1472*/
	top: clamp(5% , var(--umamiTtlTop) , 36%);
}
.umami h1.page-title::before{
	content: "";
	display: block;
	width: 6em;
	height: 1em;
	background-image: url(/images/umaminojikan_w.svg);
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: 0.3em;
}

.kiwami h1.page-title::before{
	content: "";
	display: block;
	width: 6em;
	height: 1em;
	margin-bottom: 0.3em;
}

.header-text{
	color: white;
	position: absolute;
	left: 0;
	right: 0;
	top: clamp( 45% , var(--umamiTxtTop) , 70%);/*320-1472*/
	font-size: clamp(14px , calc( 1.22vw + 10.0px ) , 28px);/*320-1472*/
	font-family: var(--minchoFont);
	opacity: 0;
	transition: opacity 2s 1s cubic-bezier(0.37, 0, 0.63, 1);
}

.header-text.popup{
	opacity: 1;
}

.header-text > div{
	width: 40%;
	min-width: 11em;
}

.blog h1.page-title,.single h1.page-title,.archive h1.page-title,.error404 h1.page-title,.search h1.page-title{
	color: black;
}

.search h1.page-title{ overflow : hidden; max-width : 95vw; word-break : keep-all; }

/* Featured Media
------------------------------------------------------------------------------*/
.featured-media{
	width: 100%;
	position: relative;
	aspect-ratio: 375 / 200;
	min-height: 230px;
}

@media(min-width: 500px){
	.featured-media{
		aspect-ratio: 1920 / 720;
	}
}

.featured-media-inner{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.featured-media img{
	object-fit: cover;
	object-position: 45%;
	height: 100%;
}

@media(min-width: 1000px){
	.featured-media img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

}

/* Brank Header
----------------------------------------------------------------------------- */
.blank-header{
	aspect-ratio: 1920 / 485;
	width: 100%;
	max-height: 485px;
	min-height: 200px;
	background-color: white;
}

.blank-header + h1.page-title{
	text-align: center;
	font-size: var(--rfs40);
	bottom: calc((100% - var(--headerHeight) ) / 2);
	transform: translateY(50%);
}

/* billboard
----------------------------------------------------------------------------- */
#billboard{
	opacity: 0;
	aspect-ratio: 800 / 1000;
	background-size: auto 110%;
	background-position: 80% top;
	min-width: 100vw;
	transition: opacity 2s cubic-bezier(0.37, 0, 0.63, 1);
	color: white;
	font-family: var(--minchoFont);
	position: relative;
	font-size: clamp( 22px, calc( 4.79vw + 6.7px ) , 45px );
}

@media(min-width: 800px){
	#billboard{
		aspect-ratio: 1920/1080;
		height: 100vh;
		background-size: cover;
		background-position: 80% bottom;
	}
}

#billboard.appear{
	opacity: 1;
}

@media(min-width:1937px){
	#billboard{
		max-height: none;
	}
}

#billboard .caption-1{
	position: absolute;
	top: clamp( 20px , var(--cap1Top) , 368px);
	left: clamp( 30px , calc( 14.63vw  - 16.8px) , 210px);
	opacity: 0;
	transform: translateY(50px);
	transition: transform 1.5s 2.5s cubic-bezier(0.33, 1, 0.68, 1) , opacity 2s 2.5s cubic-bezier(0.37, 0, 0.63, 1);
}

#billboard .caption-2{
	position: absolute;
	top: clamp( 25% , var(--cap2Top) , 55.6% );
	left: clamp( 30px , calc( 14.63vw  - 16.8px) , 210px);
	font-size: clamp( 18px , 0.66em , 30px );
	opacity: 0;
	transform: translateY(50px);
	transition: transform 1.5s 4.5s cubic-bezier(0.33, 1, 0.68, 1) , opacity 2s 4.5s cubic-bezier(0.37, 0, 0.63, 1);
}


@media(min-width: 1550px){
	#billboard .caption-1{
		top: 33.8%;
		left: 13.5%;
	}

	#billboard .caption-2{
		top: 55.6%;
		left: 13.5%;
	}
}

#billboard .caption-1.popup{
	transform: none;
	opacity: 1;
}

#billboard .caption-2.popup{
	transform: none;
	opacity: 1;
}
/*breadcramb
------------------------------------------------------------------------------ */
.breadcramb{
	width: 100%;
	text-align: left;
	font-weight: var(--lightFontWeight);
	margin-top: 5px;
}
/* ========================================================================== */
/*	2．MAIN
/* ========================================================================== */
#site_content{
	position: relative;
	z-index: 1;
}
/* page.php
============================================================================= */

body:not(.home) #site_content{ position: relative;}

/*	index.php post_type_archive / blog / monthly_archive
----------------------------------------------------------------------------- */

.two-columns{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

@media(min-width: 1000px){
	.two-columns{
		flex-direction: row-reverse;
	}
}

.two-columns #main-column{
	flex-basis: 100%;
	background-color: white;
	padding-top: var(--variableSpaceS);
	padding-inline: 1em;
}

.two-columns #archive-sidebar{
	flex-basis: 100%;
	padding-top: var(--variableSpaceS);
	padding-inline: 1em;
}

@media(min-width: 1000px){

	.two-columns #main-column{
		flex-basis: 60.5%;
	}

	.two-columns #archive-sidebar{
		flex-basis: 39.5%;
		padding: 0;
		position: relative;
	}


}

/* #main-column
----------------------------------------------------------------------------- */
#main-column > article{
	width: 100%;
	padding-bottom: var(--variableSpaceS);
}

#main-column > article.hentry{
	border-bottom: 1px solid var(--themeBlue);
}

/* entry-header
----------------------------------------------------------------------------- */

.entry-header{ padding: 0; background-color: inherit; }

h2.entry-title{
	margin: 0 0 0.5em;
	padding-bottom: 0.3em;
	width: 100%;
	font-size: var(--rfs24);
	border-bottom: 1px solid #C1CBCB;
}

.entry-title a{ text-decoration: none; color: inherit; }

.post-date{
	font-size: var(--rfs18);
	font-weight: var(--regularFontWeight);
	margin-bottom: 1em;
}

.post-cat{
	color: var(--themeColor);
}

/* pagenation
----------------------------------------------------------------------------- */

.nav-links{ text-align: center; }

span.page-numbers:not(.prev):not(.next){
	background-color: var(--themeColor);
	color: white;
	margin: 5px;
	display: inline-block;
	width: 1.5em;
	padding: 3px;
 }

a.page-numbers{ transition: all 0.3s ease;}

a.page-numbers:not(.prev):not(.next){
	border: 1px solid var(--footerBgColor);
	margin: 5px;
	display: inline-block;
	width: 1.5em;
	padding: 3px;
	background-color: white;
	color: var(--themeBlue);
	border: 1px solid var(--themeBlue);
}

@media(hover: hover){
	a.page-numbers:not(.prev):not(.next):hover{
		background-color: var(--themeBlue);
		color: white;
	}
}

a.page-numbers.next,a.page-numbers.prev{ color: var(--themeColor); transition: all 0.3s ease;}

@media(hover: hover){
	a.page-numbers.next:hover,a.page-numbers.prev:hover{ color: var(--textOrangeDark); }
}

a.page-numbers.prev .arrow{ display: inline-block; transform: rotate(30deg);}

a.page-numbers.next .arrow{ display: inline-block; transform: rotate(-30deg);}

.page-numbers.current{ position: relative;}

.page-numbers.current::after{
	content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    font-size: 10px;
    background-color: var(--themeColor);
    bottom: -5px;
    left: 0;
    right: 0;
    margin: auto;
}

/* #archive-sidebar
----------------------------------------------------------------------------- */
#archive-sidebar h2{
	font-size: var(--rfs20);
	font-family: inherit;
	font-weight: 500;
	display: grid;
	width: 100%;
	max-width: 350px;
	height: 3em;
	line-height: 1;
	place-items: center;
	color: white;
	margin-bottom: 0.5em;
	background-color: var(--themeColor);
}
#archive-sidebar ul{
	margin: 0 10px;
	font-weight: var(--regularFontWeight);
	line-height: 1.5;
}

#archive-sidebar ul.cat-list li:last-child{
	margin-top: 1em;
}

#archive-sidebar select{
	font-size: var(--rfsS);
	margin: 0 10px;
	padding: 0.5em;
	width: calc(100% - 20px);
	background-color: white;
	border: 1px solid #ccc;
}
.sidebar-block-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 15px;
	max-width: 100%;
	margin: 0;
	padding-inline: 0;
}

@media(min-width: 1000px){
	.sidebar-block-wrap{
		max-width: 395px;
		margin: 0;
		justify-content: flex-start;
		padding: 36px;
		transition: all 0.5s ease-out;
	}
	.two-columns .sidebar-block-wrap.fixed{
		position: fixed;
		top: var(--headerHeight);
		right: calc((100vw - var(--sbw) - 1000px) / 2);
	}
}

.sidebar-block{ flex-basis: 233px; flex-grow: 1; max-width: 350px; }



/*	Single.php
============================================================================= */

/* SINGLE PAGINATION
----------------------------------------------------------------------------- */

.pagination-single{
	font-size: var(--rfsM);
	margin-top: 5rem;
}

.pagination-single-inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pagination-single hr:first-child{
	margin: 0 0 2.8rem 0;
}

.pagination-single hr:last-child{
	margin: 2.8rem 0 0.8rem 0;
}

.pagination-single-inner > *{
	font-weight: var(--boldFontWeight);
	display: flex;
	align-items: baseline;
	text-decoration: none;
	letter-spacing: -0.0275em;
	width: 7.5em;
	color: var(--themeColor);
	font-size: var(--rfs18);
	line-height: 30px;
}

.pagination-single a.previous-post .arrow{
	margin-right: 1rem;
}

.pagination-single a.next-post .arrow{
	margin-left: 1rem;
}

.pagination-single a.return-list{
	width: 6em;
	background-color: var(--textblueLight);
	padding: 0.5em;
	font-size: var(--rfs20);
	color: black;
}

.pagination-single a .dashicons{
	width: 1em;
	height: 1em;
	font-size: 30px;

}

@media(hover: hover){
	.pagination-single a:focus .title , .pagination-single a:hover .title{
		text-decoration: underline;
	}
}

@media ( min-width: 700px ){

	.pagination-single{
		font-size: var(--rfsL);
		margin-top: 8rem;
	}

	.pagination-single.only-next .pagination-single-inner{
		justify-content: flex-end;
	}

	.pagination-single hr:first-child{
		margin: 0 0 4rem 0;
	}

	.pagination-single hr:last-child{
		margin: 4rem 0 0.8rem 0;
	}

	.pagination-single .next-post{
		text-align: right;
	}
}


/*	search.php
============================================================================= */

/* Search Results
----------------------------------------------------------------------------- */

.no-search-results-form{
	padding-top: 5rem;
}

@media ( min-width: 700px ){

	.no-search-results-form{
		padding-top: 8rem;
	}
}

/* Search Form
----------------------------------------------------------------------------- */

.search-form{ display: flex; align-items: stretch; flex-wrap: nowrap; margin: 0 0 -0.8rem -0.8rem; }

.search-form .search-field , .search-form .search-submit{ margin: 0 0 0.8rem 0.8rem; }

.search-form label{ font-size: inherit; display: flex; align-items: stretch; width: 100%; max-width: 300px; margin: 0; }

.search-form .search-field{ width: 100%; }

.search-form .search-submit{ flex-shrink: 0; }

@media(hover: hover){
	.search-form .search-submit:focus , .search-form .search-submit:hover{ text-decoration: none; }
}
/*	Error 404
============================================================================= */


.error404 #site_content{
	padding-top: 4rem;
}

.error404-content{
	text-align: center;
}

.error404 #site_content .search-form{
	justify-content: center;
	margin-top: 3rem;
}
@media (min-width: 700px){

	.error404 #site_content{
		padding-top: 8rem;
	}
}


/*  Site Map
============================================================================= */

/* ========================================================================== */
/*	3．FOOTER
/* ========================================================================== */


/*	Site Footer
----------------------------------------------------------------------------- */

#site_footer{
	position : relative;
	z-index: 1;
	background-color: var(--themeColor);
}

/* footer inner
----------------------------------------------------------------------------- */
.footer-inner{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto auto;
	row-gap: var(--variableSpaceS);
	color: var(--accentColor);
	font-size: var(--rfs18);
}

@media(min-width: 1100px){
	.footer-inner{
		grid-template-columns: auto 1fr auto;
		grid-template-rows: auto;
		column-gap: 5%;
	}
}

.footer-left figure{
	margin-bottom: 1em;
}

.footer-left div{
	width: 19.5em;
	margin-inline: auto;
}

/*footer-menu*/
.footer-menu{
	list-style: none;
	display: grid;
	grid-template-columns: auto auto ;
	grid-template-rows: 1.44em 1.44em 1.44em 1.44em 1.44em 1.44em 1.44em 1.44em 1.44em;
	column-gap: 1em;
	row-gap: 1.2em;
}

.left1{ grid-column: 1 / 2; grid-row: 1 / 2;}
.left2{ grid-column: 1 / 2; grid-row: 2 / 3;}
.left3{ grid-column: 1 / 2; grid-row: 3 / 4;}
.mid-right1{ grid-column: 2 / 3; grid-row: 1 / 2;}
.mid-right2{ grid-column: 2 / 3; grid-row: 2 / 3;}
.mid-right3{ grid-column: 2 / 3; grid-row: 3 / 4;}

.mid-left1{ grid-column: 1 / 2; grid-row: 4 / 5;}
.mid-left2{ grid-column: 1 / 2; grid-row: 5 / 6;}
.mid-left3{ grid-column: 1 / 2; grid-row: 6 / 7;}
.mid-left4{ grid-column: 1 / 2; grid-row: 7 / 8;}
.mid-left5{ grid-column: 1 / 2; grid-row: 8 / 9;}
.right1{ grid-column: 2 / 3; grid-row: 4 / 5;}
.right2{ grid-column: 2 / 3; grid-row: 5 / 6;}
.right3{ grid-column: 2 / 3; grid-row: 6 / 7;}
.right4{ grid-column: 2 / 3; grid-row: 7 / 8;}
.right5{ grid-column: 2 / 3; grid-row: 8 / 9;}

@media(min-width: 500px){
	.footer-menu{
		grid-template-columns: auto auto auto auto;
		grid-template-rows: 1.44em 1.44em 1.44em 1.44em 1.44em;
	}

	.left1{ grid-column: 1 / 2; grid-row: 1 / 2;}
	.left2{ grid-column: 1 / 2; grid-row: 2 / 3;}
	.left3{ grid-column: 1 / 2; grid-row: 3 / 4;}
	.mid-left1{ grid-column: 2 / 3; grid-row: 1 / 2;}
	.mid-left2{ grid-column: 2 / 3; grid-row: 2 / 3;}
	.mid-left3{ grid-column: 2 / 3; grid-row: 3 / 4;}
	.mid-left4{ grid-column: 2 / 3; grid-row: 4 / 5;}
	.mid-left5{ grid-column: 2 / 3; grid-row: 5 / 6;}
	.mid-right1{ grid-column: 3 / 4; grid-row: 1 / 2;}
	.mid-right2{ grid-column: 3 / 4; grid-row: 2 / 3;}
	.mid-right3{ grid-column: 3 / 4; grid-row: 3 / 4;}
	.right1{ grid-column: 4 / 5; grid-row: 1 / 2;}
	.right2{ grid-column: 4 / 5; grid-row: 2 / 3;}
	.right3{ grid-column: 4 / 5; grid-row: 3 / 4;}
	.right4{ grid-column: 4 / 5; grid-row: 4 / 5;}
	.right5{ grid-column: 4 / 5; grid-row: 5 / 6;}
}


.footer-menu li a{
	color: inherit;
	transition: color 0.3s ease;
}
.footer-menu li a:hover{
	color: var(--accentColorLight);
}

.footer-menu a[tabindex="-1"]{
	opacity: 0.5;
}

/* ページトップに戻る
----------------------------------------------------------------------------- */

a.to-the-top{
	position : fixed;
	z-index: 2;
	right : 10px;
	bottom : 1rem;
	transform : translateX(135%);
	transition: transform 0.3s ease;
	color: var(--themeBlue);
}

a.to-the-top svg{
	width: 40px;
	height: 30px;
}
a.to-the-top > *{
	pointer-events : none;
}

.to-the-top-long{
	display : none;
}

/* COPYRIGHTS
----------------------------------------------------------------------------- */
#copyrights{
	text-align: center;
	font-size: var(--rfs18);
	font-family: var(--englishFont);
	color: white;
    height: calc(var(--rfs18) * 3);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
}


/*=========================================================================== */
/* Google Map embed
============================================================================= */

.ggmap{
	position: relative;	overflow: hidden; max-width: 100%; height: 300px;text-align: center; }

.ggmap iframe , .ggmap object , .ggmap embed{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }



/*=========================================================================== */
/* Contents Setting
============================================================================= */
/*common setting
-----------------------------------------------------------------------------*/
.bg-white{
	position: relative;
	z-index: 1;
	background-color: white;
	overflow: hidden;
}

.bg-gray{
	background-color: var(--themeGray);
}

.rounded{
	border-radius: 5vw;
}

@media(min-width: 1000px){
	.rounded{
		border-radius: 50px;
	}
}

/* history list
----------------------------------------------------------------------------*/

.history-list{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 1em;
	font-family: var(--minchoFont);
}

.history-list .separator{
	flex-basis: 100%;
	height: 1px;
	border-bottom: 1px solid #C1A550;
	margin: 0.2em 0;
}

.history-list .left{
	flex-basis: 100%;
	padding-inline: 3%;
}

.history-list .right{
	flex-basis: 100%;
	padding-inline: 3%;
}

.history-list figure{
	display: inline-block;
}

@media(min-width: 850px){
	.history-list .left{
		flex-basis: 30%;
		padding-left: 12%;
	}

	.history-list .right{
		flex-basis: calc(100% - 35% );
		padding-left: 0;
	}
}

/* pourin
-----------------------------------------------------------------------------*/
[class^="flex-pourin"]{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	gap: 20px 0;
}

[class^="flex-pourin"] figure{ max-width: 100%; margin: 0 auto 20px;}

[class^="flex-pourin"]::after{ content: "";clear: both;display: block;}

@media(min-width: 600px){

	[class^="flex-pourin"]{	display: block;}

	.flex-pourin-right figure{ float: left; max-width: 49%; margin: 0 6% 20px 0!important;}

	.flex-pourin-left figure{ float: right; max-width: 30%; margin: 0 0 20px 6%!important;}
}

/*------------------------------------------------------------*/
 /* Section Header */
/*------------------------------------------------------------*/
.section-header{
	font-family: var(--minchoFont);
	font-size: var(--rfs40);
	font-weight: 700;
	color: black;
	margin-bottom: 1em;
}

/*----------------------------------------------------------------------------- */
/* Contact Form
------------------------------------------------------------------------------*/

.wpcf7 {
	width: 100%!important;
	font-family: var(--gothicFont);
}

.wpcf7-form{ position: relative;}

.wpcf7 dl {
	display: flex;
	flex-wrap: wrap;
	margin: 2rem 1rem 4rem 1rem;
}
.wpcf7 dt {
	flex-basis: 100%;
	font-weight: var(--regularFontWeight);
}
.wpcf7 dd{
	flex-basis: 100%;
	margin: 0;
	font-weight: var(--regularFontWeight);
}

.wpcf7 select{
	padding: 0.5em;
	font-size: var(--rfs18);
	width: 100%;
}

.wpcf7 input:not([type='checkbox']),.wpcf7 textarea {
	padding: 1rem 1rem;
	box-sizing: border-box;
	width: 100%;
	font-size: var(--rfs18);
	font-family: var(--gothicFont);
	font-weight: var(--regularFontWeight);
}
.wpcf7 input[type="radio"]{display: inline-block; width: 1em;}

.wpcf7 input.p-postal-code{ width: 13em;}

.wpcf7 input[type="submit"]{
	border: none;
	color: white;
	font-size: var(--rfs24);
	width: 100%;
	max-width: 22em;
	height: 4.2em;
	background-color: var(--themeColor);
	cursor: pointer;
	border: 1px solid var(--themeColor);
	transition: var(--easeOutExpo)-in-out;
}

.wpcf7 input[type="submit"]:disabled{
	pointer-events: none
}

.wpcf7 input[type="submit"]:hover{
	background-color: white;
	color: var(--themeColor);
}

.wpcf7 input[type="number"] {
	display: inline-block;
	width: 9rem;
	padding: 1rem 0.3rem 1rem 1.8rem;
}

.wpcf7 #your_zip input{
	width: 12.5em;
}
.wpcf7 .required {
	width: 1em;
	height: 1.66em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: var(--accentColor);
	font-size: 1em;
	border-radius: 5px;
    transform: scale(0.8);
}
.wpcf7 .error {
	display: inline-block;
	        animation: blink 1s ease 5;

	-webkit-animation: blink 1s ease 5;
}
.wpcf7 textarea{
	box-sizing: border-box;
}

.wpcf7 #type .wpcf7-list-item{
	display: block;
}

@keyframes blink {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.wpcf7 .left-top > div,
.wpcf7 .right-bottom > div {
	padding-right: 1em;
}
.wpcf7 .left-top > div {
	width: 100%;
	padding: 0.5rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
}

.wpcf7 .left-top .item-name{ line-height: 1; width: auto;}

.wpcf7-spinner{
	display: block;
	margin: auto;
}

@media (min-width: 750px){
	.wpcf7 dt {
		flex-basis: 11em;
	}
	.wpcf7 dd{
		flex-basis: calc(100% - 11em);
	}
}

.wpcf7-turnstile > div {
  text-align: center;
  margin-top: 1em;
}

/*------------------------------------------------------------*/
/* Flex Type */
/*------------------------------------------------------------*/
.flex-type2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	column-gap: 2%;
	row-gap: 20px;
}

.flex-type2 > *{
	flex-basis: 100%;
}

@media(min-width: 810px){
	.flex-type2 > *{
		flex-basis: 30%;
	}
}

.flex-type3{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	column-gap: 4%;
	row-gap: 20px;
}

.flex-type3 > *{
	flex-basis: 100%;
	max-width: 680px;
	margin-inline: auto;
}

@media(min-width: 1000px){
	.flex-type3 > *{
		flex-basis: 48%;
	}
}

.flex-type4{
	display: flex;
	flex-wrap: wrap;
	row-gap: var(--variableSpaceM);
}

.flex-type4 > *{
	flex-basis: 100%;
}

@media(min-width: 1000px){
	.flex-type4 .left{
		flex-basis: 38%;
	}

	.flex-type4 .right{
		flex-basis: 62%;
	}
}

.flex-type4 h2{
	width: 100%;
	text-align: center;
	margin-inline: auto;
	line-height: 1;
}

@media(min-width: 1000px){
	.flex-type4 h2{
		width: 5em;
		text-align: left;
	}
}

.flex-type4 .right{
	line-height: 1;
}

.flex-type4 .right > div{
	margin-bottom: 1.2em;
}

.flex-type4 .right ul > li{
	margin-bottom: 1.2em;
	line-height: 1.5;
}

.flex-type5{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: var(--variableSpaceS);
}

.flex-type5.rev{
	flex-direction: column-reverse;
	align-content: center;
}

.flex-type5 img{
	margin: 0 auto;
}

.flex-type5 .left{
	flex-basis: 100%;
	max-width: 560px;
}

.flex-type5 .right{
	flex-basis: 100%;
	max-width: 560px;
}

.flex-type5.lined .right{
	border-bottom: 2px solid #C1A550;
	padding-bottom: 2em;
}

@media(min-width: 1000px){
	.flex-type5.rev{
		flex-direction: row;
	}

	.flex-type5 .left{
		flex-basis: 46.5%;
		display: grid;
		justify-content: end;
	}

	.flex-type5 .right{
		flex-basis: 53.5%;
		padding-left: 2em;
	}

	.flex-type5.lined .right{
		border-bottom: none;
		padding-bottom: 0;
		border-left: 2px solid #C1A550;
	}
}



.flex-type5 h2,.flex-type5 h3{
	font-size: var(--rfs30);
	font-weight: 600;
	width: 6em;
	text-align: center;
	margin-right: 2em;
}

#quality h3, #honkarebushi h3{
	font-size: var(--rfs30);
	width: 20em;
	text-align: center;
	margin-inline: auto;
	padding-bottom: 0.2em;
	border-bottom: 2px solid #C1A550;
	font-weight: 600;
}
/*------------------------------------------------------------*/
 /* Text Trigger */
/*------------------------------------------------------------*/
.text-trigger{
	text-align: center;
	font-size: var(--rfs24);
	font-weight: 500;
	line-height: 2;
}
.text-trigger span {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.text-trigger span.visible {
  opacity: 1;
}

/*------------------------------------------------------------*/
 /* TOP PAGE */
/*------------------------------------------------------------*/
.home #page_header{
	margin-bottom: var(--variableSpaceM);
}

.home-section{
	display: block;
	position: relative;
}

.home-section > figure{
	width: 100%;
	height: 100%;
	position: relative;
}

.home-section figure::before{
	content: "";
	z-index: 1;
	background-color: #B5B5B5;
	mix-blend-mode: multiply;
	width: 100%;
	height: 100%;
	position: absolute;

}

#katsuobushi figure{
	aspect-ratio: 800 / 1080;
}

#katsuobushi figure img{
	object-fit: cover;
	height: 100%;
}

@media(min-width: 800px){
	#katsuobushi figure{
		aspect-ratio: 1920 / 1080;
		height: 100vh;
	}
}

#katsuobushi.home-section h2{
	font-size: clamp( 22px , calc( 1.68vw  + 16.6px) , 40px);
	font-weight: 600;
	color: white;
	width: 100%;
}

.home-section > div{
	font-size: var(--rfs24);
	color: white;
	position: absolute;
	z-index: 2;
	padding-top: var(--variableSpaceS);
}



#katsuobushi.home-section > div{
	width: 100%;
	height: 100%;
	max-height: 25em;
	top: 0;
	margin-inline: auto;
	display: grid;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
}

#dashi.home-section figure::before{
	width: 100%;
	max-width: 900px;
	left: auto;
	right: 0;
}

#dashi.home-section > div{
	top: 0;
	width: 100%;
	max-width: 900px;
	height: 100%;
	max-height: 22.6em;
	right: 0;
	padding-left: var(--variableSpaceS);
	display: grid;
	top: 50%;
	transform: translateY(-50%);
}

#dashi h2{
	font-size: clamp( 22px , calc( 1.68vw  + 16.6px) , 40px);
	font-weight: 600;
}

#dashi figure{
	aspect-ratio: 800 / 1080;
}

#dashi figure img{
	object-fit: cover;
	height: 100%;
}

@media(min-width: 800px){
	#dashi figure{
		aspect-ratio: 1920 / 1080;
		height: 100vh;
	}
}



#makurazaki .flex-type1{
	display: flex;
	flex-wrap: wrap;
	column-gap: 7%;
	row-gap: 20px;
}

#makurazaki figure{
	flex-basis: 100%;
}

#makurazaki .flex-type1 > div{
	display: grid;
	flex-basis: 100%;
	max-width: 700px;
	margin-inline: auto;
}


@media(min-width: 1000px){
	#makurazaki figure{
		flex-basis: 43%;
	}

	#makurazaki .flex-type1 > div{
		flex-basis: 50%;
		flex-shrink: 0;
	}
}

#makurazaki h2{
	font-size: clamp( 22px , calc( 1.68vw  + 16.6px) , 40px);
	font-weight: 600;
	margin-bottom: 20px;
}

#product_introduction .close-popup{
	display: none;
}

#product_introduction h2{
	text-align: center;
	font-size: var(--rfs40);
	font-weight: 600;
	margin-bottom: var(--variableSpaceS);
}

#product_introduction .flex-type2 > .panel{
	position: relative;
	background-color: var(--themeColor);
	flex-grow: 1;
	max-width: 430px;
	margin-inline: auto;
}

#product_introduction .flex-type2 > .panel figure{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	aspect-ratio: 430 / 300;
}

#product_introduction .flex-type2 > .panel > div{
	padding: var(--variableSpaceS) 20px;
	color: white;
	padding-top: calc(var(--variableSpaceS) + 70%);
}

@media(min-width: 1050px){
	#product_introduction .flex-type2 > .panel > div{
		padding:  calc(var(--variableSpaceS) + 70%) var(--variableSpaceS) var(--variableSpaceS);
	}
}

#product_introduction h3{
	font-size: var(--rfs30);
	font-weight: 600;
	text-align: center;
	margin-bottom: 1em;
}

#product_introduction .description{
	font-size: var(--rfs20);
}

#product_introduction .price{
	text-align: right;
}

#product_introduction .price span{
	font-size: var(--rfs14);
}

.to-products{
	display: block;
	font-size: var(--rfs24);
	text-align: center;
	color: var(--themeColor);
	text-decoration: underline;
}

#launcher{
	background-color: #EBDFBA;
}

#launcher h2{
	font-size: var(--rfs40);
	text-align: center;
	font-weight: 600;
	margin-bottom: var(--variableSpaceS);
}

#launcher a{
	display: block;
	position: relative;
	min-height: 170px;
}

#launcher a figure{
	height: 100%;
}

#launcher a figure img{
	height: 100%;
	object-fit: cover;
}

#launcher a > div{
	width: 50%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	padding-left: var(--rfs40);
	color: white;
	display: grid;
	align-content: center;
}

#launcher h3{
	font-size: clamp( 22px , calc( 1.68vw  + 16.6px) , 40px);
	margin-bottom: 0.7em;
}

/*---------------------------------------------------------------------------
 会社情報
----------------------------------------------------------------------------- */
.section-title{
	font-size: var(--rfs30);
	font-weight: 600;
	text-align: center;
}
.greeting-wrap{
	background-color: #F5EFDC;
	padding-inline: 10%;
	padding-block: var(--variableSpaceM);
}
.greeting-grid{
	display: grid;
	max-width: 950px;
	grid-template-columns: 1fr;
	column-gap: 20px;
	row-gap: var(--variableSpaceS);
	justify-content: space-between;
}

@media(min-width: 1000px){
	.greeting-grid{
		grid-template-columns: 31.6% 63%;
	}
}

.greeting-grid figure{
	max-width: 300px;
	margin-inline: auto;
}

.greeting-grid img{
	margin-bottom: 2em;
}

#profile .flex-li{
	flex-wrap: wrap;
	justify-content: flex-start;
	row-gap: 20px;
}

#profile .flex-li > div:first-child{
	flex-basis: 15em;
	flex-grow: 0;
}

.map-btn{
	display: grid;
	width: 13.5em;
	height: 3em;
	place-items: center;
	background-color: #F5EFDC;
}

.link-btn{
	display: grid;
	place-items: center;
	font-size: var(--rfs30);
	width: 10.66em;
	height: 2.66em;
	background-color: #E3CB80;
	margin-inline: auto;
}

/*---------------------------------------------------------------------------
 だしパック極
----------------------------------------------------------------------------- */
body.kiwami .kiwami-width{
	font-size: var(--rfs24);
	max-width: 29em;
	margin-inline: auto;
	text-align: left;
}

body.kiwami .text{
	line-height: 2;
	padding-left: 5%;
}

body.kiwami .kiwami-width h2{
	text-align: left;
}

body.kiwami #how_to_use .content-width{
	border-top: 6px double #C1A550;
	border-bottom: none;
}
body.kiwami #p_info .content-width{
	border-top: 6px double #C1A550;
	border-bottom: none;
}
/*---------------------------------------------------------------------------
 旨みのじかん
----------------------------------------------------------------------------- */
.umami-section-title{
	font-size: var(--rfs40);
	font-weight: 600;
	text-align: center;
}

#iriguchi .grid-wrapper{
	display: grid;
	grid-template-columns: 1fr;
	justify-content: center;
	row-gap: 20px;
}

@media(min-width: 860px){
	#iriguchi .grid-wrapper{
		grid-template-columns: 1fr 1fr 1fr;
		column-gap: 18px;

	justify-content: space-between;
	}
}

#iriguchi .grid-wrapper > div{
	max-width: 430px;
	margin-inline: auto;
}

#iriguchi .circle{
	font-size: var(--rfs60);
	width: 2.67em;
	height: 2.67em;
	border-radius: 50%;
	background-color: var(--themeColor);
	color: white;
	margin: 0 auto 20px;
	display: grid;
	place-items: center;
	line-height: 1;
}

#iriguchi .text{
	background-color: var(--themeColor);
	font-size: var(--rfs18);
	color: white;
	padding: 1.5em 1.5em 0.5em;
}

@media(min-width: 1050px){
	#iriguchi .text{
		font-size: var(--rfs20);
	}
}

#iriguchi .static .text{
	padding-bottom: 2em;
}

#iriguchi h3{
	font-size: var(--rfs24);
	text-align: center;
	font-weight: 600;
	margin-bottom: 0.8em;
}
@media(min-width: 1050px){
	#iriguchi h3{
		var(--rfs30);
	}
}
#iriguchi .text p{
	line-height: 2;
	max-width: 18em;
	margin-inline: auto;
}

#iriguchi .static .text p{
	font-size: var(--rfs20);
	line-height: 2.5;
}

#iriguchi .rise{
	transform: translateY(80px);
	opacity: 0;
	transition: all 1s cubic-bezier(0.37, 0, 0.63, 1);
}

#iriguchi .rise.done{
	transform: none;
	opacity: 1;
}

#easy .grid-wrapper{
	display: grid;
	grid-template-columns: 1fr;
	border-bottom: 6px double #C1A550;
	row-gap: var(--variableSpaceM);
}

@media(min-width: 1100px){
	#easy .grid-wrapper{
		grid-template-columns: 50% 50%;
	}
}


#easy .grid-wrapper .left{
	display: grid;
	place-items: center;
}

#easy .grid-wrapper .right{
	font-size: var(--rfs24);
	font-weight: 500;
	align-content:space-between;
	line-height: 3;
	max-width: 22.5em;
	margin-inline: auto;
}

@media(min-width: 1100px){
	#easy .grid-wrapper .right{
		padding-left: var(--variableSpaceS);
	}
}

#match h2{
	margin-bottom: 2em;
}

#match figure{
	overflow: hidden;
}

#match img{
	transition: all 0.3s ease-out;
}

#match a:hover img{
	transform: scale(1.1);
	opacity: 0.7;
}

#match .text{
	text-align: center;
}

#match h3{
	font-size: var(--rfs30);
	font-weight: 600;
	text-align: center;
	line-height: 3;
}

#match p{
	text-align: center;
}

#match .invitation{
	color: #9EAAB1;
	display: inline-block;
	border-bottom: 1px solid currentColor;
}

#bottom_text > div{
	display: grid;
	aspect-ratio: 2 / 1;
	align-content: center;
}

#bottom_text p{
	font-size: var(--rfs40);
	font-weight: 600;
	text-align: center;
	margin-bottom: 1em;
}

#bottom_text img{
	margin-inline: auto;
}

/*---------------------------------------------------------------------------
 旨みのじかん　1秒
----------------------------------------------------------------------------- */
#primary_text .content-width{
	border-bottom: 6px double #C1A550;
}

.one-second #primary_text .content-width > div{
	max-width: 28em;
	margin-inline: auto;
}

.one-second .text-trigger{
	text-align: left;
}

#how_to_use{
	font-size: var(--rfs24);
	font-weight: 500;
}

#recommended_for{
	font-size: var(--rfs24);
	font-weight: 500;
}

#recommended_for .content-width{
	border-bottom: 6px double #C1A550;
}

#recommended_for h2{
	line-height: 1.5;
}

#recommended_for .right{
	padding-top: 0.5em;
	font-size: var(--rfs28);
}

.one-second #how_to_use .right{
	max-width: 15em;
	margin-inline: auto;
}

.one-second #recommended_for .right{
	max-width: 19.5em;
	margin-inline: auto;
}

#p_info .content-width{
	border-bottom: 6px double #C1A550;
}

.p-info-list{
	font-size: var(--rfs28);
	margin-inline: auto;
}

.w440{
	max-width: 16em;
}

.w700{
	max-width: 26em;
}

.p-info-list li{
	margin-bottom: 0.85em;
	font-weight: 600;
	line-height: 1.5;
}

.flex-li{
	display: flex;
}

.flex-li > div{
	width: calc(100% - 4em);
}

.flex-li > div > div{
	margin-bottom: 0.5em;
}

.flex-li > div > div:last-child{
	margin-bottom: 0;
}

.w540{
	font-size: var(--rfs30);
	max-width: 18em;
	font-weight: 600;
	margin-inline: auto;
	line-height: 1.8;
}

/*---------------------------------------------------------------------------
 旨みのじかん 1分 3分
-----------------------------------------------------------------------------*/
.one-minute #primary_text .content-width{
	border-bottom: 6px double #C1A550;
}

.one-minute #primary_text .content-width > div{
	max-width: 22em;
	margin-inline: auto;
}

.one-minute .text-trigger{
	text-align: left;
}

.one-minute .w590{
	max-width: 25em;
	line-height: 2.5;
	margin-inline: auto;
	font-weight: 600;
	letter-spacing: 0.2em;
}

.one-minute #how_to_use .right{
	max-width: 23em;
	margin-inline: auto;
}

.one-minute #recommended_for .right{
	max-width: 19em;
	margin-inline: auto;
}

.three-minutes #how_to_use .right{
	max-width: 20em;
	margin-inline: auto;
}

.three-minutes #recommended_for .right{
	max-width: 23.5em;
	margin-inline: auto;
}

@media(min-width: 1000px){
	#how_to_use .right,
	* #recommended_for .right{
		margin-inline: 0 auto!important;
	}
}

/*---------------------------------------------------------------------------
 プライバシーポリシー
----------------------------------------------------------------------------- */
#privacy_policy{
	font-size: var(--rfs20);
}

#privacy_policy h2{
	font-size: var(--rfs30);
	font-weight: 600;
	border-bottom: 1px solid black;
	margin-bottom: 0.8em;
}

#privacy_policy h3{
	font-size: var(--rfs24);
	font-weight: 600;
	border-bottom: 1px solid black;
	margin-bottom: 0.8em;
}

#privacy_policy h4{
	font-size: var(--rfs20);
	font-weight: 500;
	border-bottom: 1px solid black;
	margin-bottom: 0.5em;
}

#privacy_policy ul{
	margin-bottom: 1em;
	line-height: 1.7;
}

#privacy_policy dl{
	display: grid;
	grid-template-columns: 5em 1fr;
	line-height: 1.7;
}

#privacy_policy .contact{
	line-height: 1.7;
}
/*Popup
---------------------------------------------------------------------*/
/*POPUP BASE*/
body.fixed2{
	overflow: hidden;
	margin-right: var(--sbw);
}

body.fixed2 #popup-background{
	position: fixed;
    width: 100%;
    height: 100vh;
	top: 0;
	z-index: 3;
	background-color: var(--themeColor);
	opacity: 0.8;
}

#popup-base.active{
	position: fixed;
    width: 100%;
    height: 100vh;
	top: 0;
    z-index: 5;
	opacity: 0;
	overflow-y: scroll;
	padding: calc( 1em + var(--headerHeight)) var(--variableSpaceS) (--variableSpaceM);
}

#popup_appear{
	padding: var(--variableSpaceS);
	position: relative;
	z-index: 1;
    box-sizing: border-box;
	display: none;
	align-items: center;
	margin-top: var(--headerHeight);
}

.white-base{
	background-color: white;
	height: 100%;
}

#popup_inner{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto;
	max-width: 1200px;
	margin-inline: auto;
}

@media(min-width: 1300px){
	#popup_inner{
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
	}
}

#popup_inner > div{
	background-color: var(--themeColor);
	color: white;
}

.close-popup{
	position: absolute;
	top: 0;
	right: 0;
	width: 50px;
	height: 50px;
	display: grid;
	place-items: center;
	font-size: 50px;
	line-height: 1;
	cursor: pointer;
}

#popup_inner figure + div{
	font-size: var(--rfs20);
	display: grid;
	align-content: center;
	row-gap: 20px;
	padding-left: var(--variableSpaceS);
	padding-block: var(--variableSpaceS);
}

#popup_inner figure img{
	width: 100%;
	max-width: 600px;
}

#popup_inner h3{
	font-size: var(--rfs30);
}

#popup_inner .description , #popup_inner .price{
	width: 15em;
}

#popup_inner .price{
	text-align: right;
}

