/*
Theme Name: Twenty Twenty Five Child
Template: twentytwentyfive
*/

body{
	font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight:400;
}

html {
	scroll-behavior: smooth;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
    max-height: 0%;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
    padding: 0 0 0.5em;
	/*background: none;
	text-shadow: none;*/
}


@media screen and (max-width: 781px) {
/*スペーサーを消す*/	
.spacer_none {
	display: none;
}
/*イメージを消す*/	
.img_none img {
	display: none;
}
/*左右にマージン*/	
.side_margin {
	margin: 0 20px;	
	}
/*左右にパディング*/	
.side_padding {
	padding: 0 20px!important;
	}	
}
@media screen and (max-width: 568px) {
/*568pxで左揃えにする*/	
	.left_568 {
		text-align: left;
	}
	.left_568 p {
		text-align: left;
	}		
}


/*----------------------------------------------------
 * ヘッダー
 * -------------------------------------------------*/
home header {
	color: #fff;
    font-weight: 500;
}

@media screen and (max-width: 1242px) {
	.header_tel {
		text-align: center;
		margin: 0 auto!important;
	}	
}
@media screen and (max-width: 1030px) {
header .wp-block-site-logo {
	text-align: center;
	margin: 0 auto!important;
}
header nav {
	text-align: center;
	margin: 0 auto!important;
}
}
.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
    height: 30px;
    width: 30px;
}
.page button {
    color: #000!important;
}
.home button {
	color: #000!important;
}
.wp-block-navigation__responsive-container-close {
	color: #000!important;
}

@media screen and (max-width: 781px) {
.wp-container-core-group-is-layout-7a92790e {
    gap: 12px;
}
.wp-container-core-group-is-layout-7664b034 {
    gap: 0px;
}	
	.header_tel {
		margin: 0;
	}
	.top_tel a {
		font-size: 26px;
	}	
}

/*----------------------------------------------------
 * リンクの枠線消去
 * -------------------------------------------------*/
:where(.wp-site-blocks *:focus) {
	outline:none!important;
}

/*-------------------------
 * ファーストビュー
 * ----------------------*/
.wp-site-blocks {
	position: relative;
}

.home main {
	margin-top: 0!important;
	padding: 0;
	z-index: 1;
	margin-bottom: -50px;
}
.top_contents {
	padding: 0!important;
	margin: 0;
}
.home header {
	position: absolute;
	z-index: 2;
	width: 100%;
	color: #fff;
	font-weight: 500;
	background: #0000000a;
}
.swiper_wrap {
	top:0;
	z-index:0;
}
.firstview {
	position: relative;
	top:0;
	z-index:0;
}
.title_fumendai {
	position: absolute;
	z-index: 3;
	top: 150px;
	left: 0;
	right: 0;
}
.fumendai img {
	padding: 0.5em;
}
@media screen and (max-width: 1242px) {
.title_fumendai {
	top: 200px;
}
}
@media screen and (max-width: 1030px) {
.title_fumendai {
	top: 270px;
}
}
@media screen and (max-width: 599px) {
.title_fumendai {
        top: 150px;
    }
.fumendai img {
    padding-top: 2em;
    max-width: 150px!important;	
}
}
	
/*---------------------------------------
 * 予約・問い合わせバナー、Instagram
 * ------------------------------------*/
.fix_menu_yoko{
	position:fixed;
	width:1em;
	right:0;
	padding:15px;
	z-index:9999;
	background:#a40d0d;
	color:#fff;
	border-radius:10px 0 0 10px;
	font-weight:bold;
	font-size:20px!important;
	line-height:1em;
	border-top:solid 1px #fff;
	border-bottom:solid 1px #fff;
	border-left:solid 1px #fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.fix_menu_yoko a{
	text-indent:-9999px;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;	
}
.link_yoyaku{
    top: 150px;
    height:10em;
}
.link_instagram{
	display:none;
    top: 390px;
    height: 1em;
}
@media screen and (max-width: 781px) {
.fix_menu_yoko{
	top:auto;
	bottom:0;
/*	width:calc(50% - 3px);*/
	height:1em;
	border-radius:0;
	border:solid 2px #262626;
	text-align:center;
	padding:15px 0;
    -ms-writing-mode: unset;
    writing-mode: unset;
	}
	.link_yoyaku{
		left:0;
		width:100%;
	}
	.link_instagram{
        left: 60%;
        width: 40%;
	}
}

