/*
Theme Name: simplex
Theme URI: https://example.com/simplex
Author: SIMPLE Inc.
Author URI: https://simple.jp.net/
Description: “とてもすごい simple” を目指した超ミニマルテーマ
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: sugoi-simple
*/

.pc{}
.sp{display:none;}
@media(max-width:768px){
	.pc{display:none;}
	.sp{display: block;}
}
/* ベース（必要最低限） */
:root{
	/*サイズ*/
	--max: 1200px;
	
	/*色*/
	--navy:#00233a;
	--koi-navy:#001a2c;
	--white:#fff;
    --usui-navy: #334f61;
    --navy-sub: #334f61;
	
	/*フォントサイズ*/
	--fs14:14px;
	--fs16:16px;
	--fs18:18px;
	--fs20:20px;
	--fs22:22px;
	--fs24:24px;
	--fs25:25px;
	--fs26:26px;
	--fs28:28px;
	--fs30:30px;
	--fs32:32px;
	--fs35:35px;
	--fs36:36px;
	--fs38:38px;
	--fs40:40px;
	--fs44:44px;
	--fs48:48px;
	--fs50:50px;
	--fs53:53px;
	--fs60:60px;
	--fs70:70px;
	--fs78:78px;
	--fs80:80px;
	
	/*フォントファミリー */
	--ryo-gothic-plusn:"ryo-gothic-plusn", sans-serif;
	--Seravek-Basic:"seravek-web", sans-serif;
	--galvji:"galvji", sans-serif;
	
	
	
}

/*下線 border-bottomの略*/
.bb{
	border-bottom: 1px solid var(--navy);
	padding-bottom: 5px;/*
	margin-bottom: 50px!important;*/
}
p,a,h1,h2,h3,h4,h5,span,address{
	font-family: var(--ryo-gothic-plusn);
	color:var(--koi-navy);
}
.ryo-gothic-plusn{
	font-family: var(--ryo-gothic-plusn);
}
.seravek{
	font-family: var(--Seravek-Basic);
}
.galvji{font-family: var(--galvji);}

*{ box-sizing:border-box; }
body{
	margin:0;
	font:16px/1.7 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Noto Sans JP",sans-serif;
}
.wrapper{
	width:100%;
}
.site-title a{
	text-decoration:none;
	color:inherit;
}
main{
	display:block;
}
img{
	max-width:100%;
	height:auto;
}
header.site-header, footer.site-footer{
	padding:16px 24px;
	border-top:4px solid #0000;
	border-bottom:1px solid #eee;
}
.nav{
	display:flex;
	gap:16px;
	flex-wrap:wrap;
}
.nav a{
	text-decoration:none;
	color:#333;
}
.article{
	padding:16px 0;
	border-bottom:1px solid #eee;
}
.pagination{
	display:flex; gap:8px;
}

/*ハンバーガーメニューのスタイルここから*/
.c-hamburger-menu {
	aspect-ratio:1/1;
	border: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0 0 25px 0;
	position: fixed;
	right: 2%;
	top: 5%;
	z-index: 9998;
	text-align: center;
	transition: all 0.5s;
	background-size:100% 100%;
	flex-direction: column-reverse;
	min-width:100px;
	background-color:transparent;
}

.c-hamburger-menu .c-bar {
  height: 4px;
  width: 50px;
  background-color: var(--white);
  margin: 4px 0; /* マージンを少し増やして調整 */
  transition: all 0.3s ease;
	border-radius: 3px;
}

/* "MENU" テキストのスタイル */
.c-menu-text {
  color: var(--white);
	position:absolute;
	bottom:17.5px;
	font-weight: bold;
}

/* ホバー時のスタイル変更（オプション） */
.c-hamburger-menu:hover {
	/*background-color: #c8ac6f;*/
	/*opacity: 0.6;*/
}

.c-hamburger-menu:hover .c-bar {
  /*background-color: #535119;*/
}

/* メニューがアクティブな時のスタイル */
.c-hamburger-menu.active .c-bar:nth-child(1) {
  transform: rotate(45deg) translate(15px, 17.5px);
	margin-top: -60px;
}

.c-hamburger-menu.active .c-bar:nth-child(2) {
  opacity: 0!important;
	background-color:var(--navy);
}

.c-hamburger-menu.active .c-bar:nth-child(3) {
  transform: rotate(-45deg) translate(10px, -12.5px);
	/*margin-top: 10px;*/

}

