@charset "utf-8";

.main{
	margin-bottom: 10vw;
}
#menu-global_nav{
	display: flex;
    justify-content: space-around;
}
@media (max-width: 680px){
	#menu-global_nav{
	display: none;
}
	nav.navi .menu-global_nav-container {
    background: #003f67;
    height: 2vw;
}
}
/*nav*/
nav.navi .menu-global_nav-container{
	background: #003f67;
}
nav.navi ul li{
	width: 100%;
    text-align: center;
	transition: all 0.5s 0s ease;/*transitionの記述を追加*/
}
nav.navi ul li:hover{
	background: #235384;
}
nav.navi ul li a{
	color: #fff;
    display: block;
    padding: 2%;
	font-size: clamp(1px,1.9vw,23px);
	white-space: nowrap;
}
/*navここまで↑*/

/*　ハンバーガーメニューボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 20px;
  top   : 20px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  background: #000;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 20px;
  left: 6px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 20px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

/* メニュー背景　*/
div.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba( 71,70,73,0.6 );
  text-align: center;
  width: 100%;
  transform: translateX(100%);
  transition: all 0.6s;
}

div.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

div.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
div.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
div.globalMenuSp ul li:hover{
  background :#ddd;
}

div.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
}

/* クリックでjQueryで追加・削除 */
div.globalMenuSp.active {
  opacity: 100;
  display: block;
   transform: translateX(0%);
}
@media (min-width: 680px){
	.hamburger,div.globalMenuSp{
		display: none;
	}
}
/*　ハンバーガーメニューここまで↑　*/

#header{
	position: relative;
}
#header .other-top{
	background: rgb(243, 237, 224);
    /* position: absolute; */ /* 2025/04/09 追記 */
    top: 0;
    display: flex;
    width: 100%;
	gap: 2%;

}
#header .other-top a{
	width: 15%;
	max-width: 200px;
}
#header .other-top h1{
	display: flex;
    justify-content: end;
    flex-direction: column;
    width: 40%;
	color: #003F67;
    font-weight: bold;
    font-size: clamp(1px,2.3vw,20px);
}

