/*
Theme Name: ja-snownotes-child-ver-5.2
Template: ja-snownotes-ver-5.2
Description: affinger6を使ったsnownotes自作子テーマ
Version: 20201223
*/


/* 共通のデザイン
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------*/

/* PCサイズ　footerの固定*/
html,
body,
#footer-fixed-wrapper {
    height: 100%;
    position: relative;
}
body > #footer-fixed-wrapper {
    height: auto;
    min-height: 100%;
}
#content {
    padding-bottom:10vw; /* フッターの高さと同じ値 */
}
#about-content {
    padding-bottom:10vw; /* aboutページ用。フッターの高さと同じ値 */
}
#footer {
    position: absolute;
    bottom: 0px;
    width: 100%;
}

/* PCサイズ　全体のレイアウト*/


.st-post a{
  color: black;
  transition: all 0.3s 0s ease;
}

.st-post a:hover{
  color: #6187C1;
}

.st-card-img img{
  width:300px;
}

header {
	z-index: 100;
}

#headbox-bg{
  	background: transparent !important;
}

.container{
	width: 87.5vw;
  margin-right: 6.25vw;
  margin-left: 6.25vw;
}

.contents-title{
	padding:100px 0 50px 0;
}

/* まずデフォルトでは両方非表示にしておく */
.main-title-pc,
.main-title-sp {
  display: none;
}

/* パソコン用（768px以上）だけPCタイトルを表示 */
@media screen and (min-width: 768px) {
  .main-title-pc {
    display: inline;
  }
}

/* スマホ・タブレット用（767px以下）だけSPタイトルを表示 */
@media screen and (max-width: 767px) {
  .main-title-sp {
    display: inline;
  }
}


/* font変更したい部分全て*/
.service-contact-wrap span, .service-contact-wrap p, .service-box p, .contact-paragraph-wrap p, .about-paragraph-wrap p,.matome-title h3, .en-about-text-wrap p, .en-about-text-wrap a, .en-about-name-wrap p, .contact-form-wrap h3, .language a, .entry-title h1, .ex-entry-title h1,.st-pvm-ranking-item-title, .kanren dd h3 a, .kanren dd .kanren-t a, .post-slide-title a, .post-card-title a, #st-magazine dd h3, .kanren.pop-box dd h5:not(.st-css-no2) a,
#side .kanren.pop-box dd h5:not(.st-css-no2) a, .st-cardbox-t, .kanren .popular-t a,
.st-cardlink-card a, .h4modoki, .post h4:not(.st-css-no):not(.st-matome):not(.rankh4):not(.post-card-title):not(#reply-title):not(.point), .h5modoki, .post h5:not(.st-css-no):not(.st-matome):not(.rankh5):not(.post-card-title)
:not(#reply-title):not(.st-cardbox-t):not(.kanren-t):not(.popular-t):not(.post-card-title), .post h4.has-st-regular-font-size, .post h5.has-st-regular-font-size, .st-author-profile .st-author-nickname, .st-web-font, .st-step-title, .st-point .st-point-text,
.n-entry, h4:not(.st-css-no) .point-in, .point-in-tag, .cat-itiran p.point, .form-submit, .news-ca, .st-widgets-title, .st-widgets-title span, h4.menu_underh2 span, .st-header-flextitle, .post h2:not(.st-css-no), .post h2:not(.st-css-no) span, .post h3:not(.st-css-no),
.post h3:not(.st-css-no) span, .post h2.has-st-regular-font-size, .post h2.has-st-regular-font-size span, .post h3.has-st-regular-font-size, .post h3.has-st-regular-font-size span, .h2modoki, .h3modoki, .entry-title:not(.st-css-no), .post .entry-title:not(.st-css-no)
.main-category-title h2{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  color:#0a1014;
}

p, span{
  font-weight: 200;
}


/* flexの幅を変更したい時はhtmlに組み込む*/
.flex-width1 {
flex-basis: 10%; /* flexアイテムの幅を割合で指定 */
}
.flex-width3 {
flex-basis: 30%; /* flexアイテムの幅を割合で指定 */
}
.flex-width4 {
flex-basis: 40%; /* flexアイテムの幅を割合で指定 */
}
.flex-width5 {
flex-basis: 50%; /* flexアイテムの幅を割合で指定 */
}
.flex-width6 {
flex-basis: 60%; /* flexアイテムの幅を割合で指定 */
}
.flex-width7 {
flex-basis: 70%; /* flexアイテムの幅を割合で指定 */
}

.widefat td, .widefat th {
  padding:0 !important;
  color: #50575e;
  width: 70%;
}

.main-title-wrapper{
		width: 100%; /*追加*/
		z-index:3;
    height:20vh;
}



.main-title{
  font-family: "Shippori Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  padding:0 0 40px 0;
  color:white;
  font-size: 2.0rem;
}

.sub-title{
  font-family: "しっぽり明朝", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  color:white;
  z-index: 2;
}

.main-home-contents-space {
  padding: 180px 0; /* 上下に均等なスペースを持たせる */
  position: relative;
  display: flex;
  align-items: center;
}

.main-title-black{
  font-family: "acumin-pro","A+EqpB-游ゴシック体 Pr6N M","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding:16px 0;
  font-size: 3rem;
  line-height:1.25;
}

.main-title-link {
  display: inline-block;
  margin-top: 32px;   /* 好みで 24〜40px くらいに調整してOK */
}

a.main-title-link{
  font-family: "acumin-pro","A+EqpB-游ゴシック体 Pr6N M","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-size: clamp(.625rem,-.125rem + 1.56vw,.875rem);
  line-height:1.25;
  width:300px;
  text-decoration: underline;
  text-underline-offset: 8px;
}


@media screen and (max-width: 599px) {
  .main-home-contents-space {
    padding: 40px 0; /* スマホでは少し詰める */
  }
  .main-title-black {
    font-size: 1.5rem; /* スマホで適度に縮小 */
    line-height: 1.4;
  }
}


.full{
  height:0vh;
}





.pickup{
  position:absolute;
  top:50%;
}

.pickup-contents-main-title{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  padding:10px 0;
  font-size: 2.0rem;
  color:white;
}

.pickup-contents-title{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  padding:10px 0;
  font-size: 1.0rem;
  color:white;
}

.pickup-contents-sub-title{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  padding:3px 0;
  font-size: 1.0rem;
  color:white;
}

@media print, screen and (max-width: 599px) {

  .pickup{
    position:absolute;
    top:65%;
  }

  .pickup-contents-main-title{
    font-size: 1.5rem;
  }

  .pickup-contents-title{
    font-size: 0.8rem;
  }

}

/*メインページ　フォントなど共通の部分
---------------------------------------------------------------------------------------------------*/
.en-first-main-title{
  font-family: "acumin-pro","A+EqpB-游ゴシック体 Pr6N M","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
  letter-spacing: 0.05em;
  font-size:2.5rem;
}

.en-contents-title-black{
  font-family: "acumin-pro","A+EqpB-游ゴシック体 Pr6N M","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
  letter-spacing: 0.05em;
  padding:16px 0;
  font-size: 1.5rem;
}

.title-line{
  border-bottom: 2px solid #e3e3e3;
  border-top: 2px solid #e3e3e3;
}

.itiran-category a{
  text-decoration: none;
}

.en-contents-title{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  padding:0 0 40px 0;
  color:white;
  font-size: 2.0rem;
}

.section-divider {
  border: none;
  border-top: 1px solid #ddd; /* 薄いグレー */
  margin: 40px 0; /* 上下の間を開ける */
  width: 100%;
}


/*Mainページ　コンテンツ　共通スタイル
---------------------------------------------------------------------------------------------------*/
h3:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no2) a {
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.2em;
  line-height: 1.6;
  font-size: 1rem;
}

.main-title{
  position: absolute;
  left: 50%;
  top: 75%;
  transform: translate(-50%,-50%);
}

.main-title{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  padding:0 0 40px 0;
  color:white;
  font-size: 2.0rem;
}



/*headerセクション
---------------------------------------------------------------------------------------------------*/
#header-full{
  height:70px;
}

#headbox{
    display: flex;
    align-items: center;
    justify-content: space-between;
    align-items: center;
    height: 70px;
}

.centered-logo-header {
  align-items: center; /* 垂直方向の中央揃え */
}

.nav-l-menu{
  margin-left: 6.25vw;
  display:flex;
  z-index:2;
  align-items: center;
}

.nav-l-item a{
  font-size: 11px;
  text-decoration: none;
  font-family: "acumin-pro","A+EqpB-游ゴシック体 Pr6N M","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
  font-weight: normal;
  letter-spacing: 0.1em;
}

.nav-r-item a{
  font-size: 11px;
  text-decoration: none;
  font-family: "acumin-pro","A+EqpB-游ゴシック体 Pr6N M","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
  font-weight: normal;
  letter-spacing: 0.1em;
}

#st-text-logo {
display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background-color: white;
}

#st-text-logo a {
  display: flex; /* a要素もflexコンテナにする */
  justify-content: center;
  align-items: center;
}

#st-text-logo img {
  max-width: 100%; /* ロゴの幅が親要素を超えないようにするために追加 */
  height: auto; /* アスペクト比を維持しつつサイズを調整するために追加 */
}

#st-text-logo img{
  width:125px;

}

.language{
	margin:0 20px 0 0px;
}

.nav-r-menu{
  display:flex;
  z-index:2;
  align-items: center;
}




/*nav*/
nav {
  display: block;
  position: fixed;
  top: 0px;
  left: -100vw;  /*ここが0だとメニュー解除も中のリンクを押せてしまう */
  bottom: 0;
  width: 100%;
  background: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .2s;
  z-index: 3;
  opacity: 0;
}
.open nav {
  left: 0;
  opacity: 1;
	z-index: 3;
}
nav .inner {
  padding: 25px;
	margin-top:100px;
}
nav .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #333;
}
nav .inner ul li a {
  display: block;
  color: #333;
  font-size: 14px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}
nav .inner ul li a:hover {
  background: #white;
}

/*#mask*/
#mask {
  display: none;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #white;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
}
/*メニューデザイン*/
.nav-container{
  width: 80vw;
  margin: 0 auto;
}
.nav-menu-wrap{
  display:flex;
  flex-flow: column;
  height:300px;
  margin:0 0 1em;
}
.content {
  padding:0.5em;
  margin:0.5em auto;
  width:70%;
}
.content h3{
  margin-bottom:15px;
}
.content a{
  font-weight: 200;
  line-height: 27px;
}

.icon-item {
  padding:0 0.5em;
  font-size: 16px;
}
.page-container{
  width:50vw;
  display:flex;
  margin: 0 auto;
  align-items: center;
  justify-content: space-evenly;
  height:70px;
}
.btn-wrap a{
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
	height:45px;
}
.button {
  width: 20vw;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  color: #0a1014;
  background-color: #fff;
  border: none;
  box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease 0s;
  cursor: pointer;
  outline: none;
  }

