@charset "UTF-8";
/* ベーススタイル  ------------------------- */
*,
*::before,
*::after {
 margin:0;
 padding:0;
 box-sizing:border-box;
}

html:focus-within {
 scroll-behavior:smooth;
}

body {
 min-height:100vh;
 line-height:1.5;

 text-rendering:optimizeSpeed;
}

img,
picture,
video,
canvas,
svg {
 display:block;
 width:100%;
 max-width:100%;
 height:auto;
}

input,
button,
textarea,
select {
 font:inherit;
}

ul,
ol {
 list-style:none;
}

a {
 color:inherit;
 text-decoration:none;
}

table {
 border-collapse:collapse;
 border-spacing:0;
}

fieldset,
legend {
 margin:0;
 padding:0;
 border:0;
}

button {
 padding:0;
 border:none;
 background:none;
 cursor:pointer;
}

/* Scrollbar Styles */
::-webkit-scrollbar {
 width:8px;
 height:8px;
}

::-webkit-scrollbar-track {
 background:#f1f1f1;
}

::-webkit-scrollbar-thumb {
 border-radius:4px;
 background:#c1c1c1;
}
::-webkit-scrollbar-thumb:hover {
 background:#a8a8a8;
}

@media screen and (max-width: 1420px) {
 [id^=a_] {
  scroll-margin-top:54px;
 }
}

main {
 flex:1;
 position:relative;
 width:100%;
 max-width:1100px;
 margin:0 auto;
 margin-top:64px;
 padding:0;
 background-color:white;
}
@media screen and (max-width: 428px) {
 main {
  min-height:calc(100vh - 48px - 56px);
  margin-top:48px;
  padding:0;
 }
}
@media screen and (max-width: 375px) {
 main {
  min-height:calc(100vh - 48px - 52px);
 }
}

/* ベーススタイル ここまで ------------------------- */
/* メインコンテンツ ------------------------- */
/* メインコンテンツ ここまで------------------------- */
/* snsリンク -------------------------*/
/* SNS Styles */
/* SNSアイコンを追加、もしくはサイズ変更時にここを調整 */
.sns {
 position:absolute;
 top:0;
 right:calc(-1 * (var(--sns-icon-width) + var(--sns-left-space)));
 height:100%;

 --sns-icon-width:48px;
 --sns-left-space:8px;
 --sns-button-group-height:96px;
 --sns-button-group-bottom-space:16px;
}
.sns.hide {
 transform:translateY(100%);
}

.sns__button-group {
 position:sticky;
 top:calc(100svh - var(--sns-button-group-height) - var(--sns-button-group-bottom-space));
}

.sns__icons {
 display:flex;
 flex-direction:column;
}

.sns__image-wrapper {
 width:48px;
 cursor:pointer;
}

.sns__image-logo {
 display:none;
}

/* SNSボタン表示切替 */
/* コンテンツ幅を変えたらmax-widthを調整 */
@media screen and (max-width: 1250px) {
 .sns {
  position:fixed;
  top:unset;
  right:0;
  bottom:0;
  width:100%;
  height:auto;
  padding:1rem 1.5rem 1.5rem;
  background-color:#ffffff;
  transition:transform .2s ease;
 }
 .sns .sns__button-group {
  display:flex;
  justify-content:space-between;
 }
 .sns .sns__image-logo {
  display:block;
  width:128px;
 }
 .sns .sns__icons {
  display:flex;
  flex-direction:row;
  align-items:center;

  gap:.5rem;
 }
 .sns .sns__image-wrapper {
  width:36px;
 }
}
/* SNSリンク ここまで------------------------- */
/**** lity ****/
.lity-content {
 padding:4% 3%;
 background-color:#ffffff;
}

.lity-image img {
 height:80vh;
 max-height:100%;

 -o-object-fit:contain;
    object-fit:contain;
}

@media (max-width: 769px) {
 .lity-image img {
  height:auto;
 }
}
.lity {
 background:#000000b5;

 -webkit-backdrop-filter:blur(3px);
         backdrop-filter:blur(3px);
}

[data-lity] {
 cursor:pointer;
}

[data-lity]:hover {
 opacity:.5;
 transition:.3s;
}

/* --- lightbox ------------------------------ */
.lightboxOverlay {
 background-color:#000000b5;

 -webkit-backdrop-filter:blur(3px);
         backdrop-filter:blur(3px);
}

/* --- スクロールロック ---------------------- */
html:has(.lity-opened) {
 overflow:hidden;
 background-color:#000000;

 scrollbar-gutter:stable;
}

/* ///// variable ///////////////////////////////// */
@font-face {
 font-style:normal;
 font-weight:400;
 font-family:"LINESeedJP";

 src:url("../font/LINESeedTW_OTF_Rg.woff");
}
@font-face {
 font-style:bold;
 font-weight:600;
 font-family:"LINESeedJP";

 src:url("../font/LINESeedTW_OTF_Bd.woff");
}
@font-face {
 font-style:eb;
 font-weight:900;
 font-family:"LINESeedJP";

 src:url("../font/LINESeedTW_OTF_Eb.woff");
}
:root {
 --font-base:"LINESeedJP", sans-serif;
}

/* ///// layout /////////////////////////////////  ****/
:root {
 --bg-01:#ffffff;
 --bg-02:#ebebeb;
}

body {
 width:100%;
 background-image:linear-gradient(45deg, var(--bg-01) 0%, var(--bg-01) 25%, var(--bg-02) 25%, var(--bg-02) 50%, var(--bg-01) 50%, var(--bg-01) 75%, var(--bg-02) 75%, var(--bg-02) 100%);
 background-size:10px 10px;
 background-color:var(--bg);
}

main {
 background-color:var(--bg-main);
}

/* main :where(*) {
 font-weight:900;
 font-size:clamp(16px, 2.1vw, 24px);
 line-height:1.4;
 font-family:var(--font-base);
 letter-spacing:.05rem;
} */

main {
 position:relative;
 width:min(100%, 1000px);
}

.t-content {
 display:flex;
 flex-direction:column;
 align-items:center;

 padding-block:1.88rem;
 padding-inline:.63rem;
}
@media (min-width: 769px) {
 .t-content {
  padding-block:3.56rem;
  padding-inline:6.88rem;
 }
}

a {
 cursor:pointer;
}

a:hover {
 opacity:.5;
 transition:.3s;
}

/* ==================================================
pic
================================================== */
.t-pic-middle {
 width:40%;
}
@media (min-width: 769px) {
 .t-pic-middle {
  width:50%;
 }
}

/* ///// responsive ///////////////////////////////// */
.sp {
 display:none;
}

.pc {
 display:block;
}

.br_pc {
 display:block;
}

@media (max-width: 769px) {
 .sp {
  display:block;
 }
 .pc {
  display:none;
 }
 .br {
  display:block;
 }
 .br_pc {
  display:none;
 }
}