/*-------------------------
 * top_News
 * ----------------------*/
p.tokuten {
	background: #a40d0d;
	color: #fff;
	padding: 2px;
	width: 80px;
    text-align: center;
}
.news {
	/*border: solid 1px #888;*/
    padding: 2em;
}
.news_group {
	position: relative;
}
.news_onpu {
	position: absolute;
    top: -120px;
    left: -120px;
}


/*-------------------------
 * 見出し
 * ----------------------*/
h2 {
	font-size: 2.8em;
    font-weight: bold;
}
.home h3 {
	font-size: 1.5em;
	/*padding-bottom: 30px;*/
}
.head_cover h1 {
	color: #000;
}
.head_cover h2 {
	color: #000;
}
.head_cover .wp-block-cover__inner-container {
	max-width: 800px;
    background: #f6f5f457;
    padding: 2em;
    border: solid 1px #000;
}
.head_set {
	margin-bottom: 25px;
}
.head_set h3 {
    margin:  0;             /* デフォルトCSS打ち消し */
    position:  relative;    /* 位置調整 */
    font-weight:  normal;   /* 文字の太さ調整 */
    /*margin-bottom: 35px;    /* 周りの余白指定 */
    font-size: 40px;        /* 文字サイズ指定 */
    text-align:  center;    /* 文字位置指定 */
	  line-height: 1.3;         /* 行間調整 */
}
.head_set p {
    display:  block;        /* ブロック要素にする */
    font-size:  14px;       /* 文字サイズ指定 */
    margin-top:  10px;      /* 周りの余白指定 */
    position:  relative;    /* 位置調整 */
    width: 140px;           /* 幅指定 */
    margin: 10px auto 0;    /* 周りの余白指定 */
    background-color:  #fff;/* 背景色指定 */
}

.head_en:before {
    content: '';            /* 空の要素を作る */
    height:  1px;           /* 高さ指定 */
    background-color:  #000;/* 背景色指定 */
    position:  absolute;    /* 位置調整 */
    top: 0;                 /* 位置調整 */
    bottom:  0;             /* 位置調整 */
    margin:  auto;          /* 位置調整 */
    z-index: -1;            /* 重なり調整 */
    width: 200px;           /* 幅指定 */
    left:  -30px;           /* 位置調整 */
}
.privacy h3:before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
	background-color: #000000;
    position: absolute;
    left: 0;
    top: 20px;	
}
.privacy h3 {
    margin-top: 80px;
    font-weight: 500;
    line-height: 1.8;
    position: relative;
    padding-left: 53px;
}


/*-------------------------
 * ボタン
 * ----------------------*/
