/*
Theme Name: Twenty Twenty child
Template: twentytwenty
*/

@charset "utf-8";


/*------ カスタマイズ用CSS （触らない） ------*/

body,input,textarea,button,.button,.faux-button,.wp-block-button__link,.wp-block-file__button,.has-drop-cap:not(:focus)::first-letter,.has-drop-cap:not(:focus)::first-letter,.entry-content .wp-block-archives,.entry-content .wp-block-categories,.entry-content .wp-block-cover-image,.entry-content .wp-block-latest-comments,.entry-content .wp-block-latest-posts,.entry-content .wp-block-pullquote,.entry-content .wp-block-quote.is-large,.entry-content .wp-block-quote.is-style-large,.entry-content .wp-block-archives *,.entry-content .wp-block-categories *,.entry-content .wp-block-latest-posts *,.entry-content .wp-block-latest-comments *,.entry-content p,.entry-content ol,.entry-content ul,.entry-content dl,.entry-content dt,.entry-content cite,.entry-content figcaption,.entry-content .wp-caption-text,.comment-content p,.comment-content ol,.comment-content ul,.comment-content dl,.comment-content dt,.comment-content cite,.comment-content figcaption,.comment-content .wp-caption-text,.widget_text p,.widget_text ol,.widget_text ul,.widget_text dl,.widget_text dt,.widget-content .rssSummary,.widget-content cite,.widget-content figcaption,.widget-content .wp-caption-text,th,td {
	font-size:medium;
}

:not(.alignwide):not(.alignfull).wp-block-archives, :not(.alignwide):not(.alignfull).wp-block-categories, .wp-block-code, :not(.alignwide):not(.alignfull).wp-block-columns, :not(.alignwide):not(.aligncenter):not(.alignright):not(.alignleft):not(.alignfull).wp-block-cover, :not(.alignwide):not(.aligncenter):not(.alignright):not(.alignleft):not(.alignfull).wp-block-embed, :not(.alignwide):not(.aligncenter):not(.alignright):not(.alignleft):not(.alignfull).wp-block-gallery, :not(.has-background):not(.alignfull):not(.alignwide).wp-block-group, :not(.alignwide):not(.aligncenter):not(.alignright):not(.alignleft):not(.alignfull).wp-block-image, :not(.aligncenter):not(.alignright):not(.alignleft).wp-block-latest-comments, :not(.aligncenter):not(.alignright):not(.alignleft).wp-block-latest-posts, :not(.alignwide):not(.alignfull).wp-block-media-text, .wp-block-preformatted, :not(.alignwide):not(.alignright):not(.alignleft):not(.alignfull).wp-block-pullquote, .wp-block-quote, .wp-block-quote.is-large, .wp-block-quote.is-style-large, .wp-block-verse, :not(.alignwide):not(.alignfull).wp-block-video{
	margin-top:0;
}

h4, .heading-size-4, h5, .heading-size-5, h6, .heading-size-6 {
 margin:2rem auto 2.5rem	
}

ul,ol,li {
	list-style:none;
	margin:0;
	padding:0;
}

section {
	padding:8rem 0 6rem 0;
}

body.vegas-container,
body.vegas-container > .vegas-overlay,
body.vegas-container > .vegas-slide,
body.vegas-container > .vegas-timer{
	height:100vh;
}

#concept h1,
#concept h2
#concept h3,
#concept h4,
#concept h5,
#concept h6{
	font-weight:300;	
}

.m0 {	margin:0;}
.mt5 {	margin-top:5px;}
.mt10 {	margin-top:10px;}
.mt20 {	margin-top:20px;}
.mt30 {	margin-top:30px;}
.mr5 {	margin-right:5px;}
.mr10 {	margin-right:10px;}
.mr20 {	margin-right:20px;}
.mr30 {	margin-right:30px;}
.mb5 {	margin-bottom:5px;}
.mb10 {	margin-bottom:10px;}
.mb20 {	margin-bottom:20px;}
.mb30 {	margin-bottom:30px;}
.ml5 {	margin-left:5px;}
.ml10 {	margin-left:10px;}
.ml20 {	margin-left:20px;}
.ml30 {	margin-left:30px;}