#header .page-top img{
	height: 20vw;
    object-fit: cover;
    object-position: center;
}
#header .page-pro img,
#header .page-basic img,
#header .page-cre img{
	height: 15vw;
}
.front_page{
	
}
.top_box_01{
	text-align: center;
	height: 300px;
}
.top_box_01 {
 position: relative;
    background-size: 100%;
    background-image: url(../../images/topimg2.png);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.top_box_01:before {
 position: absolute;
 content: '';
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 /*background-color: rgba(0,63,103,0.5);*/
}
.top_box_01 h2{
	font-size: 5vw;
    margin-bottom: 3%;
}
.top_box_01 h2,.top_box_01 p{
	position: relative;
}
.top_box_01 h2:before{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 90%;
    height: 3px;
    margin: 0 auto;
    text-align: center;
    background-image: -webkit-linear-gradient(left, transparent, #fff 25%, #fff 75%, transparent);
    background-image: linear-gradient(to right, transparent, #fff 25%, #fff 75%, transparent);
    background-position: center;
    background-repeat: no-repeat;
	}

.top_box02 ul.interview_top{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    max-width: 1580px;
	margin: 5vw auto 5vw;
}
.top_box02 ul.interview_top li{
	width: 46%;
}
.top_box02 ul.interview_top li img{
	object-fit: cover;
    object-position: top;
    height: 40vw;
    margin: 0 0 2vw 0;
    max-height: 400px;
}
.top_box02 ul.interview_top li p{
	margin-bottom: 5vw;
}
.top_box02 ul.interview_top b{
	font-size: clamp(1px,2.5vw,30px);
	margin-bottom: 1%;

}

.top_bnr{
	object-fit: cover;
    object-position: center;
    max-height: 120px;

}

.top_h3_box1{
	/*background: url(../../images/topbg01.png) no-repeat;*/
    background-size: contain;
    background-position: right;
    padding: 3vw 0 5vw 0;
}

.archive h2,
.single h2,
.menu_title h2,
#page .top_h3_box h3{
	text-align: center;
    font-size: clamp(1px,3vw,40px);
    border-bottom: #8ab2ed solid 3px;
    max-width: 50%;
    margin:auto;
	margin-bottom: 20px;
}
.archive h2,
.single h2,
.menu_title h2{
	margin: 10vw auto;
}
.top_box_04{
	background: #79b7e0;
    padding: 8% 0;
}
.top_box_04 ul{
	max-width: 1244px;
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 7vw;
	width: 90%;
   
}
.top_box05{
	background: url("../../images/topbg02.png") no-repeat;
    background-size: cover;
    background-position: bottom;
    padding: 5vw 0 5vw 0;
}
.top_box06{
	margin: 10vw auto 12vw auto;
    width: 100%;
}
.top_box06 .wp-block-group__inner-container{
	display: flex;
    justify-content: center;
    gap: 1%;
	margin-top: 2%;
}

.top_box06_01{
	position: relative;
}
.top_box06_01 h3{
	display: block;
    position: absolute;
    right: 70%;
    transform: translate(100%) rotate(90deg);
    transform-origin: left top;
    font-size: clamp(1px,3vw,40px);
}
.top_box06_01 p{
	display: block;
    white-space: nowrap;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: clamp(1px,2vw,20px);
}
.news_box_01{
	position: relative;
}
.top_box06_02 .wp-block-group__inner-container{
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.top_box06_02 ul{
	display: flex;
    justify-content: flex-start;
    gap: 3%;
    width: 70vw;
	max-width: 1244px;
    font-size: clamp(1px,1.9vw,20px);
    line-height: 2.3;
    background-image: linear-gradient(to right, #79b7e0, #79b7e0 2vw, transparent 2px, transparent 8px);
    background-size: 3vw 0.1vw;
    background-position: left bottom;
    background-repeat: repeat-x;
}
.top_box06_02 ul li{
	white-space: nowrap;
    overflow: hidden;
}
.top_box06_02 ul li time{
	white-space: nowrap;
	font-size: clamp(1px, 1.3vw, 15px);
}

.archive_box {
	display: flex;
    flex-direction: column;
    gap: 5vw;
}


.single a,
.menu_title a{
	transition: .3s;
	color: #0095d9;
	font-weight: bold;
}

.single a:hover,
.menu_title a:hover{
	color:#79b7e0;
}
#page .page_price_box a{
	background: #fff;
    text-align: center;
    width: 20vw;
    margin: auto;
	transition: .3s;
	font-weight: bold;
	color: #000;
}
#page .page_price_box a:hover{
	background: #79b7e0;
}
.top_box06_02 p a,
.top_box06_02 ul li a{
  color: #fff;
  transition: .3s;
}

.top_box06_02 p a:hover,
.top_box06_02 ul li a:hover{
  background-position: 0 100%;
  color: #79b7e0;
}



.top_box06_02 p a{
	text-align: end;
    position: absolute;
    bottom: -35%;
    right: -4%;
	font-size: clamp(1px, 3vw, 30px);
}
.page_price_box,
.top_price_box{
	display: flex;
    margin: auto;
    justify-content: center;
    width: 100%;
    max-width: 1580px;
    text-align: center;
    flex-wrap: wrap;
    row-gap: 4vw;
    column-gap: 3.5vw;
}
.top_price_box li img{
	object-fit: cover;
    height: 17vw;
}
.top_price_box li{
	width: 21vw;
}


.page_price_box{
	flex-direction: column;
    margin: 0 auto 0 auto;
}
#archive a{
	color: #fff;
	display: block;
}
.archive ul{
	display: flex;
	justify-content: flex-start;
	text-align: start;
	gap: 3vw;
	background-color: #235384;
}
.page_price_box li{
	display: flex;
	text-align: start;
	width: 100%;
	margin-bottom: 5vw;
    gap: 3vw;
	background-color: #235384;
}
.archive  a:nth-child(2n-1) ul,
.page_price_box li:nth-child(2n){
	flex-direction: row-reverse;
	background-color: #003f67;
}
.archive a:nth-child(2n-1) ul li:nth-child(2),
.page_price_box li:nth-child(2n) .page_price_item2{
	margin: 2vw 0 2vw 2vw;
}
.archive ul li img,
.page_price_box .page_price_item img{
	width: 25vw;
    height: 100%;
    object-fit: cover;
}
.archive ul li:nth-child(2),
.page_price_box .page_price_item2{
	display: flex;
    flex-direction: column;
    justify-content: space-around;
	margin: 2vw 2vw 2vw 2vw;
	width: 100%;
	color: #fff;
}
.archive ul li:nth-child(1){
	
}
.archive a ul{
	transition: .3s;
}
.archive a ul:hover{
	background: #79b7e0;
}

.p404,
.archive,
.menu_title,
.single{
	width: 90%;
    margin: auto;
	max-width: 1580px;
}
.archive h4,
.single h4, 
.menu_title h4{
	font-size: clamp(10px, 2.5vw, 20px);
    font-weight: bold;
}
.archive h3,
.single h3, 
.menu_title h3,
.page_price_box .page_price_item2 h3{
	margin: auto;
	margin-bottom: 1vw;
	font-size: clamp(14px, 2.5vw, 30px);
	font-weight: bold;
    border-bottom: #fff solid 2px;
	width: 100%;
    max-width: 60vw;
}
.archive ul li:nth-child(2){
	justify-content: space-around;
}
.archive h3{
	margin: initial;
}
.page_price_box .page_price_item2 p{
	margin-bottom: 2vw;
}
.page_navi{
	width: 100%;
    text-align: center;
    margin: 5vw 0 5vw 0;
}
.page_navi .wp-pagenavi{
    justify-content: center;
    margin: auto;
    display: flex;
}
.p404{
	display: flex;
    flex-direction: column;
    gap: 5vw;
    text-align: center;
    margin-top: 10vw;
}
.p404 .page-404{
	margin: auto;
}
@media (min-width: 1000px){
	.top_box06_02 ul{
		line-height: 4;
	}
	.top_box06 .wp-block-group__inner-container {
		margin-top: initial;
	}
	
}

@media (max-width: 480px){
.top_price_box{
	flex-wrap: wrap;
}
.top_price_box li {
    width: 45%;
}
	#header .other-top{
		flex-direction: column;
	}
	.top_box06_02 ul {
		font-size: clamp(10px, 2.8vw, 20px);
	}
	.top_box06_02 ul li time {
    font-size: clamp(7px, 2.3vw, 15px);
		display: none;
}
	.top_box02 ul.interview_top {
		flex-direction: column;
	}
	.top_box02 ul.interview_top li {
		width: 90%;
        margin: auto;
	}
}
#header .other-top a {
	width: 35%;
}
#header .other-top h1 {
	padding-bottom: 1.5%
}
.hamburger {
	
}
.top_box07 .wp-block-group__inner-container{
	display: flex;
    justify-content: space-around;
    max-width: 1580px;
    margin: auto;
	text-align: center;
	line-height: 3;


}
#staff_box_01,
.top_box07_01{
	width: 45%;
}
.top_box07_01 .wp-block-group__inner-container{
	display: block;
    justify-content: space-around;
    max-width: 1580px;
    margin: auto;
}
.top_box07 p{
	    font-size: clamp(1px,2.5vw,30px);

}