.button:hover {
  background-color: #2EE59D;
  box-shadow: 0px 15px 20px rgba(46, 229, 157, 0.4);
  color: #fff;
  transform: translateY(-7px);
}

/*ホバー*/
.hover-parts a{
	display: inline-block;
	transition: all .3s ease 0s;
	text-decoration: none;
}
.hover-parts:hover .a1{
	cursor: pointer;
	opacity: .7;
}
.hover-parts:hover .a2{
	cursor: pointer;
	color: #8EC8D4;
}
.hover-parts:hover .a3{
	cursor: pointer;
	color: #0a1014;
}
.invisible{
	visibility:hidden;/* ハンバーガーメニューを出した時に後ろのコンテンツを消す*/
}

/* .toggle_btn */
.toggle_btn {
  display: block;
  position: fixed;
  width: 60px;
  height: 15px; /* ハンバーガーバーの反応する場所の高さ */
  top:30px;　　/* ハンバーガーバーの位置 */
  transition: all .4s;
  cursor: pointer;
  z-index: 5;
  right: 6.25vw;
}

.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 60px;
  height: 1px; /* バーガーの太さを設定 */
  background-color: black;
  border-radius: 4px;
  transition: all .4s;
}



.toggle_btn span:nth-child(1) {
  top: 0; /* 上下の位置を調整 */
  transform-origin: center;
}

.toggle_btn span:nth-child(2) {
  top: 12px; /* バーガー同士の距離を調整 */
  transform-origin: center;
}

.open .toggle_btn span:nth-child(1) {
  transform: translateY(12px) rotate(-45deg);
}

.open .toggle_btn span:nth-child(2) {
  transform: translateY(0) rotate(45deg);
}


@media only screen and (max-width: 959px) {
  .nav-l-menu{
    margin-left: 0;
  }
}

@media print, screen and (max-width: 599px) {

  .nav-l-menu{
    margin-left: 3vw;
  }
  .nav-r-menu{
    margin-right: 60px;
    display:flex;
  }
  .toggle_btn{
    top:29px;
    width:40px;
  }
}

@media print, screen and (max-width: 330px) {
  .language{
    margin:0 10px 0 0;
  }

  .nav-r-menu{
    margin-right: 50px;
    display:flex;
  }

  .nav-r-item a{
    font-size: 12px;
    text-decoration: none;
  }
}

#st-text-logo img{
  width:125px;
  transition: all .5s;
}


@media print, screen and (max-width: 599px) {

  .nav-r-menu{
  margin-right: 60px;
  display:flex;
  }

  .language{
  margin:0 8px 0 0;
  font-size: 10px;
  }

  .nav-l-item a{
  font-size: 10px;
  }

  #st-text-logo img{
  width:100px;
  }

  .non-menu{
  display: none;
  }

  .toggle_btn span{
  width: 40px;
  }

  .toggle_btn span:nth-child(2) {
  top: 8px;
  transform-origin: center;
  }
}

@media print, screen and (max-width: 330px) {
  .language{
  margin:0 10px 0 0;
  }

  .nav-r-menu{
  margin-right: 50px;
  display:flex;
  }

  .nav-r-item a{
  font-size: 12px;
  text-decoration: none;
  }
}


/*pcサイズのfooter
---------------------------------------------------------------------------------------------------*/
#footer-wrap{
	display:flex;
	justify-content: space-between;
	padding: 40px 6.25vw 40px 6.25vw;
	height:auto;
	background-color: black;
}

#footer-wrap2{
	padding: 40px 6.25vw 40px 6.25vw;
	height:auto;
	background-color: black;
}

.footer-line-container{
  border-top:solid 1px #757575;
  display:flex;
  justify-content: space-between;
}

.footer-logo{
	padding:0 10px;
}

.f-sn-logo img {
    width:200px;
  }

.footer-intro{
	width:30vw;
	padding:0 0 0 10vw;
	font-size:12px;
  line-height: 1.5;
  color:white;
}

.footer-intro-category{
  padding-left: 0px;
}

.footer-intro-category ul{
  margin-top:20px;
}

.footer-intro-category li{
  margin:10px 0;
  list-style: none;
  color: #999999;
}

.footer-intro-category a{
  color: #999999;
  transition: all .3s;
  text-decoration: none;
}

.footer-intro-category a:hover{
  color: #8EC8D4;
  text-decoration: underline;
}

.footer-intro2{
	font-size:12px;
  line-height: 1.5;
  color:white;
}

.footer-intro2 span{
  color:#757575;
}

.footer-intro-about{
	width:35vw;
  padding-top: 40px;
	font-size:12px;
  line-height: 1.5;
  color:#f3f3f3;
}

.intro2{
	padding-top:12px;
  color:white;
}

.intro2 a {
	color:#0a1014;
}

.footer-outro{
	width:20vw;
	padding:0 0vw 0 0vw;
	font-size:12px;
  color:white;
}

.sns-wrap-footer{
	display:flex;
	width:15vw;
	justify-content: space-between;
	padding-top:40px;
}

.sns-color{
  color:#f3f3f3;
  text-decoration: none;
}

.footer-container2{
  padding: 40px 0;
}


/* メインページのコンテンツ
---------------------------------------------------------------------------------------------------*/
.single-description{
  font-size:14px;
  color: rgb(51, 51, 51);
  line-height: 1.57143em;
  font-weight: 400;
  margin:1.2em 0;
}

.single-description a{
  text-decoration: none;
  font-size: 0.8em;
  letter-spacing: .1em;
}

.contents-line{
    padding: 1.2rem 0;
    position: relative;
}

.contents-line::after{
    content: "";
    display: block;
    width: 70px;
    height: 0;
    border-bottom: 1px solid #8EC8D4;
    position: absolute;
    bottom: 0px;
}

.font-20{
  font-size: 20px;
}

.title-underline:hover {
    text-decoration: underline;
    color: #0a1014;
    cursor: pointer;
}



/* =========================================================
   Home：トップページ プロジェクト2カラム
   左：雪結晶3Dビジュアル（snow-depth-section）
   右：雪と氷の物語（story-card）
   ========================================================= */

/* ------- グリッド全体 ------- */
.home-projects-grid {
  display: flex;
  gap: clamp(16px, 2vw, 28px);
  padding-inline: clamp(16px, 2vw, 28px);
  /* ★写真エリアを上に寄せて見出しと揃える */
  margin-top: clamp(24px, 6vh, 48px);
  margin-bottom: clamp(48px, 10vh, 96px);
}

.home-projects-grid section {
  margin-bottom: 0 !important;   /* ★ ← これで余白の暴走を止める */
}

/* 1セット（画像＋キャプション） */
.project-item {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
}

/* ------- カード本体（画像部分） ------- */
.home-project-card {
  position: relative;
  flex: 1 1 auto;

  /* 画像全体が見切れないように */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;

  /* 比率固定（横長過ぎるのを防ぐ） */
  aspect-ratio: 16 / 9;

  background-color: #000;  /* 余白が出たときの背景色 */
  overflow: visible;
}

/* 左：雪結晶カードの特別指定が邪魔しないように */
.snow-depth-section {
  background-size: contain !important;
}

/* 右：ストーリーカードも同じ挙動に */
.story-card {
  /* 画像は home.php で inline style で指定 */
  background-size: contain;
  background-position: center;
}

/* ------- 全面リンク＋ホバー時の暗さ ------- */
.full-link {
  position: absolute;
  inset: 0;
  display: block;
  background: rgba(0, 0, 0, 0.06);
  transition: background 0.3s ease;
  z-index: 1;
}

.home-project-card:hover .full-link {
  background: rgba(0, 0, 0, 0.22);
}

/* ------- 画像下のキャプション ------- */
.project-caption {
  margin-top: 12px;
}

.caption-ja {
  font-family: "Hiragino Kaku Gothic ProN","Noto Sans JP",
               "Yu Gothic Medium","YuGothic",Meiryo,sans-serif;
  font-size: 0.9rem;
  letter-spacing: 0.16em;
  margin: 0 0 3px;
}

.caption-en {
  font-family: "Outfit", "Inter", sans-serif;
  font-size: 0.8rem;
  letter-spacing: 0.14em;
  margin: 0;
  opacity: 0.85;
}

/* ==========================================
   HOME：home-projects-grid
   961px〜1275px：2列のまま、黒いビジュアルの高さを揃える
========================================== */
@media (min-width: 961px) and (max-width: 1275px) {

  /* 2列レイアウトを固定 */
  .home-projects-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px !important;
    align-items: start;
  }

  /* 各カードを「縦並びフレックス」にして、
     上をサムネ、下をテキストという構造に揃える */
  .home-projects-grid > div {
    display: flex;
    flex-direction: column;
  }

  /* 一番上の a（サムネイル部分）を共通の縦横比にする */
  .home-projects-grid > div > a:first-child {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;         /* ★ここで黒いエリアの比率を統一 */
    overflow: hidden;
  }

  /* サムネイル画像をトリミングして枠いっぱいにフィット */
  .home-projects-grid > div > a:first-child img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
  }
}



/* =========================
   レスポンシブ調整
   ========================= */
@media screen and (max-width: 959px) {
  .home-projects-grid {
    flex-direction: column;
    margin: clamp(56px, 10vh, 96px) 0;
    padding-inline: clamp(12px, 4vw, 24px);
    gap: clamp(16px, 4vw, 32px);
  }

  .project-caption {
    margin-top: 20px;    /* ★赤線部分：写真との間をキュッと詰める */
    margin-bottom: 32px;/* ★青線部分：次の写真までの余白を広げる */
  }
}

/* さらに小さいスマホ向け微調整 */
@media screen and (max-width: 599px) {
  .home-project-card {
    min-height: 220px;
  }
}



/* ===== Experiences セクション見出し ===== */
.experience-heading {
  margin: 160px 0 80px;      /* 上：前セクションとの間 / 下：写真との間 */
}

.experience-title-en {
  font-size: 1.6rem;
  font-weight: normal;
  letter-spacing: 0.18em;
  margin: 0 0 12px;         /* タイトルと線の間を 12px に */
}

/* もし .section-divider がまだ無ければ念のため（Aboutと共通でOK） */
.section-divider {
  border: none;
  border-top: 1px solid #dedede;
  margin: 0;
}



/*work workページ
---------------------------------------------------------------------------------------------------*/

.service-title h3{
  background-color: none;
  color:black;
  font-size: 2.5rem;
}

.service-paragraph-wrap h3{
  font-size: 3.5em;
  font-weight: normal;
  letter-spacing: 0.1em;
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
  margin-bottom: 65px;
}

