/*　リセット設定　*/
*, *::before, *::after { margin: 0; /* マージンは0に */ padding: 0; /* パディングも常に0に */ box-sizing: border-box; /* もちろん、より直感的なbox-sizingに設定 */ }
:where([hidden]:not([hidden='until-found'])) { display: none !important; /* hiddenは非表示を意味します */ }
:where(html) { -webkit-text-size-adjust: none; /* iOSのランドスケープでテキストが調整されないようにする */ color-scheme: dark light; /* ユーザーがダークテーマを好む場合、自動的にダークテーマになる */ }
@supports not (min-block-size: 100dvb) { :where(html) { block-size: 100%; } }
@media (prefers-reduced-motion: no-preference) { :where(html:focus-within) { scroll-behavior: smooth; /* 何かにフォーカスがある場合のみスムーズスクロール */ } }
:where(body) { block-size: 100%; /* サファリ以外のブラウザのフォールバック */ block-size: 100dvb; /* 1dvbは動的ビューポートの長さの1%、100dvbで高さいっぱいに */ line-height: 1.5; /* アクセシブルな行の高さ */ font-family: system-ui, sans-serif; /* timeの代わりにシステムフォントを使用 */ -webkit-font-smoothing: antialiased; /* テキストのレンダリングを改善 */ }
:where(input, button, textarea, select) { font: inherit; /* フォーム コントロールは親フォントを継承 */ color: inherit; /* カラーも継承 */ }
:where(textarea) { resize: vertical; /* テキストエリアの水平リサイズを無効に */ resize: block; }
:where(button, label, select, summary, [role='button'], [role='option']) { cursor: pointer; /* インタラクティブなものにカーソルを合わせる */ }
:where(:disabled) { cursor: not-allowed; /* フォームコントロール無効時のカーソルを許可しない */ }
:where(label:has(> input:disabled), label:has(+ input:disabled)) { cursor: not-allowed; /* ラベルにもカーソルを許可しない */ }
:where(button) { border-style: solid; /* ボタンのボーダーのスタイルを設定しやすくする */ }
:where(a) { text-underline-offset: 0.2ex; /* 下線の上にスペースを追加する */ }
:where(ul, ol) { list-style: none; /* ビュレットを削除、必要に応じて手動で追加する */ }
:where(img, svg, video, canvas, audio, iframe, embed, object) { display: block; /* 置換された要素をより予測可能にする */ }
:where(img, picture, svg) { max-inline-size: 100%; /* images should never overflow past the available space */ block-size: auto; /* アスペクト比を保持 */ }
:where(p, h1, h2, h3, h4, h5, h6) { overflow-wrap: break-word; /* 長い単語は改行 */ }
:where(h1, h2, h3) { line-height: calc(1em + 0.5rem); /* 見出しの行の高さを減らす */ }
:where(hr) { /* より一貫性のある、スタイリッシュなhr */ border: none; border-block-start: 1px solid; color: inherit; block-size: 0; overflow: visible; }
:where(:focus-visible) { /* より一貫性のある、カスタマイズ可能なフォーカスのアウトライン */ outline: 2px solid var(--focus-color, Highlight); outline-offset: 2px; }
/* .visually-hiddenは後のカスケードレイヤーを上書きするために!importantを使用 */
:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) { clip-path: inset(50%) !important; height: 1px !important; width: 1px !important; overflow: hidden !important; position: absolute !important; white-space: nowrap !important; border: 0 !important; }