#footer{
	background: #fff;
    
	position: relative;
	margin-top: auto;
	
}
#footer .footer-top {
    display: flex;
    width: 95%;
    gap: 2%;
    margin: 0 auto;
}
#footer .footer-top a{
	width: 15%;
    max-width: 200px;
}
#footer .footer-top p{
	display: flex;
    flex-direction: column;
    justify-content: end;
    color: #003F67;
    font-weight: bold;
    font-size: clamp(1px, 2.3vw, 20px);
	
}

#footer .footer_text{
	display: flex;
    width: 95%;
    justify-content: space-between;
    margin: 0 auto;
}

#footer .footer_list1{
	display: flex;
    color: #003F67;
    gap: 3%;
    width: 100%;
}

#footer .footer_list1 li{
	display: flex;
    flex-direction: column;
    justify-content: end;
    font-size: clamp(1px,1.3vw,17px);
}
#footer .footer_list1 li p{
	font-weight: bold;
	color: #003F67;
}
#footer .footer_list2{
	display: flex;
    justify-content: space-around;
    gap: 5%;
}
#footer .footer_list2 li{
	display: flex;
    flex-direction: column;
    justify-content: end;
}
#footer .footer_list2 li img{
	width: 3vw;
}
#footer .footer_list2 li:nth-child(2) img{
	width: 7vw;
}
#footer .footer_list2 li:nth-child(3) a{
	font-size: clamp(1px,2vw,30px);
    white-space: nowrap;
}
#footer_box01{
	background: url(../../images/footerbg.png) no-repeat;
    background-size: 100%;
    height: 25vw;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 15vw;
	
}