/* ボタン・ナビ */
#menu_btn {
	margin-bottom:0;
}
#menu_btn a {
  width: 38px;
  height: 38px;
	position:fixed;
	top:10px;
	right:10px;
	z-index:10001;
	cursor:pointer;
}
#menu_btn a span{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 3px;
  margin: -2px 0 0 -10px;
  transition: .2s;
	background-color:#ffffff;

}
#menu_btn a span:before,
#menu_btn a span:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 3px;
  transition: .3s;
	background-color:#ffffff;
}
#menu_btn a span:before{
  margin-top: -10px;
}
#menu_btn a span:after{
  margin-top: 7px;
}
#menu_btn a.close span {
  background: transparent;
}
#menu_btn a.close span:before,
#menu_btn a.close span:after{
  margin-top: 0;
}
#menu_btn a.close span:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#menu_btn a.close span:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

#menu_modal {
	background:rgba(0,0,0,0.8);
	max-width:260px;
	width:80%;
	position:fixed;
	top:0;
	right:0;
	z-index:10000;
	overflow-y:auto;
	display:none;
	height:100vh;
	padding:55px 10px 20px 20px;;
}
#menu_modal ul {
	border-top:1px solid gray;
}
#menu_modal ul li{
	border-bottom:1px solid gray;
}
#menu_modal ul li a {
	display:block;
	color:white;
	text-decoration:none;
	padding:7px 0;
}

@media screen and (min-width:999px) {
#menu_btn {
		display:none;
}
}	
@media all and (max-width: 999px) {
#menu_btn {
		display:block;
}
	
}

p.btn01 {
	display:block;
	text-align:center;
	margin-top: 20px;
}
p.btn01 a{
	background:#8c4538;
	display:inline-block;
	color:white;
	text-align:center;
	border-radius:7px;
	text-decoration:none;
	padding:10px 30px;
}
p.btn01 a:hover {
	opacity:0.7;
}

.label-above .nf-field-element,
.label-below .nf-field-element {
	text-align:center;
}


#page-top {
	position: fixed;
	bottom: 3px;
	right: 31px;
	display: block;
	z-index: 100;
}
#page-top a {
display: inline-block;
padding: 0 0 0 16px;
color: #000;
vertical-align: middle;
text-decoration: none;
}

#page-top a:before,
#page-top a:after {
position: absolute;
top: 0;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}

#page-top a:before{
width: 38px;
height: 38px;
}

#page-top a:after{
left: 9px;
top:-12px;
box-sizing: border-box;
width: 10px;
height: 15px;
border: 10px solid transparent;
border-bottom: 8px solid #fff;
}
#reserve {
	position: fixed;
	top: 180px;
	right: 0;
	display: block;
	z-index: 50;
}
#reserve img {
	width: 80px;
	height: auto;
}

#reserve span {
	display:none;
}

@media all and (max-width: 959px) {
#reserve {
	top: auto;
	bottom:9px;
	right: 54px;
}
#reserve img {
	display:none;
}

#reserve span {
	display:block;
}	
#reserve a {
	display:block;
	color:#ffffff;
	padding:7px 40px 8px 40px;
	border-radius:5px;
	background:#00bdf4
	}
	#reserve a:hover {
background-color: #addef8;
	}	
}



/* メニューモーダル */
html,
body {
	height:100vh !important;
}
.menu-modal.active {
	left:auto;
	width:80%;
	max-width:400px;
}
.menu-modal{
	background:none;
	transition:opacity 0 ease-out;
}
.modal-menu{
	width:100%;
	left:0;
}
.menu-modal ul{
	width:100%;
}
.menu-modal-inner{
	background:rgba(255,255,255,0.8)
}