/*　フォント設定　*/
body { font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック", YuGothic, sans-serif; color: #333; font-size: 16px; line-height: 1.4; }


/*　基本設定　*/
body { background: #FFF; }

a { color: #0074BD; text-decoration: none; transition: color 0.3s; }


/*　パンくず設定　*/
.breadclumb { background-color: #FAFAFA; padding: .5rem; font-size: .825em; overflow-x: scroll; }
.breadclumb ul { width: 100%; margin: 0 auto; white-space: nowrap; }
.breadclumb ul li { display: inline; position: relative; padding-right: 1em; }
.breadclumb ul li:after { position: absolute; right: -.4em; top: 0; content: ""; display: block; width: 1rem; height: 1rem; transform: rotate(-90deg); margin: 0 0.3rem; background: url(https://img2.tour.l-tike.com/image/common/pc/icon_arrow_gray.svg) no-repeat center transparent; background-size: contain; }
.breadclumb ul li.last { padding-right: 0; }
.breadclumb ul li.last:after { content: none; }



/*content*/

#sp-campaign .mainvisual_wrap{
background-image:url("../img/mainvisual_bg.png");
background-position:50% 50%;
background-size:cover;
padding:2em 0;
}
#sp-campaign .mainvisual{
display: block;
margin: 0 auto;
max-width:600px;
width:100%;
}
#sp-campaign .contents_wrap{
max-width:1200px;
width:100%;
margin: 0 auto;
font-size: 1.3em;
}
#sp-campaign .contents_wrap .inner{
padding:32px 16px;
}
#sp-campaign .contents_wrap .maincopy{
font-size:1.875em;
font-weight:bold;
margin-bottom:.5em;
}
#sp-campaign .contents_wrap .maincopy span{
font-size:0.75em;
}

.u-for-pc {
  display: none;
}
.u-for-sp {
  display: block;
}
@media screen and (min-width: 48.0625em) {
  .u-for-pc {
    display: inline-block;
  }
}
@media screen and (min-width: 48.0625em) {
  .u-for-sp {
    display: none;
  }
}

.textImg img{
width:100%;
}
#sp-campaign .backcolorWrap{
background-color: #CBE4FF;
box-shadow:1px 1px 3px 0px rgba(0,0,0,0.5);
padding:32px;
border-radius:10px;
margin-bottom:48px;
}
#sp-campaign .backcolorWrap h2{
font-size: 2em;
text-align: center;
padding: .5em 0;
}
#sp-campaign .gridcontent_wrap2{
display:grid;
grid-gap:24px;
margin-bottom:1em;
}
#sp-campaign .gridcontent_wrap2 .gridcontent{
background-color:#FFF;
border-radius:6px;
overflow:hidden;
}
#sp-campaign .gridcontent_wrap2 .gridcontent h3{
background-color:#0074BD;
color:#FFF;
text-align: left;
display:block;
font-size:1.5em;
padding:0.5em;
}
#sp-campaign .gridcontent_wrap2 .gridcontent .textImg{
padding:24px 16px;
text-align:left;
}

#sp-campaign .normal_h2{
font-size:2.25em;
}
#sp-campaign .gridcontent_wrap4{
display: grid;
grid-gap: 16px;
padding: 0;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
margin-bottom: 32px;
}
#sp-campaign .gridcontent_wrap4 .gridList{
box-shadow: 1px 1px 4px rgb(0 0 0 / 30%);
border-radius: 4px;
overflow: hidden;
position: relative;
}
#sp-campaign .gridcontent_wrap4 .gridList a, #sp-campaign .gridcontent_wrap4 .gridList a img{
display: block;
text-decoration: none;
}
#sp-campaign .gridcontent_wrap4 .gridList .adjustImg {
position: relative;
width: 100%;
height: auto;
display: block;
}
#sp-campaign .gridcontent_wrap4 .gridList .adjustImg:before {
content: "";
display: block;
padding-top: 100%;
}
#sp-campaign .gridcontent_wrap4 .gridList .adjustImg_inner {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: block;
}
#sp-campaign .gridcontent_wrap4 .gridList .adjustImg_inner img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
text-decoration: none;
}
#sp-campaign .gridcontent_wrap4 .gridList .adjustImg .overlayText {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.4);
color: #FFF;
display: flex;
flex-wrap: wrap;
align-items: center;
align-content: center;
font-size: 14px;
border-radius: 4px;
padding: 1.5em 1em;
}
#sp-campaign .gridcontent_wrap4 .gridList .adjustImg .overlayText .max {
  display: block;
  width: 100%;
  font-size: 1.875em;
  text-align: center;
  font-weight: bold;
}
#sp-campaign .gridcontent_wrap4 .gridList .adjustImg .overlayText span {
  text-shadow: 0 0 1px rgb(0 0 0 / 70%);
  line-height: 1.3;
}
#sp-campaign .role{
border-collapse:separate;
border-radius:10px;
border: 1px solid #CCC;
width:100%;
margin-bottom: 80px;
overflow: hidden;
}
#sp-campaign .role th,#sp-campaign .role td{
padding: 16px;
text-align:left;
font-weight:normal
}
#sp-campaign .role th{
border-bottom: 1px solid #CCC;
border-right: 1px solid #CCC;
width:21%;
}
#sp-campaign .role td{
border-bottom: 1px solid #CCC;
}
#sp-campaign .role tr:last-child th,#sp-campaign .role tr:last-child td{
border-bottom: none;
}
#sp-campaign .role ul{
margin-left: 1em;
}