#footer_box02{
	background-color: #235384;
    background-image: linear-gradient(90deg, #235384 50%, #003f67 50%);
    color: #fff;
	text-align: center
}
.footer_sp{
	display: none;
}
@media (max-width: 1500px) {
	#footer_box01{
		gap: 13vw;
	}
}

@media (max-width: 680px) {
	#footer_box01{
		gap: 7vw;
	}
	.footer_sp{
	display: inherit;
        position: fixed;
        top: inherit;
        bottom: 0;
        right: 0;
        width: 100%;
        z-index: 9999;
		background: #79b7e0;
		
}
}
@media (max-width: 480px) {
	.archive a:nth-child(2n) ul,
	.archive a:nth-child(2n-1) ul,
	.page_price_box li:nth-child(2n),
	.page_price_box li {
		flex-direction: column;
	}
	.archive ul li img,
	.page_price_box .page_price_item img{
		width: 100%;
	}
	.page_price_box .page_price_item2{
		gap: 2vw;
		
	}
	.page_price_box .page_price_item2 h3 {
		text-align: center;
	}
	.archive a:nth-child(2n) ul li:nth-child(2),
	.archive a:nth-child(2n-1) ul li:nth-child(2){
		text-align: center;
        margin: initial;
	}
	.archive h3{
		margin: auto;
        max-width: 100%;
	
		
	}
	.top_box07{
		padding-top: 5vw;
	}
	
	#footer {
		padding-bottom: 7%;
	}
	#footer_box01 {
		gap: 2vw;
	}
	#footer .footer_list1 {
		flex-direction: column;
        
	}
	#footer .footer_list1 li {
		flex-direction: row;
        justify-content: flex-start;
		font-size: clamp(1px, 2vw, 17px);
	}
	#footer .footer_list2 {
		flex-direction: column;
	}
	#footer .footer_list2 li {
		flex-direction: row;
        justify-content: center;
	}
	div.scroll-btn {
		left: 14px;
	}
	}


	.footer_sp ul {
        display: flex;
        justify-content: space-between;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%;
}
	.footer_sp ul li {
        width: 33%;
    }
	.footer_sp ul li a {
		background: #235384;
        text-decoration: none;
        color: #fff;
        width: 100%;
        height: 100%;
        text-align: center;
        letter-spacing: 0rem;
        display: block;
		border: #000 solid 1px;
		padding: 4%;
	}
	.footer_sp ul li:nth-child(2) a {
		background: #003f67;
		
	}
	.footer_sp ul li:nth-child(3) a {
		background: #00B900;
	}
	.footer_sp ul li a i{
	font-family: "Font Awesome 5 Free"; 
    font-weight: 900;
   }
	