.wp-block-button a {
    background-image: url(https://itoryo.com/wp/wp-content/uploads/2025/06/button_yazirushi.png);
    background-repeat: no-repeat;
    background-position: right;
    padding-right: 80px;
    background-color: #000000;
    font-weight: bold;
    transition: 0.6s;
}
.wp-block-button a:hover{
	background-position:right 7px center;
	transition:0.6s;
}

/*-------------------------
 * テーブル
 * ----------------------*/
/*黒とグレーのタイル*/
.table_tile {
  border-collapse: collapse;
  width: 100%;
  max-width: 700px;
}
.table_tile td {
  border: 2px solid #fff;
  background-color: #f6f5f4;
  padding: 1em;
}
.table_tile td:first-child {
  background-color: #111;
  color: #fff;
  font-weight: 400;
  text-align: center;
  width: 20%;
  min-width: 4em;
}
.table_simple td {
  padding: .5em 1em;
}
.table_simple tr:nth-child(1) td {
	background: #111;
  color: #fff;
	text-align: center;
	font-weight: 400;
}
.hall_price table td:nth-child(1) {
	width : 150px;
}

@media screen and (max-width: 781px) {
	table {

	}	
}

/*-------------------------
 * top_music
 * ----------------------*/
.p_box {
	border: solid 1px #888;
	padding: 30px;
}
.top_music li {
	font-weight: 600;
}
.top_music li::first-letter {
	font-size: 30px;
}
li.top_studio::first-letter {
	font-size: 24px;
}
.top_music {
	position: relative;
	margin: 0 7% 0 7%!important;
}
.piano {
	position: absolute;
	bottom: -200px;
    left: 450px;
}
.music_left {
	background: #f6f5f4;
	padding: 3em;
}
.top_music ul {
	width: 250px;
    margin: 0 auto;
    list-style: none;
}
@media screen and (max-width: 781px) {
.top_music {
    margin: 0!important;
}
.piano {
    position: static;
    bottom: 0px;
    left: 0px;
    width: 200px;
}
	.timpani {
		padding: 20px;
	}	
.music_left {
	padding: 20px!important;
}
}

/*-------------------------
 * top_food
 * ----------------------*/
.food_slider {
	position: relative;
	z-index: 0;
}
.food_box {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 700px;
}
.food_slider_mobil {
	display: none;
}

@media screen and (max-width: 781px) {
.food_box {	
	position: relative;
	height: auto;
}
.food_slider_mobil {
	display: inline;
}
.food_slider {
	display: none;
}
.top_food {
	padding: 0 0 35px;
}
.top_food_main {
	margin: 0 20px!important;
}	
}

/*-------------------------
 * top_room&bath price
 * ----------------------*/
@media screen and (max-width: 781px) {
.top_rbp {
	margin: 20px!important;
}
	.top_room {
		padding: 20px!important;
	}
	.top_price {
		padding: 20px!important;
	}
}


/*-------------------------
 * top_access
 * ----------------------*/

.top_access table td:nth-child(1) {
	width : 100px;
}
}

/*-------------------------
 * page_food
 * ----------------------*/
  .garden {
     display: flex;
     flex-direction: row; /* デフォルト */
   }
.cooking_mobile {
	display: none;
}


   /* レスポンシブ対応 */
@media screen and (max-width: 781px) {
   .column-1 {
     order: 3; /* 3列目を1列目に */
   }

   .column-2 {
     order: 2;
   }

   .column-3 {
     order: 1; /* 1列目を3列目に */
   }
	  .cooking_pc {
	display: none;
}
	.cooking_mobile {
		display: inline;
	}	 
   }

/*-------------------------
 * page_access
 * ----------------------*/
@media screen and (max-width: 781px) {
.howto_access .wp-block-image {
	text-align: center;
}
}

/*--------------------------------------
お問い合わせフォーム
---------------------------------------*/

.toiawase {
	margin: 0;
}
.ninzu {
	display: inline-block;
	width: 62px;
}

.kaigyo {
	display: none;
}
@media screen and (max-width: 450px) {
	.kaigyo {
		display: inline;
	}
	/*.onna {
		margin-left: -16px;*/
	}
	.ninzu {
		width: 60px;
	}
}

.spin input {
	width: 80px;
}
span.wpcf7-list-item {
display: block;
}

.link_mail {
	text-decoration:underline!important;
}

@media screen and (max-width: 600px) {
h2.phone_number{
	font-size:1.5em;	
}
}


/* 郵便番号 */
.yubin input{
	display:inline-block;
	width:auto;
}
.zip-button{
	height:40px;
	line-height:0!important;
}
.click_button{
	margin-top:4em;
}
.toiawase span.error{
	display:block;
	color:#dc0a3c;
	font-weight:bold;
}
.toiawase span.hissu{
	color:#fff;
	background-color:#a80913;
	padding:0 5px;
	font-size:0.9em;
	margin-right:0.3em;
	
}
.toiawase input[type=text],.toiawase input[type=email],.toiawase input[type=select],.toiawase input[type=number],.toiawase input[type=tel],.toiawase input[type=radio],.toiawase select{
	border:solid 1px #aaa;
}