#c-menubox {
/*  background-color: rgba(0,0,0,0.8);*/
	background-size:auto;
	background-position: center;
	flex-wrap: wrap;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9990;
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0; /* 初期状態で透明にする */
  transform: scale(0.95); /* 初期状態で少し小さくする */
  transition: opacity 0.5s ease, transform 0.5s ease; /* ふわっと表示させるためのトランジション */
}
.c-menubox-inner{
	margin: 2% auto auto auto;
	width:1300px;
	display: flex;
	justify-content: flex-start;
}
.c-menu-box-l{
	width: 370px;
	height: 360px;
	background-size: 100% 100%;
	aspect-ratio: 37/36;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	text-decoration: none;
}
.c-menu-box-l h3{
	font-size:var(--fs28);
	font-weight: bold;
}
.c-menu-box-l h4{
	font-size:var(--fs60);
	font-weight: bold;
}
.c-menu-box-l h4,.c-menu-box-l h3{
	margin:0;
	color:var(--koi-navy);
}
/* メニューが表示される時のスタイル */
#c-menubox.show {
	opacity: 1;
	transform: scale(1);
}
.c-menu ul li a{
	font-size:var(--fs28);
}
.c-menu ul li a,.menu ul li a{
	text-decoration: none;
	color:var(--koi-navy);
	font-weight: bold;
}
.menu{
	
}
.c-menu ul{
	margin-top: 140px;
	padding-left: 100px;
}
.c-menu ul,.menu ul{
	display: flex;
	flex-wrap: wrap;
}
.c-menu ul li,
.menu ul li{
	width:100%;
}
a,.hanten-button{
	transition: all 0.3s;
}
/*a:hover{opacity:0.7;}*/
.hanten-button:hover{
	color:var(--navy)!important;
	background-color:var(--white);
}
.c-menubox-yoyaku{
	margin-top:260px;
}
.hanten-button{
	font-weight: bold;
	background-color:var(--navy);
	color:var(--white)!important;
	padding: 20px;
	border-radius: 40px;
	width: 320px;
	display: block;
	font-size:var(--fs20);
	margin-bottom: 25px;
	text-decoration: none;
	text-align: center;
}
.headmove{
	aspect-ratio: 16 / 9;
	width: 100%;
}	
/*ハンバーガーメニューを開いた時のコンテンツとか*/
	#humberger-logo{}
	#humberger-menu{}
	#humberger-address{}
	#humberger-language{}
/*ハンバーガーメニューのスタイルここまで*/
body{
	height: -webkit-fill-available;
	background-size: auto;
}
.c-menu-bottom-l h2,.c-menu-bottom-l h3,.c-menu-bottom-l p{
	color:var(--white);
	margin: 0;
	padding-left: 100px;
}

.c-menu-bottom-l h2{
	font-size:var(--fs30);
}
.c-menu-bottom-l h3{
	font-size:var(--fs50);
	line-height: 60px;
}
.c-menu-bottom-l p{
	font-size:var(--fs18);
}
.c-menu-bottom-l hgroup{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
}
.c-menu-bottom-l,
.c-menu-bottom-r{
	width:50%;
}
.sns-flex a{text-decoration:none;}
.sns-flex{
	display:flex;
	justify-content: center;
	column-gap: 43px;
	margin: 100px 100px 50px auto;
	width: 260px;
}
.sub-menu{
	margin: 0 50px auto auto;
	width: fit-content;
}
.sub-menu ul li a {
	color:var(--white);
	font-size:var(--fs18);
	text-decoration: none;
}

/*ハンバーガーメニューのブレイクポイントはおそらく1000px*/




/*以下フッター*/
.footer {
aspect-ratio:1920/710;
  color: var(--white);
  padding: 60px 0 30px;
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
	background-size: auto;
	background-position: center;
	background-repeat: no-repeat;
}

.footer-inner {
  max-width: 1200px; /* サイトのコンテンツ幅に合わせて調整 */
  margin: 20px auto 0;
  /*padding: 0 20px;*/
  position: relative;
}

/* Page Top */
.page-top {
  display: block;
  text-align: center;
  margin-bottom: 40px;
  text-decoration: none;
}
.page-top img {
  width: 133px;
  height: auto;
}

/* コンテンツ全体 */
.footer-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 60px;
}