/*ページトップ
***************************************/
div.scroll-btn {
	position: fixed;
	right: 14px;
	bottom: 2vw;
	z-index: 10000;
}

div.scroll-btn a {
	background: rgba( 204, 204, 204, 0.8);
	width: 10vw;
    height: 10vw;
    max-width: 60px;
    max-height: 60px;
	display: block;
	text-align: center;
	transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-webkit-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	-ms-transition: .2s ease-in-out;
}

div.scroll-btn a:hover {
	background: #111;
}

div.scroll-btn a i {
	font-size: clamp(1px, 10vw, 60px);
	line-height: .8;
	color: #fff;
	opacity: .8;
	transition: .2s ease-in-out;
	-moz-transition: .2s ease-in-out;
	-webkit-transition: .2s ease-in-out;
	-o-transition: .2s ease-in-out;
	-ms-transition: .2s ease-in-out
}

div.scroll-btn a:hover i {
	color: #FFF;
	opacity: 1;
}

.wp-block-button__link{
	background-color: #fff;
    color: #000 !important;
	transition: .2s
}
.wp-block-button__link:hover{
	background-color: #8ab2ed ;
    color: #fff !important;
}

.margin{
	width: 90%;
	margin: auto;
}
	
}

@media (max-width: 600px) {
  .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
  }
}

.wp-block-media-text > .wp-block-media-text__content {
  direction: ltr;
  rtl: begin:ignore;
  grid-column: 2;
  grid-row: 1;
  rtl: end:ignore;
  padding: 0 0%;
  word-break: break-word;
}

.has-text-align-left {
  text-align: left;
  padding: 0 3%;
}

/* 2025/03/25 追記 */
.reserve-footer{
	width: 100%;
	padding-bottom: 90%;
	position:relative;
	margin-bottom: 20px;
}
.reserve-epark{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 101%;
	vertical-align: bottom;
}

/* 2025/06/17 追記 */
.ark-block-dl__dt {
  font-size: 20px; /* 好きなサイズに変更 */
  font-weight: bold;
}

/* 2025/10/15 追記 */
#community {
  padding: 20px;
  text-align: center;
  background-color: #f8f8f8;
}

#community h2 {
  font-size: 1.4rem;
  margin-bottom: 16px;
}

.grid-images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  padding: 0 6px; /* ← 左右余白を少し減らして画像を広く */
  box-sizing: border-box;
}

.grid-item {
  text-align: center;
}

.grid-images img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
  margin: 0 auto; /* ← これで中央寄せ */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/* PC時のみ50%で中央寄せ */
@media (min-width: 768px) {
	.grid-images img{
		width: 50%;
		max-width: 50%;
		margin: auto;
	}	
}

/* 2025/06/08追記 */
ul.community-list {
  padding-left: 0;
  list-style: none;
}

.community-list li {
  margin-bottom: 10px;
}

.community-list li a {
  color: #0073aa;
  text-decoration: none;
}

.community-list li a:hover {
  text-decoration: underline;
}

/* 2025/06/10 追記 */
.activity-title {
  text-color: 0693e3;
  font-size: 20px;
}

/* 2025/06/17 追記 */
.ark-block-step__head {
  font-size: 20px; /* 好きなサイズに変更 */
  font-weight: bold;
}

/* 2025/09/16 追記 */
/* 2025/09/30 追記 */
/* 2025/10/07 追記 */
/* 2025/10/14 追記 */
/* ==============================
   料金比較カードデザイン統一版
   ============================== */
/* ====================================
   FREEROM 料金表 カードレイアウト統合版
   ==================================== */