.toiawase input[type=text], .toiawase input[type=email], .toiawase input[type=select], .toiawase input[type=number], .toiawase input[type=tel], input[type=date], [type=checkbox], input[type=text], input[type=email], input[type=url], input[type=password], input[type=search], input[type=number], input[type=tel], input[type=date], input[type=month], input[type=week], input[type=time], input[type=datetime], input[type=datetime-local], input[type=color], .site textarea {
    border-radius: 5px;
    padding: 10px!important;
	border: solid 1px #aaa!important;
	margin-top: 5px;
}
select {
    border-radius: 5px;
	border: solid 1px #aaa!important;
	padding: 10px !important;
}
input {
	border: solid 1px #aaa!important;
	padding: 10px !important;
}
.wpcf7 button, input[type="button"], input[type="submit"] {
    background-color: #a60b10!important;
    padding: 15px!important;
	/*border: solid 5px #fff!important;*/
	margin-top: 5px;
	border-radius: 0px;
	width: 100px;
	height: 60px;
	font-size: 1em;
}

.check_privacy {
	text-decoration: underline;
}


@supports (-webkit-appearance: none) or (-moz-appearance: none){
input[type=radio]:after {
    left: 6px!important;
    top: 6px!important;
}
}
@supports (-webkit-appearance: none) or (-moz-appearance: none){
input[type=checkbox]:after {
    left: 8px!important;
    top: 4px!important;
}
}

input[type="submit"] {
    background-color: #0b3190;
}

.toiawase textarea{
	width: 100%;
	margin-top:10px;
	border:solid 1px #aaa;	
	border-radius: 5px;
}
.toiawase dt{
	width:250px;
	float:left;
	padding-top:14px;
	font-weight:normal;
	font-size:1rem;
	min-height:5em;
	font-weight:bold;
}
.toiawase dd{
	font-size:1rem;	
	padding-left:250px;
	border-bottom:dotted 1px #eee;
	/*padding-bottom:20px;*/
	padding-top:10px;
	line-height:1.5em;
	margin-left:0;
	min-height:5em;
}
.toiawase dd:last-child {
	border-bottom:none;
}

.form_nb input{
	max-width:30%!important;
}
label.drower_menu {
    color: #f2f2f2;
}


@media screen and (max-width: 1000px) {
.toiawase dt{
	float:none;
	width:100%;
	font-size:1rem;
	min-height:2em;
}
.toiawase dd{
	padding-left:0;
	margin-bottom: 0;
	padding-top: 0px;
}
}

.horizontal-item{
	float:left;
}
button, input[type="button"], input[type="submit"]{
	background-color:#333;	
	color:#fff!important;
	font-weight:normal;
	transition:1s;	
}
button:hover, input[type="button"]:hover, input[type="submit"]:hover{
	background-color:#888;
	transition:1s;
}
input + button, input + input[type="button"], input + input[type="submit"]{
	background-color:#e6191e;
	padding:1em 2em;
}

/*@media screen and (max-width: 780px) {
.flow_wrap .wp-block-column:where(.wp-block-columns.is-layout-flex) {
		gap: 0!important;
}
.flow_wrap .wp-block-column h3 {
	padding-left: 1.8em;
    margin-top: -65px!important;	
}
}

@media screen and (max-width: 590px) {
li.form_hnb:after {
	content: "" ;
	white-space: pre;
}
}
@media screen and (max-width: 480px) {
.flow_wrap {
    margin: 8% 8%!important;
	margin-left: 40px!important;
}
.flow_wrap .more_blue a {
    width: 300px!important;
    background-position: bottom 10px left 170px!important;
    font-size: 22px!important;
}
}*/

@media screen and (max-width: 820px) {
	.wpcf7 {
		margin: 0 20px!important;
	}
}

/*--------------------------------------
footer
---------------------------------------*/
@media screen and (max-width: 781px) {
footer {
	text-align: center;
	margin: 0 auto;
}
footer nav ul {
		margin: 0 auto!important;
	text-align: center!important;
	}	
footer nav li {
	text-align: center;
	margin: 0 auto;
}
}