/* 左側：スタイル */
.footer-left {
  width: 40%;
}
.footer-logo {
  margin-bottom: 25px;
}
.footer-logo p,.footer-times p,.footer-times p span,.footer-description,.copyright{
	color: var(--white);
}
.footer-address,.footer-times p,.footer-description{font-size:var(--fs20);}
.en-name {
  font-size: var(--fs50);
  font-weight: bold;
  letter-spacing: 0.01em;
  margin: 0;
}
.jp-name {
  font-size: var(--fs30);
  margin: 5px 0 0;
}
.footer-address {
  font-style: normal;
  line-height: 1.8;
  margin-bottom: 20px;
}
.footer-times {
  line-height: 1.6;
}
.footer-times p{margin:0;}
.footer-times span {
  margin-left: 1em;
}

/* 右側：スタイル */
.footer-right {
  width: 45%;
}

/* メインメニュー（Gridで2段組み） */
.footer-nav-main ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4列 */
  gap: 15px 10px;
  list-style: none;
  padding: 0;
  margin: 0 0 40px;
}
.footer-nav-main a {
  color: var(--white);
  text-decoration: none;
  font-weight: bold;
  font-size: var(--fs24);
}
li{list-style:none;}

/* 説明文 */
.footer-description {
  /*margin-bottom: 40px;*/
}

/* サブメニュー（横並び・仕切り線あり） */
.footer-nav-sub ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-nav-sub li {
  font-size: var(--fs18);
  display: flex;
  align-items: center;
}
.footer-nav-sub li:not(:last-child)::after {
  content: "|";
  margin: 0 10px;
}
.footer-nav-sub a {
  color: var(--white);
  text-decoration: none;
}
.fs18{font-size:var(--fs18);}
/* コピーライト */
.copyright {
	font-size:var(--fs16);
  margin: 0;
}
@media(max-width:1550px){
	.c-menubox-yoyaku {
		margin-top: 200px;
	}
}
@media(max-width:1250px){
	.footer-inner,.footer-inner {
		width: 90%;
	}
	.footer-nav-main a{
		width: fit-content;
		white-space: nowrap;
	}
}
@media(max-width:1150px){
	.c-menubox-inner {
		width: 1000px;
	}
}
@media(max-width:1050px){
	.c-menu-box-l{
		display: none;
	}
	.c-menubox-inner {
        width: 90%;
		justify-content: center;
		margin-top:150px;
	}
	.c-menu ul {
		margin-top: 100px;
		padding-left: 0; 
	}
	.c-menu-bottom-l h2, .c-menu-bottom-l h3, .c-menu-bottom-l p {
		 padding-left: 0; 
	}
	.c-menubox-yoyaku .hanten-button{
		width:100%;
	}
	.c-menu{
		width:30%;
	}
	.c-menubox-yoyaku {
		margin-top: 0;
		width: 50%;
	}
	.c-menu ul {
		margin-top: 0;
	}
	.sns-flex {
		column-gap: 10%;
		margin: auto;
		width: 100%;
	}
}

@media (max-width: 768px) {
	.c-hamburger-menu {
		top: 2%;
	}
	.footer-content {
		flex-direction: column;
	}
	.footer-left, .footer-right {
		width: 100%;
	}
	.footer-left {
		margin-bottom: 40px;
	}
	.footer-nav-main ul {
		grid-template-columns: repeat(2, 1fr);
	}
	.c-menu-bottom-flex{
		align-items: end;
	}
	.c-menubox-inner {
        width: 100%;
		padding-right: 5%;
		padding-left: 5%;
	}
	.c-menu-bottom-flex {
        background-size: 100% 100%;
        aspect-ratio: 750 / 616;
        margin-top: 0;
        align-items: flex-end;
		padding-bottom: 10%;
		justify-content: space-between;
		position: absolute;
        bottom: 0;
	}
	.c-menubox-yoyaku {
		margin-top: 0;
		width: 55%;
    }
	.c-menubox-yoyaku ul{padding-left: 0;}
	.c-menu ul li a {
		font-size: 5vw;
	}
	.c-menubox-yoyaku .hanten-button{
		font-size:4vw;
		padding: 10px;
	}
	.c-menu-bottom-l h3 {
		line-height: 1em;
		font-size: 8vw;
	}
	.c-menu-bottom-l h2 {
		font-size: 6vw;
	}
	.c-menu-bottom-l p {
		font-size: 3.5vw;
	}
	.sns-flex {
        margin: auto;
        width: 100%;
        justify-content: center;
        gap: 5%;
    }
	.sns-flex a{
		width: 25%;
		aspect-ratio: 1 / 1;
        height: -webkit-fill-available;
	}
	.footer-nav-main{display:none;}
	.footer p,.footer-address{text-align:center;}
	.footer-left ,.footer-content{
        margin-bottom: 0;
    }
	.footer-description{
		margin: 7.5% auto 5%;
	}
	.en-name{
		line-height: 1em;
	}
	.jp-name{margin-top:0;}
	.footer{
		aspect-ratio:751/967;
	}
	.footer-content{margin-top:30%;}
}