/* ▼ グリッドベースで常に格子状に表示 */
.price-compare {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); /* 自動で2〜3列 */
  gap: 20px;
  justify-items: stretch;
  align-items: stretch;
  font-family: "Noto Sans JP", sans-serif;
  max-width: 1100px;   /* 全体の最大幅（お好みで900〜1200pxに調整可） */
  margin: 0 auto;      /* 画面中央寄せ */
  padding: 0 4%;       /* 左右に呼吸を持たせる */
  box-sizing: border-box; /* paddingを幅に含める */
}

@media screen and (max-width: 768px) {
  .price-compare {
    padding: 0 6%;
  }
}


/* ▼ 各カード本体 */
.plan-box {
  background: #fff;
  border: 2px solid #1a2a6c;
  border-radius: 10px;
  text-align: center;
  padding: 28px 22px;
  color: #1a2a6c;
  position: relative;
  box-shadow: 0 3px 8px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 540px; /* 高さ統一 */
  transition: all 0.3s ease;
  transform: translateY(0);
}

/* ▼ タイトル */
.plan-box h3 {
  display: block;
  width: 100%;
  overflow: hidden;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
  border-bottom: 2px solid #1a2a6c;
  padding-bottom: 4px;
  margin-bottom: 14px;
  font-size: 1.3em;
  white-space: nowrap;            /* 改行禁止 */
  word-break: keep-all;           /* 全角でも単語扱い */
  overflow-wrap: normal;          /* 勝手な改行禁止 */
  -webkit-line-break: after-white-space; /* Safari対策 */
  text-align: center;
}

/* ▼ メイン価格 */
.plan-box .price {
  font-size: 1.25em;
  font-weight: 700;
  margin: 8px 0 12px;
}

/* ▼ 説明文 */
.plan-box p,
.plan-box ul {
  margin: 6px 0 12px;
  font-size: 0.95em;
  line-height: 1.7;
  color: #1a2a6c;
}

.plan-box ul {
  list-style: none;
  padding: 0;
}

/* ▼ 表 */
.plan-box table {
  width: 100%;
  border-collapse: collapse;
  margin-top: auto; /* 下部に寄せる */
  font-size: 0.99em;
  table-layout: fixed;
}

.plan-box th,
.plan-box td {
  padding: 10px;
  border-bottom: 1px solid #ddd;
  white-space: nowrap;
}

.plan-box th {
  background: #f9f9f9;
  font-weight: normal;
}

.plan-box td {
  font-weight: bold;
}

/* ▼ 人気カード */
.plan-box.popular {
  background: #f8fbff;
  border: 3px solid #1a2a6c;
  transform: scale(1.02);
}

.plan-box .badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: #FFD700;
  color: #1a2a6c;
  font-weight: bold;
  font-size: 0.9em;
  padding: 4px 12px;
  border-radius: 12px;
}