/* フェード */
.fadein {
    opacity : 0;
    transform : translate(0, 30px);
    transition : all 500ms;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

@media screen and (max-width:599px) {
.fadein {
    transform : translate(0, 20px);
}	
}

/* Flex */
ul.flex2,
ul.flex3,
ul.flex3-2,
ul.flex4,
.cat_blog_flex,
.under_flex{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.under_flex{ 
	margin-bottom:30px;
	}
ul.flex2 img,
ul.flex3 img,
ul.flex3-2 img,
ul.flex4 img{
	height:auto;
}
ul.flex2 li {
	width:calc(50% - 10px);
	margin-bottom:30px;
}
ul.flex2::after{
	content:"";
	display: block;
	width:calc(50% - 10px);
}
ul.flex3 li,
ul.flex3-2 li{
	width:calc(33% - 10px);
	margin-bottom:30px;
}
ul.flex3::after,
ul.flex3-2::after{
	content:"";
	display: block;
	width:calc(33% - 10px);
}
ul.flex4 li {
	width:calc(25% - 15px);
	margin-bottom:30px;
}
ul.flex4::before{
	content:"";
	display: block;
	width:calc(25% - 15px);
	order:1;
}
ul.flex4::after{
	content:"";
	display: block;
	display: block;
	width:calc(25% - 15px);
}

.cat_blog_flex > div:first-child {
	width:calc(100% - 300px);
	padding-right:20px;
	border-right:1px dotted silver;
}
.cat_blog_flex > div:first-child h3+img {
	margin-bottom:20px;
}
.cat_blog_flex > div:last-child {
	width:300px;
	padding-left:20px;
	text-align:left;
}
.cat_blog_flex > div:last-child ul{
	border-top:1px dotted silver;	
}
.cat_blog_flex > div:last-child .widget li {
	margin-top:0;
	padding:7px 0;
	border-bottom:1px dotted silver;
}

.cat_blog_flex > div:last-child ul li a{
	font-weight:inherit;
	font-size:90%;
}

.under_flex > div:first-child {
	width:calc(45% - 40px);
}
.under_flex > div:last-child {
	width:55%;
}

.widgettitle {
	font-size:20px;
	text-align:left;
	padding-bottom:3px;
}

.pc {
    display: inherit;
}
.tab {
    display: none;
}
.sp{
    display: none;
}

@media screen and (min-width:959px) {

}	
	
@media screen and (max-width:959px) {
ul.flex4 li {
	width:calc(33% - 10px);
	margin-bottom:25px;
}
ul.flex4::before{
	width:calc(33% - 10px);
}
ul.flex4::after{
	width:calc(33% - 10px);
}
ul.flex3-2 li {
	width:calc(50% - 10px);
	margin-bottom:25px;
}
ul.flex3-2::after{
	width:calc(50% - 10px);
}

.pc {
    display: none;
}
.tab {
    display: inherit;
}
.sp{
    display: none;
}
}
@media screen and (max-width:599px) {
ul.flex3 li {
	width:calc(50% - 10px);
	margin-bottom:25px;
}
ul.flex3::after{
	width:calc(50% - 10px);
}
ul.flex4 li {
	width:calc(50% - 10px);
	margin-bottom:25px;
}
ul.flex2::after,
ul.flex3::after,
ul.flex3-2::after,
ul.flex4::after{
	content:none;
}
ul.flex2.single li,
ul.flex3.single li,
ul.flex3-2.single li,
ul.flex4.single li {
	width:100%;
	margin-bottom:25px;
}
.cat_blog_flex > div:first-child,
.under_flex > div:first-child {
	width:100%;
	margin-bottom:25px;
	padding-right:0;
	border-right:none;
}
.cat_blog_flex > div:last-child,
.under_flex > div:last-child{
	width:100%;
	padding-left:0;
}

.pc {
    display: none;
}
.tab {
    display: none;
}
.sp{
    display: inherit;
}
}

/* 画像拡大 */
.imgWrap {
	overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
	width:auto;
	height:auto;
	display:flex;
	justify-content:center;
	align-items:center;

}
a .imgWrap img {
	display: block;
	transform: scale(1);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
	height:auto;
	max-height:100%;
}
ul a .imgWrap img {
	object-fit: contain;

}

a:hover .imgWrap img {
	transform: scale(1.15);	/*画像の拡大率*/
	transition-duration: 0.3s;	/*変化に掛かる時間*/
}



/* 下層ページ */

#under h1+img {
	max-width:600px;
	display:block;
	margin:30px auto 30px auto;
}
body:not(.singular) main > article:first-of-type {
	padding:0;
}
section#under_block,
section#category_block{
	padding:9rem 0 6rem 0;
}
#under section#under_block #shop{
	padding-top:0;
}
#under section#under_block #staff {
	padding:0;	
}
#category section#category_block .section-inner ,
#under section#under_block .section-inner {
	background:rgba(255,255,255,0.9);
	padding:30px 40px;
}

#under_block h2,
#category_block h2{
	margin:20px 0;
}
section#under_block h3 {
	font-size:20px;
	font-weight:normal;
	padding:13px;
	margin:20px 0;
	line-height:1.5;
}
section#under_block h3:nth-of-type(1),
section#under_block h2.widgettitle{
	margin-top:0;
}

@media screen and (max-width: 599px) { 
	
#category section#category_block .section-inner ,
#under section#under_block .section-inner {
	background:rgba(255,255,255,0.9);
	padding:20px;
}

section {
	padding:20px 0;
}
#under .section-inner {
		width:100%;
	}
}


/* サイト構成 */
section h2.title{
	margin:20px 0;
}