@media screen and (max-width: 600px) {
.service-paragraph-wrap h3{
  font-size: 3em;
}


}



.service-boxes{
  display: flex;
  justify-content: center;
  margin:0 auto;

}
.service-boxes div{
  width: 25%;
}

.service-box h4{
  text-align: center;
}

.service-box{
  margin:0 auto;
}

.service-box-title{
  text-align: center;
  margin:0 30px 40px 30px;
  display: inline-block;
  position: relative;
}

.service-box-title:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -20px; /*下線の上下位置調整*/
  display: inline-block;
  width: 50px; /*下線の幅*/
  height: 1px; /*下線の太さ*/
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: black; /*下線の色*/
}


h4.service-box-title{
  font-size: 1.5em;
  font-weight: normal;
  letter-spacing: 0.1em;
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}




/*Aboutページ
---------------------------------------------------------------------------------------------------*/
.about-page-content {
  max-width: 800px; /* 本文の最大横幅を800pxに制限 */
  margin: 40px auto 0 auto; /* 上下は余白を取り、左右は自動で中央寄せ */
  padding: 0 20px; /* スマホ対策で左右に軽くパディング */
  font-size: 1rem;
  line-height: 1.8;
  text-align: left; /* 本文は左寄せにして自然に */
}

/* About 日本語版：英語タイトルの下に日本語サブタイトルを出す */
.ja-about-wrap .about-main-title {
  margin: 0 0 2.5rem;   /* 下に少し余白を作る（お好みで調整可） */
}

/* 日本語サブタイトルだけを副題っぽく */
.ja-about-wrap .sub-ja-title {
  display: block;               /* ★ここで英語の次の行に落とす */
  margin-top: 0.9rem;           /* 英語との間の余白 */
  font-size: 0.95rem;           /* 英語より小さめ */
  line-height: 1.9;
  letter-spacing: 0.06em;
  font-weight: 400;
}



/* About ページ用：h1 内の日本語サブタイトル */
.about-main-title .main-title-ja {
  display: block;          /* 英語の下に改行して配置 */
  margin-top: 32px;        /* 英語タイトルとの余白 */
  font-size: 0.9rem;       /* 英語より小さく */
  line-height: 1.8;
  letter-spacing: 0.08em;
  font-weight: normal;
}

/* モバイルではほんの少しだけ縮める */
@media screen and (max-width: 767px) {
  .about-main-title .main-title-ja {
    font-size: 0.85rem;
    margin-top: 8px;
  }
}

/*JAのみ*/
.about-paragraph-wrap{
  padding: 200px 0;
}

.about-paragraph-wrap h1{
  font-size: 4em;
  font-weight: normal;
}

.about-intro-wrap{
  display:flex;
  width:100%;
  height:40vh;
}

.about-intro-column {
  width: 50%;
}


.about-intro-photo {
    background-image: url("images/about-intro.webp");
    background-size: cover;
    background-position: center;  /* 写真を中央を起点にして縮まる */
    text-align:  center;    /* 文字中央寄せ */
    width: 100%;
    height: 100vh;　/* どのPCのたかさでもぴったり合うように。 */
    top: 50%;
}

.about-detail-wrap{
  margin-top:40px;
}
.about-intro-info{
  padding-right:40%;
}

.about-intro-info p{
  margin:0;
}

.about-intro-info a{
  margin-top:20px;
  font-family: "acumin-pro","A+EqpB-游ゴシック体 Pr6N M","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
}

.about-intro-info h3, .about-small-title h3 {
  font-size: 1.5rem;
  font-weight: normal;
  letter-spacing: 0.2em;
  font-family: "didot", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.about-intro-info p, .a-s-box p{
  font-family: "didot", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.about-line-wrap{
  margin-top:80px;
  border-top: 1px solid #dedede;
}

.about-small-wrap{
  display: flex;
  vertical-align: top;
  padding-top: 20px;
}

.a-s-box{
  width:50%;
}

.contact-title{
  margin-top:30px;
}

form{
  margin-top:40px;
}

.padding-10{
  padding-top:10px;
}

.padding-20{
  padding-top:20px;
}

.explain-photo{
  font-size: 0.8em;
  margin-top:10px;
}

/*ENのみ*/
.en-intro{
  width:50%;
  margin:0 auto;
}

.en-about-logo-wrap{
  padding-top:160px;
}

.en-about-text-wrap{
  padding-top:80px;
}

.about-sns{
  padding-bottom: 40px;
  text-decoration: underline;
}


@media only screen and (max-width:479px){

  .about-intro-photo{
    height: 30vh;
  }
  .about-intro-info{
    padding-right:0;
  }
  .explain-photo{
    font-size: 0.6em;
  }
  .about-small-wrap{
    flex-direction: column;
    width:100%;
  }
  .a-s-box{
    width:100%;
    padding-top:20px;
  }

  .a-s-box p{
    padding-top:10px;
  }
  .about-sns{
    padding: 20px 0;
  }

}

.contact-wrap{
  display: flex;
  align-items: center;
  height:100vh;
}

.contact-paragraph-wrap {
  padding-top:60px;
  }

.contact-paragraph-wrap h1{
  font-size: 4em;
  font-weight: normal;
  letter-spacing: 0.1em;
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.c-box{
  width:50%;
}

.bv-p-translate label{
  margin-top:20px;
}
.wpcf7-submit{
  margin:0;
}

@media print, screen and (max-width: 950px) {
  .contact-wrap{
    flex-flow:column;
    height:auto;
    margin-bottom: 80px;
  }
  .contact-paragraph-wrap{
    padding:100px 0;
  }
  .c-box{
    width:100%;
  }
}



/************************************
** お問い合わせフォームの入力
************************************/


/*「必須」文字デザイン*/
.required{
font-size:.8em;
padding: 5px;
background: #F57500;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/*「任意」文字デザイン*/
.optional{
font-size:.8em;
padding: 5px;
background: #0a1014;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  padding: 10px 15px;
  margin-right: 10px;
  margin: 20px 0;
  border-top:none;
  border-left:none;
  border-right:none;
  border-bottom:solid 1px #0a1014;
}
textarea.wpcf7-form-control.wpcf7-textarea {
  height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: black;
  background: none;
  border: solid 1px #0a1014;
  border-radius: 0.5rem;
}
@media screen and (max-width:768px){
input.wpcf7-submit {
width: 250px;
}
}

input.wpcf7-submit:hover {
  box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
  transform: translateY(-4px);
  opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
  color: red;
}


/* single-experienceのデザイン
---------------------------------------------------------------------------------------------------*/
.a-caption-wrapper{
  margin-top:20px;
}

.a-caption-wrapper p{
  font-size: 14px;
  color:#666;
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media only screen and (min-width: 600px) and (max-width: 999px) {
  .a-caption-wrapper{
    margin:20px 20px 0 20px;
  }
}

@media only screen and (max-width: 599px) {
  .a-caption-wrapper{
    margin:20px 10px 0 10px;
  }


}



/* single-experienceのデザイン
---------------------------------------------------------------------------------------------------*/
.ex-single-header{
  padding-top:200px;
}

.ex-single-title{
  margin: 0 13rem;
}

.ex-single-main-img {
    padding-bottom: 30px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.ex-single-main-img img {
    padding-bottom: 30px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

img.size-full, img.size-large{
  width:100%;
}

/* experienceシングルのタイトルとパンクズ*/
.ex-entry-title{
  text-align: center;
  font-weight: 200;
  font-size: 3rem;
}

.ex-entry-title h1{
  font-weight: normal;
  font-size: 3rem;
  line-height: 1.4;
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* シングルタイトルの部分 */
h1:not(.entry-title):not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no2) {
  font-family: "didot", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.ex-link-wrap{
  margin-top:30px;
}

.excerpt-wrapper{
  text-align: center;
  margin-bottom:13rem;
}

.excerpt-wrapper p{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size:14px;
}

.post-detail{
  margin-top:15px;
}

.caption-wrapper{
  margin:0 6.25vw;
}

.caption-wrapper p{
  font-size: 14px;
  color:#666;
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#ex-contentInner {
  margin: 0 auto;
  width:80%;
}

/* 本文全体とhタイトルの下 */
.ex-entry-content{
  margin-top:40px;
}

.ex-entry-content p{
  font-size: 14px;
  line-height: 2.5;
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


@media only screen and (min-width: 600px) and (max-width: 999px) {
  .ex-single-title{
    margin: 0 3rem;
  }

  #ex-contentInner {
    width: 100%;
  }

  .excerpt-wrapper p {
    font-size: 18px;
    line-height: 2.0;
    margin: 0 3rem;
 } 

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

@media only screen and (max-width: 599px) {
 .ex-single-header {
    padding-top: 100px;
}

 .ex-single-title{
    margin: 0 1.5rem;
  }

 .ex-entry-title{
    font-size: 1.5rem;
 }

  #ex-contentInner {
    width: 100%;
  }

  .excerpt-wrapper p {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
 } 

 .ex-single-header {
    padding-top: 100px;
}

.excerpt-wrapper {
    margin-bottom: 5rem;
}



}


/* シングルページの下の関連記事デザイン
---------------------------------------------------------------------------------------------------*/
.point{
  padding:80px 0 40px 0;
  border-top: 1px solid #e0e0e0;
  text-align: center;
  font-size:24px;
}

.kanren-flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
  margin:0 6.25vw;
}

.kanren-flex::before{
  content:"";
  display: block;
  width:calc(25% - 2%);
  order:1;
}
.kanren-flex:after{
	content:"";
	display:block;
	height:0;
}

.kanren-flex-item{
    display:flex;
    max-width: 850px;
    padding-bottom:32px;
    margin-bottom:32px;
    border-bottom:1px solid rgb(229, 229, 229);
    justify-content: center;
    align-items: center;
}

.kanren-flex-item a{
  text-decoration: none;
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
}

.kanren-flex-item a:hover{
  text-decoration: underline;
}

/*縦画像も一覧でみた時に同じ形になるようにcoverをつけて高さを調整*/
.kanren-flex-item img{
  object-fit: cover;
  height:115px;
}

@media only screen and (max-width: 600px) {
  .kanren-flex-item{
    display:block;
  }
}


.st-catgroup.itiran-category .catname {
  color:#0a1014;
  background: none;
  border-bottom: 1px solid #E3E3E3;
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  padding-bottom: 1.2px;
}

.h2modoki::after, .post h2:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no)::after {
   height:1px !important;
  }

.h3modoki, .post h3:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no):not(.st-matome):not(.rankh3):not(.post-card-title):not(#reply-title) {
	border-bottom: 1px dashed !important;
  padding-left: 0 !important;
}

.h4modoki::before, .post h4:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no):not(.st-matome):not(.rankh4):not(.point)::before {
	border-radius: 0 !important;
}


/* シングルページの下の関連タグデザイン
---------------------------------------------------------------------------------------------------*/
.point-in-tag{
  padding:40px 0 40px 0;
  border-top: 1px solid #F5F5F5;
  text-align: center;
  font-size:24px;
}

.tagst{
	margin-bottom: 40px;
}

/*投稿タグ*/
.tagst {
	font-size:16px;
	color:#ccc;
	padding: 10px 0 0;
}

.tagst a{
  text-decoration: none;
}

.tagst a:hover{
  text-decoration: underline;
}

.tag-container{
  padding:40px 20px;
  background-color: #f5f5f5;
}



/* カテゴリーページデザイン
---------------------------------------------------------------------------------------------------*/
.ca-category-title{
  padding:150px 0;
  text-align: left;
  border-bottom:1px solid rgb(229, 229, 229);
}

.ca-category-title h1{
  text-align: left;
    font-size:6rem;
  font-weight: 200;
  font-family: "acumin-pro","A+EqpB-游ゴシック体 Pr6N M","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
}


.ca-category-title ol{
  text-align: left;
}

/* タイトルの隙間　*/
.category .kanren:not(.st-cardbox) {
	padding-top: 80px;
	margin-top:0;
}

/* タグ・カテゴリーのコンテンツ部分のCSS */
.itiran-flex{
	display: flex;
  flex-flow:column;
}

.itiran-flex-item{
  display:flex;
  max-width: 850px;
  padding-bottom:32px;
  margin-bottom:32px;
  border-bottom:1px solid rgb(229, 229, 229);
  justify-content: center;
  align-items: center;
}

.itiran-flex-item a{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  font-weight: normal;
  letter-spacing: 0.05em;
}

.contents-img{
  width:100%;
}

.contents-img  img{
  object-fit: cover;
  width:100%;
  height:250px;
}

.contents-text{
    width:100%;
    margin: 0px 0px 20px 20px;
}

@media only screen and (max-width: 600px) {
  .itiran-flex-item{
    display:block;
  }

  .contents-text{
      margin: 0;
  }

  .contents-img img {
    object-fit: cover;
    width: 100%;
    height: 150px;
}

}





/* PCのシングルページとアーカイブデザイン
---------------------------------------------------------------------------------------------------*/
.single-padding{
  padding-top: 120px;
}

#contentInner {
	margin: 0 auto;
  padding-top:100px;
}


/* アーカイブとシングルのタイトルとパンクズ*/
#breadcrumb, .st-catgroup, .entry-title, .blogbox, .tagst{
	text-align: center;
}
.archive-top{
  margin-top:50px;
}

.archive-description{
  padding-bottom:40px;
  margin:0 10rem 0 0;
  padding-top:10px;
  text-align: left;
}

.archive-description p{
  text-align: left;
}

.archive-line{
  margin-bottom:10px;
  border-bottom:1px solid rgb(229, 229, 229);
  padding:100px 0;
  text-align: left;
}

.archive-line h1{
  font-size:4rem;
  font-weight: 200;
}

.rs-space{
  text-align: left;
}

@media screen and (max-width: 600px) {
  .archive-description{
    margin:0 0 40px 0;
    padding:20 0px;
  }

  .archive-description p{
    font-size: 12px;
  }

    .archive-line{
    padding:50px 0;
  }

  .archive-line h1{
    font-size:2rem;
  }
}

.blogbox{
	margin-bottom:100px;
}

.single-main-img{
	padding-bottom:120px;
}

.single-main-img img{
  width:100%;
}

@media only screen and  (max-width: 1000px) {
.single-main-img{
  padding-bottom:80px;
}
}

/* スマホレスポンシブ用の調整 */
@media screen and (max-width: 599px) {
    /* .single-main-imgを画面幅いっぱいに広げる */
    .single-main-img {
        width: 100vw; /* 画面幅いっぱい */
        margin-left: calc(-50vw + 50%); /* 親要素の中心から調整 */
    }
    
    /* アイキャッチのキャプションをメイン文章の幅に揃える */
    .a-caption-wrapper {
        margin: 0 auto; /* 中央揃え */
        width: 90%; /* メイン文章に近い幅に設定 */
        max-width: 600px; /* 最大幅の制限 */
        padding: 10px; /* 読みやすさを向上するために余白を追加 */
    }
}

@media screen and (min-width: 600px) {
    .single-padding {
        padding-top: 150px; /* 現状よりやや狭めに調整 */
    }
}

/* スマホサイズ用 */
@media screen and (max-width: 599px) {
    .single-padding {
        padding-top: 120px; /* スマホではさらに狭く調整 */
        padding-bottom: 30px; /* 下部の余白もスマホ向けに調整 */
    }
    .blogbox{
      margin-bottom:50px;
    }
}

.st-catgroup{
	padding:10px 0 0 0;
}

.single-category{
	padding-bottom:40px;
}

/* シングルの写真の補足部分*/
.wp-block-image figcaption a, .wp-block-image figcaption, .wp-caption-text a, .wp-caption-text {
  text-align: left;
  padding-top:10px;
    color: #757575;
    line-height: 1.4;
    margin: 0.5em 0;
    font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.wp-block-gallery.has-nested-images figcaption{
    text-align: left;
    font-size: 12px;

    color: #757575;
    line-height: 1.4;
    margin: 0.5em 0 0;
    font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media screen and (max-width: 599px) {
  .entry-content .wp-block-image figcaption {
    margin:0 20px;
  }
}



/* シングルタイトルの部分 */
.entry-title:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no2), .post .entry-title:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no2) {
  text-align: center;
  font-weight: 200;
  font-size: 3rem;
  margin:0 13rem 2rem 13rem;
  line-height: 1.25;
}

@media only screen and (min-width: 600px) and (max-width: 999px) {
  .entry-title:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no2), .post .entry-title:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no2) {
  text-align: center;
  font-weight: 200;
  font-size: 2rem;
  margin:0 2rem 1rem 2rem;
  line-height: 1.5;
　}
}