/* ▼ スマホ対応（padding縮小・フォント調整） */
@media screen and (max-width: 768px) {
  .plan-box {
    min-height: auto;
    padding: 26px 20px;
	font-size: 1em;
  }
  .plan-box h3 {
    font-size: 1.2em;
	margin-bottom: 16px;
  }
  .plan-box .price {
    font-size: 1.1em;
  }
  .plan-box table {
    font-size: 1em;
  }
  /* 各行のセル */
  .plan-box th,
  .plan-box td {
    padding: 12px 10px;
  }
  /* 説明文 */
  .plan-box p,
  .plan-box ul {
    font-size: 0.95em;
    line-height: 1.7;
  }

  /* スマホでも格子状（2列表示）を維持 */
  .price-compare {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
}

/* ▼ aタグでカード全体をクリック化 */
.price-card-link {
  display: block;
  text-decoration: none;
  color: inherit; /* テキスト色を継承 */
}

/* ▼ ホバーアニメーション */
.price-card-link:hover .plan-box {
  transform: translateY(-6px); /* 少し上に浮く */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  border-color: #1a2a6c;
}

/* ▼ クリック時（押し込むような反応） */
.price-card-link:active .plan-box {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* ▼ スマホではホバーアニメを無効化 */
@media (hover: none) {
  .price-card-link:hover .plan-box {
    transform: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  }
}



/* 2025/09/30 追記 */
.feature-section {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 20px;

  display: grid;
  grid-template-columns: 1fr; /* デフォルトは1列（スマホ） */
  gap: 40px;
}

/* タブレット以上は2列固定 */
@media (min-width: 768px) {
  .feature-section {
    grid-template-columns: 1fr 1fr;
  }
}

.feature-item {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.feature-image {
  position: relative;
}

.feature-image img {
  width: 100%;
  display: block;
}

.feature-number {
  position: absolute;
  top: 10px;
  left: 15px;
  font-size: 2rem;
  font-weight: bold;
  color: #000;
  background: rgba(255,255,255,0.8);
  padding: 4px 12px;
  border-radius: 4px;
}

.feature-text {
  padding: 20px;
}

.feature-text h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
  color: #00274d; /* 紺色 */
}

.feature-text p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #333;
}

.section-title {
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 40px;
}

.section-title span {
  font-weight: 700;   /* 数字だけ太字 */
  font-size: 2.2rem;  /* 数字だけ大きく */
  color: #000;        /* 必要なら色も指定 */
}


/* 2025/10/14追記 */
/* アニメーション */
.fadein {
	opacity: 0;
	transform: translateY(30px);
	transition-property: transform, opacity;
	transition-duration: 1.5s;
	transition-delay: 0s;
}

.fadein.is-active {
	opacity: 1;
	transform: translateY(0);
}

/* 2025/10/14 追記 */
.reserve {
	width: 50%;
}

.reserve-sec {
	width: 50%;
	padding-bottom: 75%;
	position:relative;
}

/* 2025/10/15 追記 */
/* ===== 体験セッションページ ===== */

/* ヒーロー */
.taiken-hero {
  text-align: center;
  padding: 100px 20px 60px;
  background: #f5f9fc;
  color: #1a2a6c;
}
.taiken-hero h1 {
  font-size: 2.4em;
  font-weight: 700;
  margin-bottom: 12px;
}
.taiken-hero p {
  font-size: 1.1em;
  color: #345;
}

/* セッション概要 */
.taiken-summary {
  max-width: 700px;
  margin: 0 auto 80px;
  padding: 0 20px;
}
.taiken-summary h2 {
  text-align: center;
  margin-bottom: 24px;
  color: #1a2a6c;
  font-size: clamp(1.6em, 4vw, 2em);  /* ← 画面幅に応じて可変で大きめに */
  font-weight: 700;
  letter-spacing: 0.08em;
  border-bottom: 2px solid #1a2a6c;
  display: inline-block;
  padding-bottom: 6px;
}
.taiken-summary table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 2px solid #1a2a6c;
  border-radius: 8px;
  overflow: hidden;
}
.taiken-summary th,
.taiken-summary td {
  font-size: clamp(1.05em, 3.5vw, 1.2em);  /* ← スマホでも文字が小さくなりすぎない */
  line-height: 1.8;
  padding: 16px 20px;
}
.taiken-summary th {
  width: 30%;
  background: #f8fbff;
  font-weight: 600;
  color: #1a2a6c;
}
/* スマホでも余白を少し広げて見やすく */
@media screen and (max-width: 600px) {
  .taiken-summary {
    padding: 0 16px;
  }
  .taiken-summary table {
    border-width: 1.5px;
  }
  .taiken-summary th, .taiken-summary td {
    padding: 14px 16px;
  }
}
/* 体験の流れ */
.taiken-flow {
  max-width: 1100px;
  margin: 0 auto 80px;
  padding: 0 20px;
}
.taiken-flow h2 {
  text-align: center;
  margin-bottom: 40px;
  color: #1a2a6c;
}
.flow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}
.flow-box {
  border: 2px solid #1a2a6c;
  border-radius: 10px;
  background: #fff;
  padding: 24px;
  text-align: left;
  transition: all 0.3s ease;
}
.flow-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 14px rgba(0,0,0,0.1);
}
.flow-box h3 {
  font-size: 1.2em;
  color: #1a2a6c;
  margin-bottom: 8px;
}
.flow-box p {
  font-size: 0.95em;
  line-height: 1.7;
}