#site-header {
	background: none;
	position:fixed;
	width:100%;
	transition: all 0.5s;
	z-index:9999;
	top:0;
}
.header-inner {
	padding:0;
	height:90px;
	transition: all 0.5s;
	display:flex;
	align-items:center;
}
.header-titles {
	margin:0;
}
.header-titles img {
	width:280px;
	transition: all 0.5s;
	transform-origin: center left;
}
#site-header nav a {
	color:white;
	font-size:86%;
}

#site-header .twitter {
	margin-bottom:0;
	margin-left:20px;
}
#site-header .twitter a {
	display:block;
}
#site-header .twitter img {
	max-width:30px;
}
#menu_modal .twitter {
	margin-top:20px;

}
#menu_modal .twitter img {
	max-width:30px;
}

#site-header .twitter img.white {
	display:inherit;
}
#site-header .twitter img.black {
	display:none;
}

#site-header.scroll .twitter img.white {
	display:none;
}
#site-header.scroll .twitter img.black {
	display:inherit;
}

#site-header.scroll{
	background: rgba(255,255,255,0.8);
}
#site-header.scroll .header-inner {
	height:60px;
}
#site-header.scroll .header-titles img {
	transform:scale(0.8);
}
#site-header.scroll nav a {
	color:black;
}
.footer-top-visible .footer-nav-widgets-wrapper,
.footer-top-hidden #site-footer {
	margin-top:0;
}
@media screen and (min-width: 783px) { 
    #home {
        height: 100vh !important;
    }
}

@media screen and (max-width:599px) { 
#site-header,
#site-header.scroll {
	background: none;
	position:absolute;
	top:0;
}
#site-header .header-inner {
	height:60px;
}
#site-header .header-titles img {
	transform:scale(0.8);
}
}


#site-footer {
	padding:30px 0;
}
footer .copyright {
	text-align:center;
	font-size:80%;
}
footer .copyright  span {
	margin-bottom:7px;
	display:block;
	font-size:110%;
}

#home .cover-header-inner-wrapper {
	justify-content:center;
}
#home .cover-header-inner-wrapper div.sp img {
	width:80%;
	max-width:360px;
	margin:0 auto;
}

#concept {
	min-height:100vh;
	display:flex;
	align-items:center;
}

#news .imgWrap,
.cat_blog .imgWrap,
#recruit .imgWrap{
	border-radius:8px;
}

#news li span,
#category li span{
	display:block;
	font-size:86%;
}
#news-text {
	text-align:center;
}
#news-text ul {
	display:inline-block;
	text-align:left;
}
#news-text li {
	margin-bottom:10px;
	display:flex;
}
#news-text li span {
	display:inline-block;
	width:5em;
	margin-right:13px;
	white-space:nowrap;
}
@media screen and (max-width:599px) {
#news-text li {
	display:block;
}
	#news-text li span {
		display:block;
	}
}

#shop {
	overflow:hidden;
}
#shop table,
#shop table th,
#shop table td,
#shop_multi table,
#shop_multi table th,
#shop_multi table td{
	border:0;
}
#shop table,
#shop_multi table {
	margin:0;
}
#shop table th,
#shop_multi table th {
	white-space:nowrap;
	font-weight:inherit;
}
@media screen and (max-width:959px) {
#shop img,
#shop table{
	margin-right:0;
}
}
#shop iframe {
	clear:both;
}
#shop iframe,
#shop_multi iframe{
	border:1px solid silver;
}
#shop_multi li {
	margin-bottom:40px;
	border:1px solid lightgray;
	padding:13px;
}
@media screen and (max-width:599px) {
#shop_multi li {
	margin-bottom:20px;	
}
}	
#shop_multi table {
	margin:15px 0;
}
#shop table th,
#shop table td,
#shop_multi table th,
#shop_multi table td{ 
	font-size:86%;
}
#shop_multi table td:first-child {
	white-space:nowrap;
	padding-right:15px;
}
#shop_multi table tr:first-child td {
	font-size:105%;
	font-weight:bold;
}


section#menu {
	padding-top:0;
}
section#menu > div {
	padding-top:0;	
}
section#menu > div > ul {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
section#menu > div > ul > li {
	width:calc(50% - 20px);
	margin-bottom:40px;
}
section#menu > div > ul > li ul li {
	position:relative;
	margin-bottom:13px;
	border-bottom:1px dotted gray;
	font-size:90%;
}
section#menu li > ul {
	margin:1em 0 0 0;
}
section#menu h3{
	margin:0;
	padding:7px 10px;
	font-size:x-large;
	font-weight:normal;
}
section#menu h3+p {
	margin-top:13px;
	font-size:90%;
}
section#menu h4{
	margin:0 0 5px 0;
	font-size:22px;
	font-weight:normal;
	float:left;
}
section#menu p.price {
	float:right;
	font-size:20px;
	margin-bottom:5px;
}
section#menu p.read {
	clear:both;
}