@media print, screen and (max-width: 599px) {
.entry-title:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no2), .post .entry-title:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no2) {
  text-align: center;
  font-weight: 200;
  font-size: 1.5rem;
  margin:0 1rem 1rem 1rem;
  line-height: 1.25;
}

}



/* h5のデザイン */
.h5modoki, .post h5:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no):not(.st-matome):not(.rankh5):not(.point):not(.st-cardbox-t):not(.popular-t):not(.kanren-t):not(.popular-t):not(.post-card-title) {
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
  color:#0a1014;
}

.entry-content p{
  font-size: 16px;
  line-height: 2.0;
  font-weight: 200;
}


.entry-content img{
  width:100%;
}

.st-catgroup.itiran-category .catname .catname{
  padding: 0;
}

.catname {
  color:#0a1014;
  background-color: none;
  border-bottom: 1px solid #E3E3E3;
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
  letter-spacing: 0.05em;
}

#sb_instagram{
  margin-top:40px;
}

.has-fixed-layout {
  position: relative; /* テーブル全体のレイヤー位置を調整 */
  z-index: 0; /* デフォルトのレイヤーに戻す */
}

.has-fixed-layout thead {
  position: sticky; /* スクロール時に固定表示 */
  top: 0; /* ページのトップに固定 */
  z-index: 1; /* ヘッダー以下に配置 */
  background-color: #fff; /* 背景色を設定して視認性を向上 */
}

.site-header {
  position: relative; /* ヘッダーのレイヤーを明示的に設定 */
  z-index: 10; /* ヘッダーが常に上に表示されるように設定 */
}




@media screen and (min-width: 1000px) and (max-width: 1299px) {
  .single {
    max-width: 1200px; /* 親要素の幅を制限 */
    margin: 0 auto; /* 中央揃え */
    overflow-x: hidden; /* 横スクロールを防止 */
  }

  .single .entry-content {
    padding-left: 20px; /* 左側の余白 */
    padding-right: 20px; /* 右側の余白 */
    box-sizing: border-box; /* パディングを幅に含める */
    float: left; /* 左寄せで配置 */
  }

  .single .single-main-paragraph {
    max-width: 60%; /* テキストの幅をさらに狭める */
    margin: 0 auto; /* 中央揃え */
  }

  .single .side {
    max-width: 30%; /* サイドバーの幅を指定 */
    padding-left: 20px; /* 左側の余白 */
    padding-right: 20px; /* 右側の余白 */
    box-sizing: border-box; /* パディングを幅に含める */
    float: right; /* 右寄せで配置 */
  }

  .single .side img,
  .single .side iframe {
    max-width: 100%; /* 画像や埋め込み要素が親要素を超えない */
    height: auto; /* 高さを自動調整 */
    display: block; /* 表示をブロック要素に */
  }

  .single .side * {
    word-wrap: break-word; /* 長い単語やURLを折り返す */
    overflow-wrap: break-word; /* 長い単語を折り返す */
  }


  .single:after {
    content: "";
    display: block;
    clear: both; /* float解除 */
  }
  #side {
        padding: 0 20px 0 0;
    }
}




@media only screen and (min-width: 960px) {
    .st-content-width, #st-menuwide, nav.smanone, nav.st5, #st-header-cardlink, #st-menuwide div.menu, #st-menuwide nav.menu, #st-header, #st-header-under-widgets-box, #content, #footer-in {
        max-width: 1200px !important;
    }
}

@media screen and (max-width: 599px) {
  .entry-content .wp-block-image {
    margin-left: calc(-50vw + 50%); /* 画面端に合わせるために左マージンを調整 */
    margin-right: calc(-50vw + 50%); /* 画面端に合わせるために右マージンを調整 */
    width: 100vw; /* スマホ画面の幅いっぱいにする */
  }

  .entry-content .wp-block-image img {
    width: 100%; /* 画像が親要素いっぱいに広がるように設定 */
    height: auto; /* アスペクト比を維持 */
  }
}




/*singleページの横の関連記事と広告スペース
---------------------------------------------------------------------------------------------------*/
/* サイドバー */

.side-kanren{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  padding-bottom: 20px;
  border-bottom: 1px solid #000000;
}

#side aside ul li {
  display: flex;
  padding:20px 0;
  border-bottom: 1px solid #f6f6f6; 
}

#side aside ul li a{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-decoration: none;
}

#side aside ul li img{
  width: 20%;
  padding-right: 10px;
}

.contents-separate {
    display: flex;
    justify-content: space-between;
}

.single-main-paragraph{
  width:70%;
  padding:0 100px 0 0;
}

.post ul:not(.toc_list):not(.st_toc_list):not(.children):not(.slick-dots):not(.st-pvm-nav-list) {
    /* スタイル */
  　margin: 0; /* 例 */
    padding: 0; /* 例 */
}