/* メニュー表示中、背景スクロールを止める */
body.menu-open {
  overflow: hidden;
}

/* ハンバーガーメニュー内だけスクロール可 */
#c-menubox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;

  overflow-y: auto;
  -webkit-overflow-scrolling: touch; /* iOS対策 */
}
address,.footer-times{
	color:var(--white);
	font-family: var(--ryo-gothic-plusn);
}

.follow-up-yoyaku-button{
	position: fixed;
	bottom: 2%;
	right: 2%;
    z-index: 9970;
    width: 64px;
}
.follow-up-yoyaku-button a {
  position: relative;
  display: inline-block;
}
@media(max-width:768px){
	.follow-up-yoyaku-button{
		width: 50px;
	}
}

.follow-up-yoyaku-button img {
  display: block;
}

.follow-up-yoyaku-button .back {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.follow-up-yoyaku-button a:hover .back {
  opacity: 1;
}

.follow-up-yoyaku-button a:hover .front {
  opacity: 0;
}

.menu li,.c-menu li {
  position: relative;
}

.menu a,.c-menu a {
  display: inline-block;
  padding-left: 1.5em; /* ▶分の余白を最初から確保 */
  text-decoration: none;
}

.menu a::before,.c-menu a::before {
  content: "▶";
  position: absolute;
  left: 0;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.menu a:hover::before,.c-menu a:hover::before {
  opacity: 1;
}
.fv-menu-yoyaku a::before{
	content: "";
}
@media(max-width:768px){
	.menu a::before,.c-menu a::before {
		content: "";
	}
	.menu a,.c-menu a {
		padding-left: 0;
	}
}
.is-not-front-header{
	position:relative;
	top: 0;
	left: 0;
	width:450px;
	aspect-ratio:2/1;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	background-size: 100% 220%;
	background-position: bottom;
	text-decoration: none;
}
.is-not-front-header h3,.is-not-front-header h4{
	margin: 0 auto;
	text-align: center;
}
.is-not-front-header h4{
	order:1;
	font-size:var(--fs60);
	line-height: 1em;
	margin-top: 35px;
}
.is-not-front-header h3{
	order:2;
	font-size:var(--fs30);
}

@media(max-width:1800px){
	.is-not-front-header{width:400px;}
	.is-not-front-header h4{font-size:var(--fs60);}
	.is-not-front-header h3{font-size:var(--fs30);}
}
@media(max-width:1650px){
	.is-not-front-header h4{font-size:var(--fs50);}
}
@media(max-width:768px){
	.is-not-front-header{
		width:325px;
	}
	.is-not-front-header h4{
		font-size:var(--fs40);
	}
	.is-not-front-header h3{
		font-size:var(--fs25);
	}
}

@media(max-width:500px){
	.is-not-front-header{width:250px;}
	.is-not-front-header h4{font-size:var(--fs30);margin-top: 25px;}
	.is-not-front-header h3{font-size:var(--fs20);}
	.c-hamburger-menu {
		min-width:90px;
	}
	.c-menu-text {
		bottom: 12.5px;
	}
}
@media(max-width:450px){
	.c-hamburger-menu {
        min-width: 85px;
    }
	.c-hamburger-menu .c-bar {
		width: 45px;
	}
	.c-menu-text {
        bottom: 5px;
    }
}
.article{
	width:70%;
	max-width:1300px;
	margin: auto;
}
.nocomments{display:none;}
@media(max-width:768px){
	.article{width:90%;}
	.footer-address a{color:var(--white);}
}
@media(max-width:500px){
	.footer-address, .footer-times p, .footer-description {
		font-size: var(--fs18);
	}
}