/*
Theme Name:astra-child
Template:astra
Version:4.8.0
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;700&display=swap');

body{
	/** letter-spacing: 0.1em; **/
	line-height: 2em;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.mincho{
	font-family: 'Noto Serif JP', serif;
}

/** グローバルメニュー　縦並びに　**/
.site-header-primary-section-right{
	position: fixed;
	top: 96px;
	right: 48px;
	align-items: flex-start;
}
.site-header-primary-section-right .ast-builder-menu-1 .site-navigation ul{
	flex-flow: column;
	justify-content: flex-end;
	padding: 24px 24px 24px 40px;
}
.site-header-primary-section-right .ast-builder-menu-1 .site-navigation ul li a{
	margin: 0;
	position: relative;
}
.site-header-primary-section-right .ast-builder-menu-1 .site-navigation ul li a::before{
    	position: absolute;
    	content: "";
    	background: #333;
    	top: 50%;
    	width: 24px;
    	height: 1px;
    	left: -24px;
}
.site-header-primary-section-right .ast-builder-menu-1 .site-navigation ul li a:hover::before{
    	background: #4e9315;
}

/** table **/
.entry-content table{
	border-collapse: collapse !important;
	border: none !important;
}

.entry-content table tr{
	border-bottom: 1px dotted #888 !important;
}

.entry-content table th{
	border-right: none !important;
	border-bottom: none !important;
	padding: 15px 15px 15px 10px !important;
	vertical-align: top !important;
	text-align: left;
}

.entry-content table td{
	border-right: none !important;
	border-bottom: none !important;
	padding: 15px 15px 15px 10px !important;
}

/** XO Calendar **/
.xo-event-calendar .calendar-caption, .xo-event-calendar .holiday-title{
	color: #fff;
}

/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media(max-width:500px){
.inquiry th,.inquiry td {
 display:block!important;
 width:100%!important;
 border-top:none!important;
 -webkit-box-sizing:border-box!important;
 -moz-box-sizing:border-box!important;
 box-sizing:border-box!important;
}
.inquiry tr:first-child th{
 border-top:1px solid #fff!important;
}
/* 必須・任意のサイズ調整 */	
.inquiry .haveto,.inquiry .any {	
font-size:10px;
}}
/*見出し欄*/
.inquiry th{
 text-align:left;
 font-size:14px;
 color:#444;
 padding: 20px 5px 20px 20px;
 width:30%;
 border-bottom: solid 1px #072679;
 vertical-align: middle;
 background: #fff;
}
/*通常欄*/
.inquiry td{
 font-size:13px;
 padding: 20px;
 border-bottom: solid 1px #B4D6F9;
 background: #fff;
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
 border:solid 1px #F1F8FF;	
}
/*必須の調整*/
.haveto{
 font-size:7px;
 padding:5px 10px;
 background:#d91a1a;
 color:#fff;
 border-radius:2px;
 margin-right:10px;
 position:relative;
 bottom:1px;
}
/*任意の調整*/
.any{
 font-size:7px;
 padding:5px 10px;
 background:#68b2fb;
 color:#fff;
 border-radius:2px;
 margin-right:10px;
 position:relative;
 bottom:1px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
 display:block;
}
/*送信ボタンのデザイン変更*/
#formbtn{
 display: block;
 padding:1em 0;
 margin:30px auto 0 auto;
 width:70%;
 background:#072679;
 color:#fff;
 font-size:18px;
 font-weight:bold;	 
 border-radius:2px;
 border: none;
}
/*送信ボタンマウスホバー時*/
#formbtn:hover{
 background:#14609E;
 color:#fff;
}

/** breadcrumb **/
div.breadcrumbs {
  color: #fff;
}

div.breadcrumbs a{
  color: #aba8a8;
}

/** google reCAPTCHA　**/
.grecaptcha-badge { 
	visibility: hidden;
}

/** Loop Slider **/
.slider1 {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height:120px;
  overflow: hidden;
}
.slider1 ul{
	display:flex;
	padding: 0;
	margin:0;
}
.slider1 li{
	width:1700px;
	list-style: none;
}
.slider1 ul:first-child {
  animation: slide1 150s -75s linear infinite;
}

.slider1 ul:last-child {
  animation: slide2 150s linear infinite;
}
@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes slide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.slider2 {
  display: flex;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height:480px;
  overflow: hidden;
}
.slider2 ul{
	display:flex;
	padding: 0;
	margin:0;
}
.slider2 li{
	width:720px;
	list-style: none;
}
.slider2 ul:first-child {
  animation: slide3 150s -75s linear infinite;
}