@media screen and (max-width: 1200px) {
#sp-campaign .gridcontent_wrap4 .gridList .adjustImg .overlayText .max {font-size: 2vw;}
#sp-campaign .contents_wrap .maincopy{font-size:3.2vw;}
#sp-campaign .contents_wrap .inner{padding:32px;}
#sp-campaign .gridcontent_wrap .gridcontent h2,#sp-campaign .gridcontent_wrap2 .gridcontent h3{font-size:2vw; }
}

@media screen and (max-width: 955px) {
#sp-campaign .backcolorWrap h2{font-size:1.5em;padding: 0 0 .5em;}
}

@media screen and (max-width: 834px) {
#sp-campaign .contents_wrap{font-size:1.25em;}
#sp-campaign .gridcontent_wrap,#sp-campaign .gridcontent_wrap2,#sp-campaign .gridcontent_wrap4,#sp-campaign .gridcontent_wrap5{grid-gap:16px;}
#sp-campaign .gridcontent_wrap{margin-bottom:16px;}
#sp-campaign .gridcontent_wrap4 .gridList .adjustImg .overlayText .max {font-size: 2.5vw;}
#sp-campaign .normal_h2{font-size:2em;}
}
@media screen and (max-width: 666px) {
#sp-campaign .contents_wrap .inner{padding:16px;}
#sp-campaign .contents_wrap .maincopy{font-size:1.6em;}
#sp-campaign .gridcontent_wrap2 .gridcontent h3{padding:0.2em 0.5em;}
#sp-campaign .gridcontent_wrap,#sp-campaign .gridcontent_wrap2,#sp-campaign .gridcontent_wrap5{grid-template-columns:1fr;}
#sp-campaign .gridcontent_wrap2 .gridcontent.colspan2{grid-column:1/1;}
#sp-campaign .backcolorWrap{padding:16px;}
#sp-campaign .gridcontent_wrap2 .gridcontent.colspan2 .textImg{padding:24px 16px 16px 16px;}
#sp-campaign .gridcontent_wrap .gridcontent h2,#sp-campaign .gridcontent_wrap2 .gridcontent h3{font-size:1.4em; }
#sp-campaign .gridcontent_wrap4{grid-template-columns:1fr 1fr;}
#sp-campaign .gridcontent_wrap4 .gridList .adjustImg .overlayText .max{font-size:5vw;}
#sp-campaign .role th,#sp-campaign .role td{display:block;}
#sp-campaign .role th{width:100%;border-right:none;padding:16px 16px 4px 16px;background-color: #D5EFFF;border-top-left-radius: 10px;
border-top-right-radius: 10px;}
#sp-campaign .role tr:last-child th{border-bottom:1px solid #CCCCCC;}
#sp-campaign .gridcontent_wrap2 .gridcontent{
margin-bottom: 1em;}
}

@media screen and (max-width: 640px) {
    body {font-size: 14px;}
}