/* FAQ */
.taiken-faq {
  max-width: 900px;
  margin: 0 auto 80px;
  padding: 0 20px;
}
.taiken-faq h2 {
  text-align: center;
  margin-bottom: 30px;
  color: #1a2a6c;
}
.faq-item {
  border-bottom: 1px solid #ddd;
  padding: 18px 0;
}
.faq-item h3 {
  color: #1a2a6c;
  font-weight: 600;
  font-size: 1.05em;
  margin-bottom: 6px;
}
.faq-item p {
  color: #333;
  font-size: 0.95em;
}

/* CTAバナー */
.cta-banner {
  display: flex;
  justify-content: center;
  margin: 60px 0 100px;
}
.cta-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 80%;
  max-width: 600px;
  background-color: #1a2a6c;
  color: #fff;
  font-weight: 700;
  font-size: 1.1em;
  text-decoration: none;
  padding: 18px 28px;
  border-radius: 10px;
  transition: all 0.3s ease;
}
.cta-link .arrow {
  font-size: 1.3em;
  opacity: 0.8;
  transition: transform 0.3s ease;
}
.cta-link:hover {
  background-color: #254c8a;
  transform: translateY(-3px);
  box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}
.cta-link:hover .arrow {
  transform: translateX(5px);
  opacity: 1;
}


/* バナー全体共通設定 */
.menu-banner,
.taiken-banner {
  display: flex;
  justify-content: center;
  margin: 60px 0 40px;
}

/* リンクボタン共通設定 */
.menu-banner-link,
.taiken-banner-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 80%; /* 両方の横幅を統一 */
  max-width: 600px;
  color: #fff;
  font-weight: 700;
  font-size: 1.3em;
  text-decoration: none;
  padding: 18px 28px;
  border-radius: 10px;
  transition: all 0.3s ease;
}

/* バナーごとのカラー指定 */
.menu-banner-link {
  background-color: #1a2a6c; /* 濃紺 */
}
.taiken-banner-link {
  background-color: #5aa47e; /* グリーン */
}

/* 矢印アイコン */
.menu-banner-link .arrow,
.taiken-banner-link .arrow {
  font-size: 1.3em;
  opacity: 0.8;
  transition: transform 0.3s ease;
}

/* ホバー時 */
.menu-banner-link:hover,
.taiken-banner-link:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}
.menu-banner-link:hover {
  background-color: #5aa47e;
}
.taiken-banner-link:hover {
  background-color: #1a2a6c;
}
.menu-banner-link:hover .arrow,
.taiken-banner-link:hover .arrow {
  transform: translateX(5px);
  opacity: 1;
}

/* スマホでの文字サイズアップ（共通） */
@media screen and (max-width: 768px) {
  .menu-banner-link,
  .taiken-banner-link {
    font-size: 1.5em;  /* ← スマホ時は文字を大きく */
    padding: 20px 30px; /* 横幅・余白も合わせて拡大 */
  }
}

/* 2025/10/28　追記 */
/* 動画埋め込みのレスポンシブ対応 */
.video-wrapper {
  position: relative;
  width: 100%;
  max-width: 900px; /* PCでの最大幅を制限 */
  margin: 40px auto; /* 中央寄せ */
  aspect-ratio: 16 / 9; /* 動画の縦横比を維持 */
  overflow: hidden;
  border-radius: 10px; /* 角を少し丸める（お好み） */
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

/* iframe自体の調整 */
.video-wrapper iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: none;
  border-radius: 10px;
}

/* スマホ時のサイズ調整 */
@media screen and (max-width: 768px) {
  .video-wrapper {
    max-width: 100%;
    margin: 30px auto;
    aspect-ratio: 16 / 9;
  }
}