@media screen and (max-width:959px) {
section#menu h4{
	font-size:20px;
}
section#menu p.price {
	font-size:18px;
}
}

@media screen and (max-width:599px) {
section#menu > div > ul {
	display:block;
}
section#menu > div > ul > li {
	width:100%;
	margin-bottom:30px;
}
section#menu h4,
section#menu p.price{
	font-size:18px;
}
}

#contact input,
#contact textarea{
	max-width:600px;
	margin-left:auto;
	margin-right:auto;
	display:block;
	border-radius:5px;
	box-shadow: 2px 2px 4px rgba(0,0,0,0.4);
}
#contact input[type="button"] {
	min-width:180px;
	text-decoration:none;
}

#contact .nf-form-content,
#contact .nf-after-form-content,
#contact .nf-form-cont{
	max-width:600px;
	margin-left:auto;
	margin-right:auto;
}

#contact .nf-field-label {
	display:none;
}
#contact .nf-error-msg,
#contact .ninja-forms-req-symbol,
.nf-error-msg, .ninja-forms-req-symbol{
	color:red !important;
	font-size:86%;
}
#contact .nf-form-cont{
	color:white;
}
.ninja-forms-form-wrap *,
.ninja-forms-form-wrap :after,
.ninja-forms-form-wrap :before,
.nf-form-content .list-select-wrap .nf-field-element > div:focus,
.nf-form-content textarea:focus{
	color:black !important;
}
.ninja-forms-form-wrap input[type="submit"] {
	color:white !important;
}

#next_prev {
	margin-top:30px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
#next_prev li {
	margin-bottom:10px;
}
#next_prev li:last-child {
	display:block;
	margin-left:auto;
	margin-right:0;
}
#next_prev li {
	font-size:86%;
}
#next_prev li a {
	text-decoration:none;
}
#next_prev li a:hover {
	text-decoration:underline;
}


/*-- worksモーダル --*/

.works_modal {
	background:#F3FFD8 !important;
	width:100%;
	height:100%;
}
.works_modal > div.flex {
	display:flex;
	align-items:center;
	height:100%;
	flex-wrap:wrap;
}


.works_modal > div.flex > div{
	min-width:35vw;
	width:50%;
	display:flex;
	justify-content:center;
	align-items:center;
	padding-right:50px;
}
.works_modal > div.flex > ul{
	min-width:40vw;
	width:50%;
	display:flex;
	flex-flow:column;
	justify-content:center;
}
.works_modal li h3{
	font-size:200%;
	font-weight:normal;
	line-height:1.5;
}
.works_modal li {
	margin-bottom:10px;
	color:black;
}
.works_modal li.copyright_note {
	font-size:80%;
}
.works_modal li.copyright_note img {
	display:inline;
}

.fancybox-slide--html {
	padding:0;
}
.fancybox-content {
	padding:60px;
}


.works_modal li.button {
	margin:30px auto 20px auto;
}

.works_modal li.button a {
	text-decoration:none;
	color:white;
	display:inline-block;
	margin:0 auto;
}
.works_modal li.button a svg {
	display:inline-block;
	margin-left:5px;
}
@media all and (max-width: 999px) {
	.works_modal > div.flex	{
	flex-flow:column;
	justify-content:center;
}	
	.works_modal > div.flex > div,
	.works_modal > div.flex > ul{
		width:100%;
		height:auto;
		padding-right:0;
	}
	.fancybox-navigation {
		display:none;
	}
.fancybox-content {
	padding:30px;
}
	.fancybox-slide--html .fancybox-close-small {
		position:fixed;
	}	
}
@media all and (max-width: 599px) {
.works_modal > div.flex > div{
	max-height:40vh,
}
.works_modal > div.flex > div img {
	max-height:40vh !important;
		width:auto;
}
.works_modal li h3{
	font-size:130%;
	line-height:1.5;
}
.works_modal li {
	margin-bottom:7px;
}
.works_modal li.copyright_note {
	font-size:70%;
}
}


.fancybox-bg {
    background-color: rgba(255, 255, 255, 1); /* 背景色を白に設定 */
    opacity: 1 !important; /* 不透明度を1に設定 */
}