.sidebar-ad {
  position: sticky;
  top: 100px;
  margin-top: 30px;
  text-align: center;
  z-index: 10; /* 他要素より前に出す */
}

.sidebar-ad img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}


.sidebar-ad a {
  display: block;
  width: 100%;
  height: auto;
}





@media only screen and  (max-width: 1000px) {
 .contents-separate {
     flex-direction: column;
  }

  .single-main-paragraph{
  width:100%;
  padding:0;
  }

  .single-zentai{
    margin:0 20px;
  }
}

@media only screen and (min-width: 600px) and (max-width: 999px) {
  .contents-separate {
    margin:0 100px;
  }
}


.mainbox {
    flex: 3;
}

.related-posts-list {
    list-style: none;
    padding: 0;
}

.related-post {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.related-post-thumbnail {
    margin-right: 20px;
}

.related-post-thumbnail img {
    max-width: 100%;
    height: auto;
}

.related-post-content a {
    text-decoration: none;
    color: #000;
}

.related-post-content a:hover {
    text-decoration: underline;
}






/*PCサイズ　共通wrapper
---------------------------------------------------------------------------------------------------*/
.contents-wrapper{

}

.first-about-wrap{
  padding:80px 0 80px 0;
  text-align: center;
  background-color: #f5f5f5;
}

.first-about-wrap p{
  padding:0 20px;
}

.main-a-c-btn{
  display: flex;
}




/*大画面対応
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 1700px){
  .home-contents-space{
    max-width:1600px;
    margin:0 auto;
  }
}



/*メインタイトル
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) and (max-width: 999px) {

}


/*メイン写真
---------------------------------------------------------------------------------------------------*/
.main-photo-contents-space {
  margin-top: 160px;
  }

.main-photo-contents-space ul {
     display: flex;
     justify-content: right;
  }

.main-photo-contents-space li {
    list-style: none;
  }

.main-photo-contents-space li:nth-child(2) {
    margin: 0 10px;
  }


@media only screen and (min-width: 600px) and (max-width: 999px) {
.main-photo-contents-space ul {
    display: flex;
    justify-content: flex-end;
    width: 80%;
    margin-left: auto;
  }　
}



/*experience１記事めレイアウト
---------------------------------------------------------------------------------------------------*/
.main-contents-clearfix{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.f_one_main {
  margin-right: 100px; /* 適切なマージンを設定 */
  width:100%;
  margin-left: calc(50% - 50vw);
}

.f_one_main img {
  width: 100%;
  height: auto; /* アスペクト比を維持するために height を auto に設定 */
  max-width: 100%; /* 親要素の幅より大きくならないようにする */
  display: block; /* インライン要素からブロック要素に変更 */
  margin: 0 auto; /* 中央に寄せる */
}

.f_two {
  flex: 0 0 30%; /* 右側の50%を占有 */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-left: 20px; /* 適切なパディングを設定 */
  border-top: 1px solid #e3e3e3; /* 上部のボーダーライン */
  border-bottom: 1px solid #e3e3e3; /* 下部のボーダーライン */
}

.f_two h3{
  margin-top: 40px;
}

.f_two p{
  font-size: 0.8em;
  letter-spacing: .1em;
  line-height: 2.2;
  text-decoration: none;
  margin-top: 28px;
}

.f_two a{
  text-decoration: none;
}

.border-none{
  border-top:hidden;
}

.experience-contents-clearfix{
  width:30%;
}

.photo-container {
  aspect-ratio: 1 / 1; /* 縦横比を4:5に設定 */
  overflow: hidden; /* アスペクト比を保つために必要 */
}

.photo-container img {
  width: 100%; /* 親要素に対して画像を100%に拡大表示 */
  height: 100%; /* 親要素に対して画像を100%に拡大表示 */
  object-fit: cover; /* アスペクト比を保ちつつ親要素にフィット */
}

.a-view{
  margin-bottom: 75px;
}

@media only screen and (min-width: 600px) and (max-width: 999px) {
.f_one_main {
  margin-right:60px;
}

.f_two{
  flex:0 0 35%;
}

}

@media only screen and (max-width: 599px) {
 .main-contents-clearfix{
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-left: calc(50% - 50vw);
  width:100vw;
 }

 .f_one_main {
    margin-left: auto;
}

.f_two{
  padding:0 20px;
  margin-top:0px;
  border-top:none;
  border-bottom:none;
}

.f_two h3 {
    padding-top: 40px;
    margin-top: 0;
    border-top: 1px solid #e3e3e3;
}

.a-view {
    margin: 40px  0;
}

.border-bottom{
  border-bottom: 1px solid #e3e3e3;
}


}




/*experience記事のサブレイアウト
---------------------------------------------------------------------------------------------------*/
.exp-area{
  margin-top:60px;
}

.sub-photo-container {
  aspect-ratio: 5 / 4; /* 縦横比を4:5に設定 */
  overflow: hidden; /* アスペクト比を保つために必要 */
}

.sub-photo-container img {
  width: 100%; /* 親要素に対して画像を100%に拡大表示 */
  height: 100%; /* 親要素に対して画像を100%に拡大表示 */
  object-fit: cover; /* アスペクト比を保ちつつ親要素にフィット */
}

@media only screen and (max-width: 599px) {
  .experience-contents-clearfix {
      width: 30%;
      flex: 0 0 70%;
      padding-right:20px;
  }
}



/*写真エリア２
---------------------------------------------------------------------------------------------------*/
.photo-contents-space2{
  margin-top: 200px;
  }

.photo-contents-space2 ul {
     display: flex;
     justify-content: left;
  }

.photo-contents-space2 li {
    list-style: none;
  }

.photo-contents-space2 li:nth-child(2) {
    margin: 0 10px;
  }


@media only screen and (max-width: 599px) {
   .photo-contents-space2{
    margin-top:80px;
   }

   .photo-contents-space2 ul {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      width: 100vw;
  }
   
   .photo-contents-space2 li:nth-child(2) {
      margin: 0 0 0 10px;
  }
}


/*写真エリア３
---------------------------------------------------------------------------------------------------*/

.photo-contents-space3 {
  margin-top: 20px;
  }

.photo-contents-space3 ul {
     display: flex;
     justify-content: flex-end;
     flex:1;
     width: 80%;
     margin-left:auto;
  }

.photo-contents-space3 li img {
  width: 100%; /* 画像を親要素に対して100%に拡大表示 */
  height: 100%; /* 画像を親要素に対して100%に拡大表示 */
  object-fit: cover; /* アスペクト比を保ちつつ親要素にフィット */
 }

.photo-contents-space3 li {
    list-style: none;
  }

.photo-contents-space3 li:nth-child(2) {
    margin: 0 10px;
  }

@media only screen and (max-width: 599px) {
   .photo-contents-space3{
    margin-top:10px;
   }

   .photo-contents-space3 ul {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      width: 100vw;
  }
   
   .photo-contents-space3 li:nth-child(2) {
      margin: 0 0 0 10px;
  }
}



/*workページ
---------------------------------------------------------------------------------------------------*/
 .work-title{
display: flex;
justify-content: space-between;
align-items: center;
margin-top:200px;
 }

  .work-title h3{
    font-size:4rem;
    font-family: didot;
    font-weight:200;
  }

  .work-title-line{
  border-bottom: 1px solid #e3e3e3;
}

.work-contents-space{
  margin-top:60px;
}

@media only screen and (max-width: 599px) {
 .work-title{
  margin-top:80px;
 }
}


/*写真エリア４
---------------------------------------------------------------------------------------------------*/
.photo-contents-space4 ul {
     display: flex;
     justify-content: flex-end;
     flex:1;
     width: 80%;
     margin-left:auto;
     margin-top:60px;
  }

.photo-contents-space4 li {
    list-style: none;
  }

.photo-contents-space4 li:nth-child(2) {
    margin: 0 10px;
  }

  .photo-contents-space4 img {
    width:100%;
  }

  @media only screen and (max-width: 599px) {
   .photo-contents-space4{
    margin-top:10px;
   }

   .photo-contents-space4 ul {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      width: 100vw;
  }
   
   .photo-contents-space4 li:nth-child(2) {
      margin: 0 0 0 10px;
  }
}


/*LEARNのコンテンツエリア（滑走文化・サイエンス・食など）
---------------------------------------------------------------------------------------------------*/
.learn-section{
  text-align: right;
  margin-top: 200px;
}

.learn-title h3{
  font-size:4rem;
  font-family: didot;
  font-weight:200;
}

.learn-contents-title{
 display: flex;
 justify-content: space-between;
 border-top: 1px solid #e3e3e3;
 padding-top:28px;
}

.arrow{
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 12px;
  letter-spacing: 1.2;
}
.arrow::before,
.arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

.yajirushi::after{
  left: 3px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #7a0;
  border-right: 1px solid #7a0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.title-name{
  font-family: "EB Garamond", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size:1.5rem;
  letter-spacing: 0.2em;
  margin-bottom: 15px;
}

.home-contents-space{
  margin-top:150px;
}

/*===========
.scroll-box
===========*/
.scroll-box {
  overflow-x: auto;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}


/*===========
.f_area
===========*/
.scroll-box .f_area {
  display: flex;
  justify-content: space-between;
}


.scroll-box .f_area .f_one{
  overflow: hidden;
  backface-visibility: hidden;
}

.contents-clearfix{
  width:35%;
}

.scroll-box .f_area .f_one a img {
  width: 100%;
  object-fit: cover;
  height:20vw;
  transform: scale(1);
  transition: .5s;
  display:block;
}

.scroll-box .f_area .f_one a img:hover {
  transform: scale(1.1);
}


    pre, p, .st-kaiwa-hukidashi, .st-kaiwa-hukidashi2, .yellowbox, 
    .graybox, .redbox, .post ul li, .post ol li, .post table tr td, 
    .st-tab-content label, table tr td {
      font-size:12px;
    }



@media screen and (max-width: 1800px) {
  .scroll-box {
    overflow-x: auto;
  }
  .scroll-box .f_area {
    justify-content: space-between;
    overflow-x: scroll;
    padding: 0 0 15px;
  }
  .scroll-box .f_area .f_one {
    flex: 0 0 100%;
  }
}

@media only screen and (min-width: 601px){
  .scroll-box .f_area .contents-clearfix {
    flex: 0 0 30%;
    padding-right:30px;
  }
}


@media screen and (max-width: 600px) {
  .scroll-box .f_area .contents-clearfix {
    flex: 0 0 70%;
    padding-right:20px;
  }

  .scroll-box .f_area .f_one a img {
    height:40vw;
  }

   .home-contents-space {
    margin-top: 60px;
 }

   .learn-section {
      margin-top: 80px;
  }

  .learn-contents-title{
    padding-top:12px;
  }


}

@media only screen and (min-width: 2000px){
  .scroll-box .f_area .f_one a img {
    height:15vw;
  }
}

@media only screen and (min-width: 600px) and (max-width: 999px) {
  .scroll-box .f_area .contents-clearfix {
    flex: 0 0 40%;
  }

  .scroll-box .f_area .f_one a img {
   height:30vw;
  }
}



/*写真エリア５
---------------------------------------------------------------------------------------------------*/
.ph5-photo-contents-space {
  margin-top: 80px;
  }

.ph5-photo-contents-space ul {
     display: flex;
     justify-content: flex-end;
     width:80%;
     margin-left: auto;
  }

.ph5-photo-contents-space li {
    list-style: none;
  }

.ph5-photo-contents-space li:nth-child(2) {
    margin: 0 10px;
  }

.ph5-photo-contents-space li img {
  width: 100%; /* 画像を親要素に対して100%に拡大表示 */
  height: auto; /* アスペクト比を維持 */
  object-fit: cover; /* アスペクト比を保ちつつ親要素にフィット */
}

@media only screen and (max-width: 599px) {
   .ph5-photo-contents-space{
    margin-top:80px;
   }

   .ph5-photo-contents-space ul {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      width: 100vw;
  }
   
   .ph5-photo-contents-space li:nth-child(2) {
      margin: 0 0 0 10px;
  }
}


/*写真エリア７
---------------------------------------------------------------------------------------------------*/
.ph7-photo-contents-space {
  margin-top: 60px;
  }

.ph7-photo-contents-space ul {
     display: flex;
     justify-content: right;
  }

.ph7-photo-contents-space li {
    list-style: none;
  }

.ph7-photo-contents-space li:nth-child(2) {
    margin: 0 10px;
  }

  .ph7-photo-contents-space li img{
    width:100%;
  }

@media only screen and (max-width: 599px) {
   .ph7-photo-contents-space{
    margin-top:80px;
   }

   .ph7-photo-contents-space ul {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      width: 100vw;
  }
   
   .ph7-photo-contents-space li:nth-child(2) {
      margin: 0 0 0 10px;
  }
}



  /*写真エリア８
---------------------------------------------------------------------------------------------------*/
.ph8-photo-contents-space {
  margin-top:20px;
  }

.ph8-photo-contents-space ul {
     display: flex;
     justify-content: right;
  }

.ph8-photo-contents-space li {
    list-style: none;
  }

.ph8-photo-contents-space li:nth-child(2) {
    margin: 0 10px;
  }

  .ph8-photo-contents-space li img{
    width:100%;
  }

@media only screen and (max-width: 599px) {
   .ph8-photo-contents-space{
    margin-top:20px;
   }

   .ph8-photo-contents-space ul {
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      width: 100vw;
  }
   
   .ph8-photo-contents-space li:nth-child(2) {
      margin: 0 0 0 10px;
  }

  .f-two{
    border-bottom:none;
  }

}



/*コンタクト
---------------------------------------------------------------------------------------------------*/
.service-contact-wrap{
  padding: 150px 0;
  margin-top:60px;
  border-top:1px solid #e3e3e3;
}

.service-contact-wrap h3{
  margin-bottom:40px !important;
  font-size: 4em;
  font-weight: normal;
  font-family: "didot", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


@media screen and (max-width: 600px) {
  .service-boxes{
   flex-flow: column;
 }

 .service-boxes div{
  width: 100%;
  margin-bottom: 80px;
}

.service-contact-wrap h3{
  margin-bottom:40px !important;
  font-size: 3em;
  font-weight: normal;
  font-family: "didot", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.service-contact-wrap p{
  margin-bottom: 20px;
}








/*tag一覧ページのレイアウト
---------------------------------------------------------------------------------------------------*/

.kanren .blog_info p span{
	font-size: 11px;
}
.pcone p span{
	color: #8EC8D4;
  font-size: 11px;
}

/*各投稿画面のCSS・カスタムCSSで付け足したもの　
---------------------------------------------------------------------------------------------------*/
/*後ほどCSSで修正*/
.token.keyword{
	padding:0;
}

/* リンクのホバー */
.link-hober {
	display: inline-block;
	transition: all .1s ease 0s;
	text-decoration: underline;
}
.link-hober :hover {
	cursor: pointer;
	color: #8EC8D4;
}

/* 目次デザイン */
#toc_container.no_bullets{
	background-color:white;
	border:solid;
	border-color:#0a1014;
	margin-bottom:5em;
}

#toc_container li a{
	color:#0a1014;
}

#st-page {
padding:30px;
box-shadow: 0 0 10px 1px rgba(0,0,0,0.05);
}

.st-cardbox{
border:none;
box-shadow: 0 0 10px 1px rgba(0,0,0,0.1);
}


.st-cardbox-t a{
text-decoration: none;
}

.st-card-excerpt{
text-decoration: none;
}

.st-mybox{
border:none;
box-shadow: 0 0 10px 1px rgba(0,0,0,0.1);
}

.post p.cardbox-more{
	display:none;
}

.rbox a span{
 color:#0a1014;
}

.rbox a span:hober{
 color:#8EC8D4;
}

/* カードのテキストの幅 */
.st-cardbox .clearfix dd h5, .post .st-cardbox .clearfix dd h5{
	color: #0a1014;
}

/* imgに影をつけたので、カードで被らないように余白調整  */
.st-cardbox .clearfix img{
	width: 90%;
}

/*CS固定ページのキーワード  */
.keyword{
	background-color: #F2F1F0;
	padding: 20px;
}





}

/*カードの部分がおかしくなるのでこちらで再調整  */
.st-cardbox .clearfix img{
	margin: 0;
	width: 100%;
}
}