.slider2 ul:last-child {
  animation: slide4 150s linear infinite;
}
@keyframes slide3 {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}

@keyframes slide4 {
  0% {
    transform: translateX(-200%);
  }
  to {
    transform: translateX(0);
  }
}

/** Loop Slider end **/

/** Home Scroll Down **/
.scroll-col{
  width:50%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.scroll-down-box{
  display:block;
  position:relative;
  text-decoration:none;
}
.scroll-down-box svg{
  fill:#111;
}
.scroll-down-box .scroll-text{
  width:100px;
  height:auto;
  -webkit-animation: rotation 10s infinite linear;
  animation: rotation 10s infinite linear;
}
.scroll-down-box .scroll-icon{
  width:25px;
  height:auto;
  position:absolute;
  top:50%;
  left:50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  -webkit-transition:all 0.2s ease-in;
  transition:all 0.2s ease-in;
}
.scroll-down-box:hover .scroll-icon{
  -webkit-animation: move 1s infinite linear;
  animation: move 1s infinite linear;
}

@keyframes rotation {
    from {-webkit-transform: rotate(0deg); transform: rotate(0deg);}
    to {-webkit-transform: rotate(359deg); transform: rotate(359deg);}
}
@-webkit-keyframes rotation {
    from {-webkit-transform: rotate(0deg); transform: rotate(0deg);}
    to {-webkit-transform: rotate(359deg); transform: rotate(359deg);}
}

@keyframes move {
    0% {-ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
    25% {-ms-transform: translate(-50%,-35%); -webkit-transform: translate(-50%,-35%); transform: translate(-50%,-35%);}
    50% {-ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
    75% {-ms-transform: translate(-50%,-65%); -webkit-transform: translate(-50%,-65%); transform: translate(-50%,-65%);}
    100% {-ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
}
@-webkit-keyframes move {
    0% {-ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
    25% {-ms-transform: translate(-50%,-40%); -webkit-transform: translate(-50%,-40%); transform: translate(-50%,-40%);}
    50% {-ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
    75% {-ms-transform: translate(-50%,-60%); -webkit-transform: translate(-50%,-60%); transform: translate(-50%,-60%);}
    100% {-ms-transform: translate(-50%,-50%); -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
}


/* 全体リセット */
.mobile-nav {
  font-family: sans-serif;
  /* ← position: fixed を外す */
}

/* ハンバーガーバー */
.mobile-nav__bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.mobile-nav__logo {
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  color: #333;
}

/* ハンバーガーボタン（右上固定） */
.mobile-nav__hamburger {
  position: fixed;   /* ← ここだけ固定 */
  top: 30px;
  right: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 25px;
  height: 18px;
  cursor: pointer;
  z-index: 1100; /* メニューより前に */
}

.mobile-nav__hamburger span {
	
  display: block;
  height: 4px;
  background: #4b4f58;
  border-radius: 2px;
}

/* ハンバーガーをバツに変形 */
.nav-toggle:checked + .mobile-nav__bar .mobile-nav__hamburger span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}

.nav-toggle:checked + .mobile-nav__bar .mobile-nav__hamburger span:nth-child(2) {
  opacity: 0;
}

.nav-toggle:checked + .mobile-nav__bar .mobile-nav__hamburger span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* アニメーションをスムーズに */
.mobile-nav__hamburger span {
  transition: all 0.3s ease;
}


/* メニュー用チェックボックスは非表示 */
.nav-toggle {
  display: none;
}

/* オーバーレイ */
.mobile-nav__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: 999;
}

/* メニュー本体 */
.mobile-nav__panel {
  position: fixed;
  top: 0;
  right: -100%;
  width: 70%;
  height: 100%;
  background: #fff;
  box-shadow: -2px 0 8px rgba(0,0,0,0.2);
  transition: 0.3s;
  z-index: 1000;
  padding-top: 60px; /* ロゴ分の余白 */
}

.mobile-nav__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
/*
.mobile-nav__list li {
  border-bottom: 1px solid #eee;
}*/

.mobile-nav__list li a {
  display: block;
  padding: 15px 15px 15px 30px;
  text-decoration: none;
  color: #333;
  font-size: 16px;
}

/* チェックが入ったときに開く */
.nav-toggle:checked ~ .mobile-nav__overlay {
  opacity: 1;
  visibility: visible;
}

.nav-toggle:checked ~ .mobile-nav__panel {
  right: 0;
}


@media (min-width: 1024px) {
	.mobile-nav__hamburger {
		display: none;
	}
}