/*リンクボックスを置き換えるが、まだ古いデザインは残ってるかもしれないので、下記は残しておく。  */
.link-box{
	border:none;
	box-shadow: 0 0 10px 1px rgba(0,0,0,0.1);
	display:flex;margin:30px
}
.link-box:hover{
	background-color:#f3f3f3;-webkit-transition:background-color .35s;
	transition:background-color .35s
}
.img-box{
	width:40%;
	float:left
}
.img-box div{
	min-height:100%;
	background-size:cover;
	background-position:center center
}
.text-box{
	width:75%;
	float:left;
	padding:20px;
	line-height:1.7;
	margin:0
}
.text-box .title{
	font-size:18px;
	font-weight:600;
	color:#428bca;
	padding:0;
	margin:0
}
.text-box .description{
	font-size:15px;
	color:#333;
	padding:0
}@media only screen and (max-width:479px){.img-box div{min-height:80px}.text-box{margin-left:10px;line-height:1.5}.text-box .title{font-size:13px;margin:0}.text-box .description{font-size:11px;margin-top:5px}}

@media screen and (min-width: 1000px) and (max-width: 1300px) {
  footer {
    position: relative; /* 通常のフローに従う */
    width: 100vw; /* ビューポート幅いっぱいに設定 */
    margin-left: calc(-50vw + 50%); /* コンテンツの中央位置を基準に幅を広げる */
    background-color: inherit; /* 背景色が親要素と一致するように */
  }
}



/*レイアウトデザイン終わり*/
/*media Queries スマートフォンとタブレットサイズ（959px以下）- スマホ・タブレット
---------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 959px) {
  /*基本のフォントサイズ*/
  pre,
  p, /* テキスト */
  .st-kaiwa-hukidashi, /* ふきだし */
  .st-kaiwa-hukidashi2, /* ふきだし */
  .yellowbox, /* 黄色ボックス */
  .graybox, /* グレーボックス */
  .redbox, /* 薄赤ボックス */
  .post ul li, /* ulリスト */
  .post ol li, /* olリスト */
  .st-tab-content label /* タブ */
   {
    font-size: 16px;
    line-height: 25px;
  }

  header {
		position: fixed;
		width: 100%; /*追加*/
		z-index:1000;
	}

	#headbox{
		display:flex;
		justify-content: space-around;
	}

	.header-parts{
		width:50%;
	}

	/*-- （959px以下）- スマホ・タブレット ヘッダーレフト --*/
	#header-left{
		margin-left: 10px;
	}
	#st-text-logo img{
		width:100px;
	}

	/*-- （959px以下）- スマホ・タブレット ヘッダーライト --*/
	#header-r{
		display:flex;
		flex-wrap: wrap;
		justify-content: flex-end;

	}
	#navArea{
		width:10vw;
	}

	#footer-wrap{
		flex-flow: column;
		height:auto;
		padding: 40px 6.25vw 40px 6.25vw;
	}

  @media only screen and (min-width: 1700px){
    .home-contents-space{
      max-width:1600px;
      margin:0 auto;
    }
  }

	.footer-logo{
		padding-left:0;
	}


	.footer-intro{
    padding-top:40px;
		padding-left:0;
		width:80vw;
    font-size: 14px;
	}

	.footer-intro span{
		font-size: 14px;
	}

  .footer-intro-about span{
    font-size: 14px;
  }

  .footer-intro-category ul li{
    font-size: 14px;
  }

  @media print, screen and (max-width: 599px) {
    .footer-intro-about span{
      font-size: 12px;
    }

    .footer-intro-category ul li{
      font-size: 12px;
    }
  }


	.footer-outro{
		width:30vw;
		padding-top:40px;
	}

	.footer-outro span{
		font-size: 14px;
	}

	.sns-wrap-footer{
		padding-top:10px;
		width:20vw;
	}

  .footer-intro-about{
    width:100%;
  }

  .sns-wrap-footer{
    padding-top:40px;
  }


	/*（959px以下）- スマホ・タブレット singleページスマホデザイン*/
	.st-post{
		padding-top:50px;
	}

	/*（959px以下）- スマホ・タブレット 関連記事スマホデザイン*/
	.kanren-flex{
		display:flex;
	  flex-flow: column;
		padding:0 20px;
		align-items: center;
		justify-content: center;
	}

  .kanren-flex-item a{
    text-decoration: none;
    font-size:14px;
  }

  .kanren-flex-item a:hover{
    text-decoration: underline;
  }



	.point{
		text-align: center;
	}


	/*（959px以下）タグページタブレットデザイン*/


	.itiran-flex-item{
		width:100%;
	}

	.itiran-flex-item a{
		font-size:14px;
	}

	.blog_info p{
		font-size: 10px;
	}

	.blog_info a{
		font-size: 10px;
	}

  .st-pagelink .page-numbers {
    margin:0;
  }

  .page-numbers.current{
    margin-right: 4px;
  }



  /*--（959px以下） enメインページの記事一覧デザイン --*/



  /*--（959px以下） en aboutページ--*/
  .en-intro{
    width:80%;
  }

  .en-intro p{
    font-size: 16px;
  }



	/*-- ここまで --*/
}

/*media Queries タブレットサイズ（600px～959px）のみで適応したいCSS -タブレットのみ
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) and (max-width: 959px) {

	/*-- タブレットサイズ（600px～959px）ヘッダーレフト --*/
	#st-text-logo img{
		width:120px;
	}

	/*-- タブレットサイズ（600px～959px）ヘッダーライト --*/

	.toggle_btn{　/*-- toggleボタンの位置調整 --*/
		top: 65px;
	}
	#navArea{/*-- toggleボタンの横スペースの調整 --*/
		width:10vw;
	}



	/*-- タブレットサイズ（600px～959px）　カテゴリーページ --*/
  .itiran-flex{
  	display: flex;
    width:100%;
  	justify-content: space-between;
  	flex-wrap: wrap;
  }

  .itiran-flex::before{
    width:calc(50% - 2%);
  }
  .itiran-flex::after{
  	width:calc(50% - 2%);
  }



  .itiran-flex-item img{
    object-fit: cover;
    height:180px;
  }


	/*-- ここまで --*/
}

/*media Queries タブレット（600px）以上で適応したいCSS -タブレット・PC
---------------------------------------------------------------------------------------------------*/
@media only screen and (min-width: 600px) {


	/*-- ここまで --*/
}

/*media Queries PCサイズ（960px）以上で適応したいCSS - PCのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (min-width: 960px) {


	/*-- ここまで --*/
}

/*media Queries スマホサイズ（599px）以下 - スマホのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (max-width: 599px) {
	/*-- 全体--*/



  .main-about-wrap{
  padding-right:0%;
  }


  .contents-wrapper{
    margin:40px 0 40px 0;
  }

  .main-about-wrap{
    margin:60px 0;
  }

  /*--（599px）以下 - スマホのみ　 メインページ共通タイトル --*/
	.contents-title{
		padding:28px 0;
    line-height: 1.3;
	}

  h2.has-st-regular-font-size, h2:not([class^="is-style-st-heading-custom-"]):not([class*=" is-style-st-heading-custom-"]):not(.st-css-no2), .h2modoki {
    line-height:35px;
    font-size: 1.5rem;
  }
  /*--（599px）以下 - スマホのみ　 メインページ共通文章 --*/
  .snowculture-items ul{
    padding:0 10px;
  }

  .snowculture-wrap{
    margin-bottom: 80px;
  }

  ul.snowculture-items{
    top:35%;
    margin-right:30px;
  }

  li.snowculture-item{
   list-style: none;
  }


  .en-contents-title{
    font-size:1.5rem;
  }


   .sub-title-black{
    font-size:1rem;
  }

  .sub-title-black2{
    font-size:0.95rem;
    padding:1rem 0 2rem 0;
  }


  .en-contents-title-black{
    font-size:1.2rem;
  }






  .see-more{
    margin-top:20px;
  }


	/*--（599px）以下 - スマホのみ　 ヘッダーライト --*/

	#navArea{
		width:15vw;
	}


  /*--（599px）以下 - スマホのみ　 メニューの中身 --*/
.content{
  padding:0;
  margin:0 0 40px 0;
  width:100%;
}

nav .inner{
  padding:25px 0;
}

.content p{
  font-size: 14px;
}


	/*--（599px）以下 - スマホのみ　 メインコンテンツ --*/
  /*-- メインページ en --*/


  /*-- enメインページデザイン --*/
  .en-first-main-title{
    font-size: 1.5rem;
    width:40%;
    text-align: left;
    top:40%;
  }



  .en-itiran-flex-item img{
    width:100%;
  }

  .en-itiran-flex-item a{
    font-size:14px;
  }

  .en-contents-title{
    padding-bottom:15px;
  }

  .post h6.has-st-regular-font-size, h6, .h6modoki, .post h6 {
  		line-height:1.5;
  }

  /*--写真を横いっぱいに広げてる--*/
  .snowculture-item img{
    width:100%;
    padding-bottom: 20px;
  }

  /*-- 4:6にしていたデザインを縦一列に変更。--*/
  .flex-width4{
    flex-basis:100%;
  }
  .flex-width6{
    flex-basis:100%;
  }

  p, .post h5{
    margin-bottom:0;
  }


	/*（599px）以下 - スマホのみ　メインのコンテンツ*/
	.main-contents1{
		padding:0;
	}

	.a2{
		font-size: 1.3rem;
		margin-bottom:20px;
	}

	.text-wrap p{ /*-- ホームページの pのサイズ --*/
		font-size:14px;
		line-height: 1.8em;
		padding:0 10px;
	}

	.main-contents2{
		padding:0 0 48px 0;
	}

	.main-contents3{
		padding:0 0 48px 0;
	}

	.main-contents4{
		padding:0 0 48px 0;
	}

/*-- （599px）以下　フッター --*/
	.footer-intro span{
		font-size:14px;
	}

	.intro2{
		padding-top:30px;
	}
	.footer-outro{
		width:60vw;
	}
	.footer-outro span{
		font-size:14px;
	}
	.sns-wrap-footer{
		width:80%;
	}

  /*（599px）以下 - スマホのみ　enメインページのview moreボタン*/
  .en-main-btn-wrap{
    text-align: center;
    margin:20px 0;
  }

  .en-main-btn-wrap{
    margin-bottom:80px;
  }

    /*--（599px）以下　 enメインページのボタンデザイン --*/
  .en-main-btn,
  a.en-main-btn,
  button.en-main-btn {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: white;
    border-radius: 0.5rem;
  }

  a.en-main-btn-border {
    border: 1px solid white;
    border-radius: 0;
  }

  a.en-main-btn-border:hover {
    color: black;
    background: white;
  }

    /*--（599px）以下　 enメインページのボタンデザイン --*/
    #sb_instagram{
      margin-top:40px;
    }

  /*-- （599px）以下 - スマホのみ　single page --*/
  .st-post{
    padding-top:0px;
  }

  h1 .entry-title{
    margin:0;
    padding:10px 10px 0 10px;
  }

  #toc_container.no_bullets{　/*-- singleの目次が横にはみ出ないように --*/
  width:0;
  }


  /*--（599px）以下 - スマホのみ　カテゴリー --*/
  .category .kanren:not(.st-cardbox) {
  	padding-top: 20px;
  	margin-top:0;
  }

  .itiran-flex{
    display:flex;
    flex-flow: column;
    padding:0 20px;
    align-items: center;
    justify-content: center;
  }

  /*-- （599px）以下　en aboutページ--*/
  .en-about-text-wrap p{
    padding-bottom:40px;
  }

	/*-- ここまで --*/
}

/*media Queries スマホサイズ（599px）以下 - スマホのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (max-width: 450px) {
  ul.snowculture-items{
    top:30%;
  }

  li.snowculture-item p{
    font-size:14px;
  }



}


/*media Queries スマホサイズ（330px）以下 - スマホのみ
---------------------------------------------------------------------------------------------------*/
@media print, screen and (max-width: 330px) {
  ul.snowculture-items{
    top:25%;
  }

  li.snowculture-item p{
    font-size:14px;
  }

}


/* ice and snow storyページ
---------------------------------------------------------------------------------------------------*/


.sn-main-home-contents-space{
  padding: 120px 0;
  position: relative;
}

/* ★ 修正箇所：ヒーロー内の文字に左右余白を追加（オレンジ.containerと同じ余白幅） */
.contents-wrapper .sn-hero .sn-container{
  max-width: none;
  margin: 0;
  padding-inline: clamp(16px, 4vw, 48px) !important;  /* ★この行を新規追加 */
}

/* Snow & Ice 固定ページ：見出しのフォントを Futura 系に */
.contents-wrapper .sn-hero .sn-hero__title-en {
  /* まずは Futura、なければ近いサンセリフへ */
  font-family: "Futura",
               "Avenir Next",
               "Helvetica Neue",
               system-ui,
               -apple-system,
               BlinkMacSystemFont,
               "Inter",
               sans-serif;

  font-weight: 500;          /* W5 相当 */
  text-transform: uppercase;

  /* 「前より横幅が狭い」を少し解消するために、文字を気持ち大きく＋わずかに広めに */
  font-size: clamp(40px, 10.5vw, 120px);
  letter-spacing: 0.015em;
  line-height: 0.9;

  margin: 0 0 clamp(16px, 3vw, 28px);
  word-break: keep-all;
}

/* 日本語サブタイトルも serif を食らわないようにしておく */
.contents-wrapper .sn-hero .sn-hero__title-ja {
  font-family: "Hiragino Kaku Gothic ProN W5",
               "Hiragino Kaku Gothic Pro W5",
               "Noto Sans JP",
               "Yu Gothic Medium",
               "YuGothic",
               Meiryo,
               sans-serif !important;
  font-weight: 500;
  letter-spacing: .02em;
  font-size: clamp(14px, 2.4vw, 24px);
  line-height: 3.8;
  margin: 0;
}

/* レイアウト調整：横のスペースを完全に削除（フルブリード配置） */
.contents-wrapper .sn-hero {
  background: #fff;
  color: #0a0a0a;
  padding: clamp(56px, 10vw, 112px) 0 clamp(32px, 6vw, 64px); /* ←左右0に */
  width: 100vw;                 /* ビューポート全幅に */
  margin-left: 50%;             /* 親中央基準 */
  transform: translateX(-50%);  /* 左へ戻してフルブリード化 */
}

/* 内側コンテナの制限解除（横幅いっぱいに） */
.contents-wrapper .sn-hero .sn-container {
  max-width: none;
  margin: 0;
  padding: 0;
}

/* ========== Snow & Ice: responsive fine-tuning ========== */

/* 大きい画面では堂々と、行間をやや締める */
@media (min-width: 1280px){
  .contents-wrapper .sn-hero{
    padding: clamp(64px, 8vw, 128px) 0 clamp(40px, 6vw, 80px);
  }
  .contents-wrapper .sn-hero .sn-hero__title-en{
    /* ★ ここだけ数値アップ */
    font-size: clamp(72px, 9vw, 136px);
    line-height: .88;
    letter-spacing: .01em;
    text-wrap: balance;
  }
}

/* ラップトップ帯：標準（既定の見栄えをキープ） */
@media (min-width: 960px) and (max-width: 1279.98px){
  .contents-wrapper .sn-hero .sn-hero__title-en{
    /* ★ ここも少しアップ */
    font-size: clamp(56px, 7.6vw, 120px);
    line-height: .9;
    letter-spacing: .01em;
    text-wrap: balance;
  }
}

/* タブレット：可読性優先で少しゆるめる・改行制御 */
@media (min-width: 640px) and (max-width: 959.98px){
  .contents-wrapper .sn-hero{
    padding: clamp(48px, 10vw, 80px) 0 clamp(28px, 8vw, 56px);
  }
  .contents-wrapper .sn-hero .sn-hero__title-en{
    font-size: clamp(36px, 9vw, 72px);
    line-height: .95;
    letter-spacing: .005em;
    text-wrap: pretty;
  }
  /* タブレット以下では <br> を一旦無効化して自然折りに（デザイン崩れ防止） */
  .contents-wrapper .sn-hero .sn-hero__title-en br{ display: none; }
}

/* スマホ：読みやすさ最優先。端ギリの圧迫感を軽減 */
@media (max-width: 639.98px){
  .contents-wrapper .sn-hero{
    /* 背景は端までのまま、上下だけ余白を増やす */
    padding: clamp(40px, 12vw, 64px) 0 clamp(24px, 10vw, 48px);
  }
  .contents-wrapper .sn-hero .sn-hero__title-en{
    font-size: clamp(28px, 11vw, 44px);
    line-height: 1.02;          /* 読みやすく少し広め */
    letter-spacing: 0;          /* 潰れ防止 */
    word-break: keep-all;
    overflow-wrap: anywhere;    /* 予期せぬはみ出し対策 */
    text-wrap: pretty;
  }
  .contents-wrapper .sn-hero .sn-hero__title-en br{ display: none; }  /* 自然折り */
  .contents-wrapper .sn-hero .sn-hero__title-ja{
    font-size: clamp(13px, 3.6vw, 18px);
    line-height: 2.2;           /* 3.8はモバイルだと間延びするので詰める */
    margin-top: .35em;
  }
}

/* きわどい環境で横スクロールが出ないよう保険 */
html, body{ overflow-x: clip; }

/* about-page-content の下に余白を確保 */
.about-page-content {
  margin-bottom: clamp(64px, 12vw, 160px);  /* ★ フッターとの距離を調整 */
}

/* 念のため、セクション区切り線との間も少し余白を */
.section-divider {
  margin-bottom: clamp(32px, 6vw, 80px);
}

/* ★ HOME 上部の slick スライダーを非表示にして高さを合わせる */
.full.slick-slider,
.full.slick-initialized {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

/* HOME：Experiences 見出しのスタイル（最優先で上書き） */
body.home .experience-heading h2.experience-title-en {
  background: none !important;

  /* 上左右 0、下だけ 12px（文字と線の間） */
  padding: 0 0 12px 0 !important;

  /* 上左右 0、下だけ 32px（線と記事ブロックの間） */
  margin: 0 0 32px 0 !important;

  border: none !important;
  box-shadow: none !important;
}

/* テーマ側の h2 飾り線・装飾も完全に無効化 */
body.home .experience-heading h2.experience-title-en::before,
body.home .experience-heading h2.experience-title-en::after {
  content: none !important;
}

/* HOME：Experiences セクション内の余白を詰める */
body.home .experience-wrapper .home-contents-space {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* HOME：Experiences セクション内のコンテンツ余白を詰める */
body.home .experience-wrapper > .container > .home-contents-space {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* 念のため、最初の大きいブロック自体にも余白があれば潰す */
body.home .experience-wrapper .main-contents-clearfix {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* HOME：Experiences 見出しすぐ下の線の余白を調整 */
body.home .experience-heading .section-divider {
  margin-top: 0 !important;        /* 上は 0（h2 の padding-bottom で調整済み） */
  margin-bottom: 16px !important;  /* 下をお好みで。24px でもOK */
}

/* h2 の下 padding を完全に消す（これが原因） */
body.home .experience-heading h2.experience-title-en,
body.home .experience-heading h2.experience-title-en.h2modoki {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* 線との距離は hr で調整（ここで美しく仕上げる） */
body.home .experience-heading .section-divider {
  margin-top: 4px !important;        /* 文字と線の距離を小さくする */
  margin-bottom: 24px !important;    /* 線と下の写真の距離 */
}

/* EXPERIENCES 見出しのタイポグラフィ調整 */
body.home .experience-heading h2.experience-title-en {
  color: #000000 !important;

  /* FUTURA を最優先、それが無ければ近い sans-serif を使う */
  font-family: "Futura", "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif !important;

  /* W5 → やや細めの bold と medium の中間（ブラウザ互換） */
  font-weight: 500 !important;

  /* 字間を少し詰める（美しいバランス） */
  letter-spacing: -0.02em !important;

  /* 既に上下の余白は制御済み */
  padding: 0 0 12px 0 !important;
  margin: 0 0 32px 0 !important;

  font-size: 40px !important;
  line-height: 1.1 !important; /* 少し詰め気味 */
}


/* EXPERIENCES：横線のあと、最初のブロックとの間に余白を追加 */
body.home .experience-wrapper .home-contents-space {
  margin-top: 48px !important;  /* おすすめ値 48〜64px */
}

/* ==========================================
   EXPERIENCE & WORK：VIEW ALL（共通デザイン）
   ─────────────────────────────
   ┌───────────────────────────────┐
   │ VIEW ALL                                         > │
   └───────────────────────────────┘
========================================== */

/* 外側：右端に寄せるためのラッパー */
.experience-view-all,
.work-view-all {
  width: 100%;
  text-align: right;          /* ボタン全体を右端に寄せる */
  margin: 48px 0 64px 0;      /* セクションとの距離はお好みで */
}

/* 内側：上下に線があり、左右に VIEW ALL と > がいるボックス */
.view-all-box {
  display: inline-flex;       /* 中身に合わせた横幅で横並び */
  align-items: center;
  justify-content: space-between;

  border-top: 1px solid #d8d8d8;
  border-bottom: 1px solid #d8d8d8;
  padding: 8px 0;

  min-width: 260px;           /* ボタンの横幅（お好みで 240〜320px） */

  text-decoration: none;
}

/* 左側の「VIEW ALL」 */
.view-all-label {
  font-family: system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #333;
}

/* 右端の「>」 */
.view-all-arrow {
  font-family: inherit;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #333;
}

/* ホバー時の軽いフィードバック */
.view-all-box:hover {
  opacity: 0.5;
  transition: opacity 0.25s ease;
}

/* ============================================
   HOME：WORK — EXPERIENCES と余白・レイアウトを統一
============================================ */

/* ★ WORK 見出し（FUTURA＋装飾リセット込み） */
body.home .work-heading h2.work-title-en {
  color: #000000 !important;
  font-family: "Futura", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 500 !important;
  font-size: 40px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;

  background: none !important;
  border: none !important;
  box-shadow: none !important;

  padding: 0 0 12px 0 !important;
  margin: 0 0 32px 0 !important;
}

/* ★ WORK タイトル直下の横線（EXPERIENCES と同じデザイン） */
body.home .work-heading .section-divider-work {
  margin-top: 4px !important;         /* タイトルとの距離 */
  margin-bottom: 32px !important;     /* 下コンテンツとの距離 */
  border: none !important;
  height: 1px;
  background-color: #d8d8d8 !important;
}

/* ★ セクション全体の上余白（EXPERIENCES と揃える） */
body.home .work-heading {
  margin: 160px 0 80px 0 !important;
  background: none !important;
}

/* ★ WORK のリスト部分の上余白（線のあと） */
body.home .work-contents-space {
  margin-top: 48px !important;
}

/* ★ 旧デザインの WORK 見出し（帯付き）を非表示 */
body.home .work-title.work-title-line {
  display: none !important;
}

/* ============================================
   HOME：TOPICS — EXPERIENCES / WORK と統一デザイン
============================================ */

/* HOME：TOPICS 見出し（右寄せ＋上に160px余白） */
body.home .topics-heading h2.topics-title-en {
  color: #000000 !important;
  font-family: "Futura", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 500 !important;
  font-size: 40px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;

  margin: 160px 0 0 0 !important;   /* 上だけ 160px */
  padding: 0 0 12px 0 !important;

  text-align: right !important;     /* 右寄せ */
}

/* ★ 旧 learn-title ボックスのデフォルト装飾を消す */
body.home .learn-title,
body.home .learn-section {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 見出しブロック全体から背景を消す */
body.home .topics-heading,
body.home .topics-heading .learn-title,
body.home .topics-heading .learn-section,
body.home .topics-heading h2.topics-title-en {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* h2 がテーマの「h2modoki」扱いを受けている場合があるのでリセット */
body.home h2.topics-title-en.h2modoki {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* h2 にテーマが付与した飾り線も完全消去 */
body.home h2.topics-title-en::before,
body.home h2.topics-title-en::after,
body.home h2.topics-title-en.h2modoki::before,
body.home h2.topics-title-en.h2modoki::after {
  content: none !important;
  border: none !important;
  background: none !important;
}

/* TOPICS タイトル直下の横線は使わないので完全OFF */
body.home .topics-heading .section-divider-topics,
body.home .learn-section .section-divider-topics {
  display: none !important;
  border: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-template-page-snowstory .sn-hero__title-en {
  font-family: "Futura", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-weight: 500 !important;
  font-size: clamp(40px, 6vw, 80px) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
  margin: 0 0 40px 0 !important;
}

/* ============================================
   SNOWSTORY ヒーロー最終調整（FUTURA＋少し小さめ）
============================================ */

/* ベース：PC〜ラップトップ用（今の改行パターンを基準に） */
body.page-template-page-snowstory h1.sn-hero__title-en {
  font-family: "Futura",
               "Avenir Next",
               "Helvetica Neue",
               system-ui,
               -apple-system,
               BlinkMacSystemFont,
               "Inter",
               sans-serif !important;
  font-weight: 500 !important;

  /* さっきより一回り小さい */
  font-size: clamp(56px, 7.2vw, 120px) !important;
  line-height: 0.9 !important;
  letter-spacing: 0.01em !important;

  margin: 0 0 40px 0 !important;

  /* 余計な帯・枠線は消す */
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* テーマの before/after の飾りを完全OFF */
body.page-template-page-snowstory h1.sn-hero__title-en::before,
body.page-template-page-snowstory h1.sn-hero__title-en::after {
  content: none !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* =======================
   レスポンシブ調整
======================= */

/* タブレット帯：少しだけ縮小して比率キープ */
@media (max-width: 959.98px) {
  body.page-template-page-snowstory h1.sn-hero__title-en {
    font-size: clamp(38px, 7.4vw, 64px) !important;
    line-height: 0.96 !important;
    letter-spacing: 0.01em !important;
  }

  /* 以前の「br を消す」ルールを打ち消して、今の改行を維持 */
  body.page-template-page-snowstory h1.sn-hero__title-en br {
    display: inline !important;
  }
}

/* スマホ帯：さらに小さくして、でも4行構成は維持 */
@media (max-width: 639.98px) {
  body.page-template-page-snowstory h1.sn-hero__title-en {
    font-size: clamp(28px, 9vw, 40px) !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
  }

  body.page-template-page-snowstory h1.sn-hero__title-en br {
    display: inline !important;  /* スマホでも同じ改行パターンを強制 */
  }
}