@charset "utf-8";

/*-----------------------------------------------------------------------------------

Parts（使いまわすもの）

-----------------------------------------------------------------------------------*/
:root {
  --white01: #FFFFFF;
  --black01: #333333;
  --leading-trim: calc((1em - 1lh) / 2);
}

/*===== 英文のハーフ・レディングを打ち消す =====*/
:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
}

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } /* スマートフォン横向き時の意図しない文字サイズの自動調整を防ぐ */
body { counter-reset: number 0; }
img { max-width: 100%; height: auto; vertical-align: middle; font-style: italic; background-repeat: no-repeat; background-size: cover; shape-margin: 0.75rem; }
:where(button, [type='button'], [type='reset'], [type='submit']) { touch-action: manipulation; } /* iOSでのボタンの拡大ズームを防ぐ */
:focus:not(:focus-visible) { outline: none; } /* キーボード操作時のフォーカスリングを維持しつつ、クリック時やタップ時のフォーカスリングを抑える */

* {
  box-sizing: border-box;
  word-break: break-all;
}

/*===================================================================================
デバイス（Device）
===================================================================================*/
.sp-only { display: block !important; }
.pc-only { display: none !important; }
@media screen and (min-width: 600px) {
  .sp-only { display: none !important; }
  .pc-only { display: block !important; }
}

/*===================================================================================
通常レイアウト
===================================================================================*/
.d-block { display: block; }
.d-inline { display: inline; }
.d-inline-block { display: inline-block; }
.d-contents { display: contents; }
@media screen and (min-width: 600px) {
  .pc_d-block { display: block; }
}
@media screen and (max-width: 599px) {
  .sp_d-block { display: block; }
}

/*===================================================================================
グリッドレイアウト（Grid Layout）
===================================================================================*/
.d-grid { display: grid; }
.gtc-fill-360px-1fr { grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr)); }
.gtc-1clm { grid-template-columns: 1fr; }
.gtc-2clm { grid-template-columns: repeat(2, 1fr); }
.gtc-3clm { grid-template-columns: repeat(3, 1fr); }
.gtc-4clm { grid-template-columns: repeat(4, 1fr); }
.g-ac-center { align-content: center; }
.g-ac-sp-between { align-content: space-between; }
.g-ac-sp-around { align-content: space-around; }
.g-ac-sp-evenly { align-content: space-evenly; }
.g-ac-stretch { align-content: stretch; }
.g-jc-center { justify-content: center; }
.g-jc-start { justify-content: start; }
.g-jc-end { justify-content: end; }
.g-jc-between { justify-content: space-between; }
.g-jc-around { justify-content: space-around; }
.g-jc-evenly { justify-content: space-evenly; }
.g-ai-center { align-items: center; }
.g-ai-start { align-items: start; }
.g-ai-end { align-items: end; }
.g-ai-stretch { align-items: stretch; }
.g-ai-baseline { align-items: baseline; }
.g-ji-center { justify-items: center; }
.g-ji-start { justify-items: start; }
.g-ji-end { justify-items: end; }
.g-ji-stretch { justify-items: stretch; }
.g-pc-center { place-content: center; }
.g-pi-center { place-items: center; }
.g-gtr-subgrid { grid-template-rows: subgrid; }
.g-row-span1 { grid-row: span 1; }
.g-row-span2 { grid-row: span 2; }
.g-row-span3 { grid-row: span 3; }
.g-row-span4 { grid-row: span 4; }
.g-row-span5 { grid-row: span 5; }
.g-row-span6 { grid-row: span 6; }
.g-row-span7 { grid-row: span 7; }
.g-row-span8 { grid-row: span 8; }
.g-row-span9 { grid-row: span 9; }
.g-row-span10 { grid-row: span 10; }
.g-gap10px { gap: 10px; }
.g-gap20px { gap: 20px; }
.g-gap30px { gap: 30px; }
.g-gap40px { gap: 40px; }
.g-gap50px { gap: 50px; }
.g-gap60px { gap: 60px; }
.g-gap70px { gap: 70px; }
.g-gap80px { gap: 80px; }
.g-gap90px { gap: 90px; }
.g-gap100px { gap: 100px; }
.g-clm-gap10px { column-gap: 10px; }
.g-clm-gap20px { column-gap: 20px; }
.g-clm-gap30px { column-gap: 30px; }
.g-clm-gap40px { column-gap: 40px; }
.g-clm-gap50px { column-gap: 50px; }
.g-clm-gap60px { column-gap: 60px; }
.g-clm-gap70px { column-gap: 70px; }
.g-clm-gap80px { column-gap: 80px; }
.g-clm-gap90px { column-gap: 90px; }
.g-clm-gap100px { column-gap: 100px; }
.g-row-gap10px { row-gap: 10px; }
.g-row-gap20px { row-gap: 20px; }
.g-row-gap30px { row-gap: 30px; }
.g-row-gap40px { row-gap: 40px; }
.g-row-gap50px { row-gap: 50px; }
.g-row-gap60px { row-gap: 60px; }
.g-row-gap70px { row-gap: 70px; }
.g-row-gap80px { row-gap: 80px; }
.g-row-gap90px { row-gap: 90px; }
.g-row-gap100px { row-gap: 100px; }
.g-order1 { order: 1; }
.g-order2 { order: 2; }
.g-order3 { order: 3; }
.g-order4 { order: 4; }
.g-order5 { order: 5; }
.g-order6 { order: 6; }
@media screen and (min-width: 600px) {
  .pc_d-grid { display: grid; }
  .pc_gtc-2clm { grid-template-columns: repeat(2, 1fr); }
  .pc_gtc-3clm { grid-template-columns: repeat(3, 1fr); }
  .pc_gtc-4clm { grid-template-columns: repeat(4, 1fr); }
  .pc_g-gap10px { gap: 10px; }
  .pc_g-gap20px { gap: 20px; }
  .pc_g-gap30px { gap: 30px; }
  .pc_g-gap40px { gap: 40px; }
  .pc_g-gap50px { gap: 50px; }
  .pc_g-gap60px { gap: 60px; }
  .pc_g-gap70px { gap: 70px; }
  .pc_g-gap80px { gap: 80px; }
  .pc_g-gap90px { gap: 90px; }
  .pc_g-gap100px { gap: 100px; }
  .pc_g-clm-gap10px { column-gap: 10px; }
  .pc_g-clm-gap20px { column-gap: 20px; }
  .pc_g-clm-gap30px { column-gap: 30px; }
  .pc_g-clm-gap40px { column-gap: 40px; }
  .pc_g-clm-gap50px { column-gap: 50px; }
  .pc_g-clm-gap60px { column-gap: 60px; }
  .pc_g-clm-gap70px { column-gap: 70px; }
  .pc_g-clm-gap80px { column-gap: 80px; }
  .pc_g-clm-gap90px { column-gap: 90px; }
  .pc_g-clm-gap100px { column-gap: 100px; }
  .pc_g-row-gap10px { row-gap: 10px; }
  .pc_g-row-gap20px { row-gap: 20px; }
  .pc_g-row-gap30px { row-gap: 30px; }
  .pc_g-row-gap40px { row-gap: 40px; }
  .pc_g-row-gap50px { row-gap: 50px; }
  .pc_g-row-gap60px { row-gap: 60px; }
  .pc_g-row-gap70px { row-gap: 70px; }
  .pc_g-row-gap80px { row-gap: 80px; }
  .pc_g-row-gap90px { row-gap: 90px; }
  .pc_g-row-gap100px { row-gap: 100px; }
  .pc_g-order1 { order: 1; }
  .pc_g-order2 { order: 2; }
  .pc_g-order3 { order: 3; }
  .pc_g-order4 { order: 4; }
  .pc_g-order5 { order: 5; }
  .pc_g-order6 { order: 6; }
}
@media screen and (max-width: 599px) {
  .sp_d-grid { display: grid; }
  .sp_gtc-1clm { grid-template-columns: 1fr; }
  .sp_g-gap10px { gap: 10px; }
  .sp_g-gap20px { gap: 20px; }
  .sp_g-gap30px { gap: 30px; }
  .sp_g-gap40px { gap: 40px; }
  .sp_g-gap50px { gap: 50px; }
  .sp_g-gap60px { gap: 60px; }
  .sp_g-gap70px { gap: 70px; }
  .sp_g-gap80px { gap: 80px; }
  .sp_g-gap90px { gap: 90px; }
  .sp_g-gap100px { gap: 100px; }
  .sp_g-clm-gap10px { column-gap: 10px; }
  .sp_g-clm-gap20px { column-gap: 20px; }
  .sp_g-clm-gap30px { column-gap: 30px; }
  .sp_g-clm-gap40px { column-gap: 40px; }
  .sp_g-clm-gap50px { column-gap: 50px; }
  .sp_g-clm-gap60px { column-gap: 60px; }
  .sp_g-clm-gap70px { column-gap: 70px; }
  .sp_g-clm-gap80px { column-gap: 80px; }
  .sp_g-clm-gap90px { column-gap: 90px; }
  .sp_g-clm-gap100px { column-gap: 100px; }
  .sp_g-row-gap10px { row-gap: 10px; }
  .sp_g-row-gap20px { row-gap: 20px; }
  .sp_g-row-gap30px { row-gap: 30px; }
  .sp_g-row-gap40px { row-gap: 40px; }
  .sp_g-row-gap50px { row-gap: 50px; }
  .sp_g-row-gap60px { row-gap: 60px; }
  .sp_g-row-gap70px { row-gap: 70px; }
  .sp_g-row-gap80px { row-gap: 80px; }
  .sp_g-row-gap90px { row-gap: 90px; }
  .sp_g-row-gap100px { row-gap: 100px; }
  .sp_g-order1 { order: 1; }
  .sp_g-order2 { order: 2; }
  .sp_g-order3 { order: 3; }
  .sp_g-order4 { order: 4; }
  .sp_g-order5 { order: 5; }
  .sp_g-order6 { order: 6; }
}

/*===================================================================================
フレックスボックス（Flexbox）
===================================================================================*/
.d-flex { display: flex; }
.d-il-flex { display: inline-flex; }
.fd-row { flex-direction: row; }
.fd-row-reverse { flex-direction: row-reverse; }
.fd-column { flex-direction: column; }
.fd-column-reverse { flex-direction: column-reverse; }
.fw-wrap { flex-wrap: wrap; }
.fw-nowrap { flex-wrap: nowrap; }
.jc-start { justify-content: flex-start; }
.jc-end { justify-content: flex-end; }
.jc-center { justify-content: center; }
.jc-between { justify-content: space-between; }
.jc-around { justify-content: space-around; }
.jc-evenly { justify-content: space-evenly; }
.ai-start { align-items: flex-start; }
.ai-end { align-items: flex-end; }
.ai-center { align-items: center; }
.f-gap10px { gap: 10px; }
.f-gap20px { gap: 20px; }
.f-gap30px { gap: 30px; }
.f-gap40px { gap: 40px; }
.f-gap50px { gap: 50px; }
.f-gap60px { gap: 60px; }
.f-gap70px { gap: 70px; }
.f-gap80px { gap: 80px; }
.f-gap90px { gap: 90px; }
.f-gap100px { gap: 100px; }
.f-clm-gap10px { column-gap: 10px; }
.f-clm-gap20px { column-gap: 20px; }
.f-clm-gap30px { column-gap: 30px; }
.f-clm-gap40px { column-gap: 40px; }
.f-clm-gap50px { column-gap: 50px; }
.f-clm-gap60px { column-gap: 60px; }
.f-clm-gap70px { column-gap: 70px; }
.f-clm-gap80px { column-gap: 80px; }
.f-clm-gap90px { column-gap: 90px; }
.f-clm-gap100px { column-gap: 100px; }
.f-row-gap10px { row-gap: 10px; }
.f-row-gap20px { row-gap: 20px; }
.f-row-gap30px { row-gap: 30px; }
.f-row-gap40px { row-gap: 40px; }
.f-row-gap50px { row-gap: 50px; }
.f-row-gap60px { row-gap: 60px; }
.f-row-gap70px { row-gap: 70px; }
.f-row-gap80px { row-gap: 80px; }
.f-row-gap90px { row-gap: 90px; }
.f-row-gap100px { row-gap: 100px; }
.f-order1 { order: 1; }
.f-order2 { order: 2; }
.f-order3 { order: 3; }
.f-order4 { order: 4; }
.f-order5 { order: 5; }
.f-order6 { order: 6; }
@media screen and (min-width: 600px) {
  .pc_d-flex { display: flex; }
  .pc_fd-row { flex-direction: row; }
  .pc_fd-row-reverse { flex-direction: row-reverse; }
  .pc_fd-column { flex-direction: column; }
  .pc_fd-column-reverse { flex-direction: column-reverse; }
  .pc_fw-wrap { flex-wrap: wrap; }
  .pc_fw-nowrap { flex-wrap: nowrap; }
  .pc_jc-start { justify-content: flex-start; }
  .pc_jc-end { justify-content: flex-end; }
  .pc_jc-center { justify-content: center; }
  .pc_jc-between { justify-content: space-between; }
  .pc_jc-around { justify-content: space-around; }
  .pc_jc-evenly { justify-content: space-evenly; }
  .pc_ai-start { align-items: flex-start; }
  .pc_ai-end { align-items: flex-end; }
  .pc_ai-center { align-items: center; }
  .pc_f-clm-gap10px { column-gap: 10px; }
  .pc_f-clm-gap20px { column-gap: 20px; }
  .pc_f-clm-gap30px { column-gap: 30px; }
  .pc_f-clm-gap40px { column-gap: 40px; }
  .pc_f-clm-gap50px { column-gap: 50px; }
  .pc_f-clm-gap60px { column-gap: 60px; }
  .pc_f-clm-gap70px { column-gap: 70px; }
  .pc_f-clm-gap80px { column-gap: 80px; }
  .pc_f-clm-gap90px { column-gap: 90px; }
  .pc_f-clm-gap100px { column-gap: 100px; }
  .pc_f-row-gap10px { row-gap: 10px; }
  .pc_f-row-gap20px { row-gap: 20px; }
  .pc_f-row-gap30px { row-gap: 30px; }
  .pc_f-row-gap40px { row-gap: 40px; }
  .pc_f-row-gap50px { row-gap: 50px; }
  .pc_f-row-gap60px { row-gap: 60px; }
  .pc_f-row-gap70px { row-gap: 70px; }
  .pc_f-row-gap80px { row-gap: 80px; }
  .pc_f-row-gap90px { row-gap: 90px; }
  .pc_f-row-gap100px { row-gap: 100px; }
  .pc_f-gap10px { gap: 10px; }
  .pc_f-gap20px { gap: 20px; }
  .pc_f-gap30px { gap: 30px; }
  .pc_f-gap40px { gap: 40px; }
  .pc_f-gap50px { gap: 50px; }
  .pc_f-gap60px { gap: 60px; }
  .pc_f-gap70px { gap: 70px; }
  .pc_f-gap80px { gap: 80px; }
  .pc_f-gap90px { gap: 90px; }
  .pc_f-gap100px { gap: 100px; }
  .pc_f-order1 { order: 1; }
  .pc_f-order2 { order: 2; }
  .pc_f-order3 { order: 3; }
  .pc_f-order4 { order: 4; }
  .pc_f-order5 { order: 5; }
  .pc_f-order6 { order: 6; }
}
@media screen and (max-width: 599px) {
  .sp_d-flex { display: flex; }
  .sp_fd-row { flex-direction: row; }
  .sp_fd-row-reverse { flex-direction: row-reverse; }
  .sp_fd-column { flex-direction: column; }
  .sp_fd-column-reverse { flex-direction: column-reverse; }
  .sp_fw-wrap { flex-wrap: wrap; }
  .sp_fw-nowrap { flex-wrap: nowrap; }
  .sp_jc-start { justify-content: flex-start; }
  .sp_jc-end { justify-content: flex-end; }
  .sp_jc-center { justify-content: center; }
  .sp_jc-between { justify-content: space-between; }
  .sp_jc-around { justify-content: space-around; }
  .sp_jc-evenly { justify-content: space-evenly; }
  .sp_ai-start { align-items: flex-start; }
  .sp_ai-end { align-items: flex-end; }
  .sp_ai-center { align-items: center; }
  .sp_f-clm-gap10px { column-gap: 10px; }
  .sp_f-clm-gap20px { column-gap: 20px; }
  .sp_f-clm-gap30px { column-gap: 30px; }
  .sp_f-clm-gap40px { column-gap: 40px; }
  .sp_f-clm-gap50px { column-gap: 50px; }
  .sp_f-clm-gap60px { column-gap: 60px; }
  .sp_f-clm-gap70px { column-gap: 70px; }
  .sp_f-clm-gap80px { column-gap: 80px; }
  .sp_f-clm-gap90px { column-gap: 90px; }
  .sp_f-clm-gap100px { column-gap: 100px; }
  .sp_f-row-gap10px { row-gap: 10px; }
  .sp_f-row-gap20px { row-gap: 20px; }
  .sp_f-row-gap30px { row-gap: 30px; }
  .sp_f-row-gap40px { row-gap: 40px; }
  .sp_f-row-gap50px { row-gap: 50px; }
  .sp_f-row-gap60px { row-gap: 60px; }
  .sp_f-row-gap70px { row-gap: 70px; }
  .sp_f-row-gap80px { row-gap: 80px; }
  .sp_f-row-gap90px { row-gap: 90px; }
  .sp_f-row-gap100px { row-gap: 100px; }
  .sp_f-gap10px { gap: 10px; }
  .sp_f-gap20px { gap: 20px; }
  .sp_f-gap30px { gap: 30px; }
  .sp_f-gap40px { gap: 40px; }
  .sp_f-gap50px { gap: 50px; }
  .sp_f-gap60px { gap: 60px; }
  .sp_f-gap70px { gap: 70px; }
  .sp_f-gap80px { gap: 80px; }
  .sp_f-gap90px { gap: 90px; }
  .sp_f-gap100px { gap: 100px; }
  .sp_f-order1 { order: 1; }
  .sp_f-order2 { order: 2; }
  .sp_f-order3 { order: 3; }
  .sp_f-order4 { order: 4; }
  .sp_f-order5 { order: 5; }
  .sp_f-order6 { order: 6; }
}

/*===================================================================================
横幅（width）
===================================================================================*/
.min-w100px { min-width: 100px; }
.max-w100px { max-width: 100px; }

.w100px { width: 100px; }

.w50per { width: 50%; }
.w100per { width: 100%; }
@media screen and (min-width: 600px) {
  .pc_min-w100px { min-width: 100px; }
  .pc_max-w100px { max-width: 100px; }

  .pc_w100px { width: 100px; }

  .pc_w50per { width: 50%; }
  .pc_w100per { width: 100%; }
}
@media screen and (max-width: 599px) {
  .sp_min-w100px { min-width: 100px; }
  .sp-max-w100px { max-width: 100px; }

  .sp_w100px { width: 100px; }

  .sp_w50per { width: 50%; }
  .sp_w70per { width: 70%; }
  .sp_w100per { width: 100%; }

}

/*===================================================================================
高さ（height）
===================================================================================*/
.min-h100px { min-height: 100px; }
.max-h100px { max-height: 100px; }

.h100px { height: 100px; }

.h50per { height: 50%; }
.h100per { height: 100%; }
@media screen and (min-width: 600px) {
  .pc_min-h100px { min-height: 100px; }
  .pc_max-h100px { max-height: 100px; }

  .pc_h100px { height: 100px; }

  .pc_h50per { height: 50%; }
  .pc_h100per { height: 100%; }
}
@media screen and (max-width: 599px) {
  .sp_min-h100px { min-height: 100px; }
  .sp-max-h100px { max-height: 100px; }

  .sp_h100px { height: 100px; }

  .sp_h50per { height: 50%; }
  .sp_h100per { height: 100%; }
}

/*===================================================================================
インラインサイズ（inline-size）
===================================================================================*/
.is-fit { inline-size: fit-content; }

/*===================================================================================
マージン（margin）
===================================================================================*/
.mgiauto { margin-inline: auto; }

.mgauto { margin: auto; }
.mg5px { margin: 5px !important; }
.mg10px { margin: 10px !important; }
.mg15px { margin: 15px !important; }
.mg20px { margin: 20px !important; }
.mg25px { margin: 25px !important; }
.mg30px { margin: 30px !important; }
.mg35px { margin: 35px !important; }
.mg40px { margin: 40px !important; }
.mg45px { margin: 45px !important; }
.mg50px { margin: 50px !important; }
.mg55px { margin: 55px !important; }
.mg60px { margin: 60px !important; }
.mg65px { margin: 65px !important; }
.mg70px { margin: 70px !important; }
.mg75px { margin: 75px !important; }
.mg80px { margin: 80px !important; }
.mg85px { margin: 85px !important; }
.mg90px { margin: 90px !important; }
.mg95px { margin: 95px !important; }
.mg100px { margin: 100px !important; }

.mg10per { margin: 10%; }
.mg20per { margin: 20%; }
.mg30per { margin: 30%; }
.mg40per { margin: 40%; }
.mg50per { margin: 50%; }

.mg1em { margin: 1em; }
.mg1\.5em { margin: 1.5em; }
.mg2em { margin: 2em; }
.mg3em { margin: 3em; }
.mg4em { margin: 4em; }
.mg5em { margin: 5em; }

.mg1rem { margin: 1rem; }
.mg2rem { margin: 2rem; }
.mg3rem { margin: 3rem; }
.mg4rem { margin: 4rem; }
.mg5rem { margin: 5rem; }

/* top */
.mtauto { margin-top: auto; }
.mt5px { margin-top: 5px !important; }
.mt10px { margin-top: 10px !important; }
.mt15px { margin-top: 15px !important; }
.mt20px { margin-top: 20px !important; }
.mt25px { margin-top: 25px !important; }
.mt30px { margin-top: 30px !important; }
.mt35px { margin-top: 35px !important; }
.mt40px { margin-top: 40px !important; }
.mt45px { margin-top: 45px !important; }
.mt50px { margin-top: 50px !important; }
.mt55px { margin-top: 55px !important; }
.mt60px { margin-top: 60px !important; }
.mt65px { margin-top: 65px !important; }
.mt70px { margin-top: 70px !important; }
.mt75px { margin-top: 75px !important; }
.mt80px { margin-top: 80px !important; }
.mt85px { margin-top: 85px !important; }
.mt90px { margin-top: 90px !important; }
.mt95px { margin-top: 95px !important; }
.mt100px { margin-top: 100px !important; }

.mt10per { margin-top: 10%; }
.mt20per { margin-top: 20%; }
.mt30per { margin-top: 30%; }
.mt40per { margin-top: 40%; }
.mt50per { margin-top: 50%; }

.mt1em { margin-top: 1em; }
.mt1\.5em { margin-top: 1.5em; }
.mt2em { margin-top: 2em; }
.mt3em { margin-top: 3em; }
.mt4em { margin-top: 4em; }
.mt5em { margin-top: 5em; }

.mt1rem { margin-top: 1rem; }
.mt2rem { margin-top: 2rem; }
.mt3rem { margin-top: 3rem; }
.mt4rem { margin-top: 4rem; }
.mt5rem { margin-top: 5rem; }

/* left */
.mlauto { margin-left: auto; }
.ml5px { margin-left: 5px; }
.ml10px { margin-left: 10px; }
.ml15px { margin-left: 15px; }
.ml20px { margin-left: 20px; }
.ml25px { margin-left: 25px; }
.ml30px { margin-left: 30px; }
.ml35px { margin-left: 35px; }
.ml40px { margin-left: 40px; }
.ml45px { margin-left: 45px; }
.ml50px { margin-left: 50px; }
.ml55px { margin-left: 55px; }
.ml60px { margin-left: 60px; }
.ml65px { margin-left: 65px; }
.ml70px { margin-left: 70px; }
.ml75px { margin-left: 75px; }
.ml80px { margin-left: 80px; }
.ml85px { margin-left: 85px; }
.ml90px { margin-left: 90px; }
.ml95px { margin-left: 95px; }
.ml100px { margin-left: 100px; }

.ml10per { margin-left: 10%; }
.ml20per { margin-left: 20%; }
.ml30per { margin-left: 30%; }
.ml40per { margin-left: 40%; }
.ml50per { margin-left: 50%; }

.ml1em { margin-left: 1em; }
.ml1\.5em { margin-left: 1.5em; }
.ml2em { margin-left: 2em; }
.ml3em { margin-left: 3em; }
.ml4em { margin-left: 4em; }
.ml5em { margin-left: 5em; }

.ml1rem { margin-left: 1rem; }
.ml2rem { margin-left: 2rem; }
.ml3rem { margin-left: 3rem; }
.ml4rem { margin-left: 4rem; }
.ml5rem { margin-left: 5rem; }

/* right */
.mrauto { margin-right: auto; }
.mr5px { margin-right: 5px; }
.mr10px { margin-right: 10px; }
.mr15px { margin-right: 15px; }
.mr20px { margin-right: 20px; }
.mr25px { margin-right: 25px; }
.mr30px { margin-right: 30px; }
.mr35px { margin-right: 35px; }
.mr40px { margin-right: 40px; }
.mr45px { margin-right: 45px; }
.mr50px { margin-right: 50px; }
.mr55px { margin-right: 55px; }
.mr60px { margin-right: 60px; }
.mr65px { margin-right: 65px; }
.mr70px { margin-right: 70px; }
.mr75px { margin-right: 75px; }
.mr80px { margin-right: 80px; }
.mr85px { margin-right: 85px; }
.mr90px { margin-right: 90px; }
.mr95px { margin-right: 95px; }
.mr100px { margin-right: 100px; }

.mr10per { margin-right: 10%; }
.mr20per { margin-right: 20%; }
.mr30per { margin-right: 30%; }
.mr40per { margin-right: 40%; }
.mr50per { margin-right: 50%; }

.mr1em { margin-right: 1em; }
.mr1\.5em { margin-right: 1.5em; }
.mr2em { margin-right: 2em; }
.mr3em { margin-right: 3em; }
.mr4em { margin-right: 4em; }
.mr5em { margin-right: 5em; }

.mr1rem { margin-right: 1rem; }
.mr2rem { margin-right: 2rem; }
.mr3rem { margin-right: 3rem; }
.mr4rem { margin-right: 4rem; }
.mr5rem { margin-right: 5rem; }

/* bottom */
.mbauto { margin-bottom: auto; }
.mb5px { margin-bottom: 5px; }
.mb10px { margin-bottom: 10px; }
.mb15px { margin-bottom: 15px; }
.mb20px { margin-bottom: 20px; }
.mb25px { margin-bottom: 25px; }
.mb30px { margin-bottom: 30px; }
.mb35px { margin-bottom: 35px; }
.mb40px { margin-bottom: 40px; }
.mb45px { margin-bottom: 45px; }
.mb50px { margin-bottom: 50px; }
.mb55px { margin-bottom: 55px; }
.mb60px { margin-bottom: 60px; }
.mb65px { margin-bottom: 65px; }
.mb70px { margin-bottom: 70px; }
.mb75px { margin-bottom: 75px; }
.mb80px { margin-bottom: 80px; }
.mb85px { margin-bottom: 85px; }
.mb90px { margin-bottom: 90px; }
.mb95px { margin-bottom: 95px; }
.mb100px { margin-bottom: 100px; }

.mb10per { margin-bottom: 10%; }
.mb20per { margin-bottom: 20%; }
.mb30per { margin-bottom: 30%; }
.mb40per { margin-bottom: 40%; }
.mb50per { margin-bottom: 50%; }

.mb1em { margin-bottom: 1em; }
.mb1\.5em { margin-bottom: 1.5em; }
.mb2em { margin-bottom: 2em; }
.mb3em { margin-bottom: 3em; }
.mb4em { margin-bottom: 4em; }
.mb5em { margin-bottom: 5em; }

.mb1rem { margin-bottom: 1rem; }
.mb2rem { margin-bottom: 2rem; }
.mb3rem { margin-bottom: 3rem; }
.mb4rem { margin-bottom: 4rem; }
.mb5rem { margin-bottom: 5rem; }
@media screen and (min-width: 600px) {
  .pc_mg10px { margin: 10px; }
  .pc_mg20px { margin: 20px; }
  .pc_mg30px { margin: 30px; }
  .pc_mg50px { margin: 40px; }
  .pc_mg50px { margin: 50px; }

  /* top */
  .pc_mt10px { margin-top: 10px; }
  .pc_mt20px { margin-top: 20px; }
  .pc_mt30px { margin-top: 30px; }
  .pc_mt40px { margin-top: 40px; }
  .pc_mt50px { margin-top: 50px; }

  /* left */
  .pc_ml10px { margin-left: 10px; }
  .pc_ml20px { margin-left: 20px; }
  .pc_ml30px { margin-left: 30px; }
  .pc_ml40px { margin-left: 40px; }
  .pc_ml50px { margin-left: 50px; }

  /* right */
  .pc_mr10px { margin-right: 10px; }
  .pc_mr20px { margin-right: 20px; }
  .pc_mr30px { margin-right: 30px; }
  .pc_mr40px { margin-right: 40px; }
  .pc_mr50px { margin-right: 50px; }

  /* bottom */
  .pc_mb10px { margin-bottom: 10px; }
  .pc_mb20px { margin-bottom: 20px; }
  .pc_mb30px { margin-bottom: 30px; }
  .pc_mb40px { margin-bottom: 40px; }
  .pc_mb50px { margin-bottom: 50px; }
}
@media screen and (max-width: 599px) {
  .sp_mg10px { margin: 10px; }
  .sp_mg20px { margin: 20px; }
  .sp_mg30px { margin: 30px; }
  .sp_mg40px { margin: 40px; }
  .sp_mg50px { margin: 50px; }

  /* top */
  .sp_mt10px { margin-top: 10px; }
  .sp_mt20px { margin-top: 20px; }
  .sp_mt30px { margin-top: 30px; }
  .sp_mt40px { margin-top: 40px; }
  .sp_mt50px { margin-top: 50px; }

  /* left */
  .sp_ml10px { margin-left: 10px; }
  .sp_ml20px { margin-left: 20px; }
  .sp_ml30px { margin-left: 30px; }
  .sp_ml40px { margin-left: 40px; }
  .sp_ml50px { margin-left: 50px; }

  /* right */
  .sp_mr10px { margin-right: 10px; }
  .sp_mr20px { margin-right: 20px; }
  .sp_mr30px { margin-right: 30px; }
  .sp_mr40px { margin-right: 40px; }
  .sp_mr50px { margin-right: 50px; }

  /* bottom */
  .sp_mb10px { margin-bottom: 10px; }
  .sp_mb20px { margin-bottom: 20px; }
  .sp_mb30px { margin-bottom: 30px; }
  .sp_mb40px { margin-bottom: 40px; }
  .sp_mb50px { margin-bottom: 50px; }
}

/*===================================================================================
パディング（padding）
===================================================================================*/
.pd5px { padding: 5px !important; }
.pd10px { padding: 10px !important; }
.pd15px { padding: 15px !important; }
.pd20px { padding: 20px !important; }
.pd25px { padding: 25px !important; }
.pd30px { padding: 30px !important; }
.pd35px { padding: 35px !important; }
.pd40px { padding: 40px !important; }
.pd45px { padding: 45px !important; }
.pd50px { padding: 50px !important; }
.pd55px { padding: 55px !important; }
.pd60px { padding: 60px !important; }
.pd65px { padding: 65px !important; }
.pd70px { padding: 70px !important; }
.pd75px { padding: 75px !important; }
.pd80px { padding: 80px !important; }
.pd85px { padding: 85px !important; }
.pd90px { padding: 90px !important; }
.pd95px { padding: 95px !important; }
.pd100px { padding: 100px !important; }

.pd10per { padding: 10%; }
.pd20per { padding: 20%; }
.pd30per { padding: 30%; }
.pd40per { padding: 40%; }
.pd50per { padding: 50%; }

.pd0\.5em { padding: 0.5em; }
.pd1em { padding: 1em; }
.pd1\.5em { padding: 1.5em; }
.pd2em { padding: 2em; }
.pd3em { padding: 3em; }
.pd4em { padding: 4em; }
.pd5em { padding: 5em; }

.pd1rem { padding: 1rem; }
.pd2rem { padding: 2rem; }
.pd3rem { padding: 3rem; }
.pd4rem { padding: 4rem; }
.pd5rem { padding: 5rem; }

/* top */
.pt5px { padding-top: 5px; }
.pt10px { padding-top: 10px; }
.pt15px { padding-top: 15px; }
.pt20px { padding-top: 20px; }
.pt25px { padding-top: 25px; }
.pt30px { padding-top: 30px; }
.pt35px { padding-top: 35px; }
.pt40px { padding-top: 40px; }
.pt45px { padding-top: 45px; }
.pt50px { padding-top: 50px; }
.pt55px { padding-top: 55px; }
.pt60px { padding-top: 60px; }
.pt65px { padding-top: 65px; }
.pt70px { padding-top: 70px; }
.pt75px { padding-top: 75px; }
.pt80px { padding-top: 80px; }
.pt85px { padding-top: 85px; }
.pt90px { padding-top: 90px; }
.pt95px { padding-top: 95px; }
.pt100px { padding-top: 100px; }

.pd10per { padding-top: 10%; }
.pd20per { padding-top: 20%; }
.pd30per { padding-top: 30%; }
.pd40per { padding-top: 40%; }
.pd50per { padding-top: 50%; }

.pt1em { padding-top: 1em; }
.pt1\.5em { padding-top: 1.5em; }
.pt2em { padding-top: 2em; }
.pt3em { padding-top: 3em; }
.pt4em { padding-top: 4em; }
.pt5em { padding-top: 5em; }

.pt1rem { padding-top: 1rem; }
.pt2rem { padding-top: 2rem; }
.pt3rem { padding-top: 3rem; }
.pt4rem { padding-top: 4rem; }
.pt5rem { padding-top: 5rem; }

/* left */
.pl5px { padding-left: 5px; }
.pl10px { padding-left: 10px; }
.pl15px { padding-left: 15px; }
.pl20px { padding-left: 20px; }
.pl25px { padding-left: 25px; }
.pl30px { padding-left: 30px; }
.pl35px { padding-left: 35px; }
.pl40px { padding-left: 40px; }
.pl45px { padding-left: 45px; }
.pl50px { padding-left: 50px; }
.pl55px { padding-left: 55px; }
.pl60px { padding-left: 60px; }
.pl65px { padding-left: 65px; }
.pl70px { padding-left: 70px; }
.pl75px { padding-left: 75px; }
.pl80px { padding-left: 80px; }
.pl85px { padding-left: 85px; }
.pl90px { padding-left: 90px; }
.pl95px { padding-left: 95px; }
.pl100px { padding-left: 100px; }

.pl10per { padding-left: 10%; }
.pl20per { padding-left: 20%; }
.pl30per { padding-left: 30%; }
.pl40per { padding-left: 40%; }
.pl50per { padding-left: 50%; }

.pl1em { padding-left: 1em; }
.pl1\.5em { padding-left: 1.5em; }
.pl2em { padding-left: 2em; }
.pl3em { padding-left: 3em; }
.pl4em { padding-left: 4em; }
.pl5em { padding-left: 5em; }

.pl1rem { padding-left: 1rem; }
.pl2rem { padding-left: 2rem; }
.pl3rem { padding-left: 3rem; }
.pl4rem { padding-left: 4rem; }
.pl5rem { padding-left: 5rem; }

/* right */
.pr5px { padding-right: 5px; }
.pr10px { padding-right: 10px; }
.pr15px { padding-right: 15px; }
.pr20px { padding-right: 20px; }
.pr25px { padding-right: 25px; }
.pr30px { padding-right: 30px; }
.pr35px { padding-right: 35px; }
.pr40px { padding-right: 40px; }
.pr45px { padding-right: 45px; }
.pr50px { padding-right: 50px; }
.pr55px { padding-right: 55px; }
.pr60px { padding-right: 60px; }
.pr65px { padding-right: 65px; }
.pr70px { padding-right: 70px; }
.pr75px { padding-right: 75px; }
.pr80px { padding-right: 80px; }
.pr85px { padding-right: 85px; }
.pr90px { padding-right: 90px; }
.pr95px { padding-right: 95px; }
.pr100px { padding-right: 100px; }

.pr10per { padding-right: 10%; }
.pr20per { padding-right: 20%; }
.pr30per { padding-right: 30%; }
.pr40per { padding-right: 40%; }
.pr50per { padding-right: 50%; }

.pr1em { padding-right: 1em; }
.pr1\.5em { padding-right: 1.5em; }
.pr2em { padding-right: 2em; }
.pr3em { padding-right: 3em; }
.pr4em { padding-right: 4em; }
.pr5em { padding-right: 5em; }

.pr1rem { padding-right: 1rem; }
.pr2rem { padding-right: 2rem; }
.pr3rem { padding-right: 3rem; }
.pr4rem { padding-right: 4rem; }
.pr5rem { padding-right: 5rem; }

/* bottom */
.pb5px { padding-bottom: 5px; }
.pb10px { padding-bottom: 10px; }
.pb15px { padding-bottom: 15px; }
.pb20px { padding-bottom: 20px; }
.pb25px { padding-bottom: 25px; }
.pb30px { padding-bottom: 30px; }
.pb35px { padding-bottom: 35px; }
.pb40px { padding-bottom: 40px; }
.pb45px { padding-bottom: 45px; }
.pb50px { padding-bottom: 50px; }
.pb55px { padding-bottom: 55px; }
.pb60px { padding-bottom: 60px; }
.pb65px { padding-bottom: 65px; }
.pb70px { padding-bottom: 70px; }
.pb75px { padding-bottom: 75px; }
.pb80px { padding-bottom: 80px; }
.pb85px { padding-bottom: 85px; }
.pb90px { padding-bottom: 90px; }
.pb95px { padding-bottom: 95px; }
.pb100px { padding-bottom: 100px; }

.pb10per { padding-bottom: 10%; }
.pb20per { padding-bottom: 20%; }
.pb30per { padding-bottom: 30%; }
.pb40per { padding-bottom: 40%; }
.pb50per { padding-bottom: 50%; }

.pb1em { padding-bottom: 1em; }
.pb1\.5em { padding-bottom: 1.5em; }
.pb2em { padding-bottom: 2em; }
.pb3em { padding-bottom: 3em; }
.pb4em { padding-bottom: 4em; }
.pb5em { padding-bottom: 5em; }

.pb1rem { padding-bottom: 1rem; }
.pb2rem { padding-bottom: 2rem; }
.pb3rem { padding-bottom: 3rem; }
.pb4rem { padding-bottom: 4rem; }
.pb5rem { padding-bottom: 5rem; }
@media screen and (min-width: 600px) {
  .pc_pd10px { padding: 10px; }
  .pc_pd20px { padding: 20px; }
  .pc_pd30px { padding: 30px; }
  .pc_pd40px { padding: 40px; }
  .pc_pd50px { padding: 50px; }

  /* top */
  .pc_pt10px { padding-top: 10px; }
  .pc_pt20px { padding-top: 20px; }
  .pc_pt30px { padding-top: 30px; }
  .pc_pt40px { padding-top: 40px; }
  .pc_pt50px { padding-top: 50px; }

  /* left */
  .pc_pl10px { padding-left: 10px; }
  .pc_pl20px { padding-left: 20px; }
  .pc_pl30px { padding-left: 30px; }
  .pc_pl40px { padding-left: 40px; }
  .pc_pl50px { padding-left: 50px; }

  /* right */
  .pc_pr10px { padding-right: 10px; }
  .pc_pr20px { padding-right: 20px; }
  .pc_pr30px { padding-right: 30px; }
  .pc_pr40px { padding-right: 40px; }
  .pc_pr50px { padding-right: 50px; }

  /* bottom */
  .pc_pb10px { padding-bottom: 10px; }
  .pc_pb20px { padding-bottom: 20px; }
  .pc_pb30px { padding-bottom: 30px; }
  .pc_pb40px { padding-bottom: 40px; }
  .pc_pb50px { padding-bottom: 50px; }
}
@media screen and (max-width: 599px) {
  .sp_pd10px { padding: 10px; }
  .sp_pd20px { padding: 20px; }
  .sp_pd30px { padding: 30px; }
  .sp_pd40px { padding: 40px; }
  .sp_pd50px { padding: 50px; }

  /* top */
  .sp_pt10px { padding-top: 10px; }
  .sp_pt20px { padding-top: 20px; }
  .sp_pt30px { padding-top: 30px; }
  .sp_pt40px { padding-top: 40px; }
  .sp_pt50px { padding-top: 50px; }

  /* left */
  .sp_pl10px { padding-left: 10px; }
  .sp_pl20px { padding-left: 20px; }
  .sp_pl30px { padding-left: 30px; }
  .sp_pl40px { padding-left: 40px; }
  .sp_pl50px { padding-left: 50px; }

  /* right */
  .sp_pr10px { padding-right: 10px; }
  .sp_pr20px { padding-right: 20px; }
  .sp_pr30px { padding-right: 30px; }
  .sp_pr40px { padding-right: 40px; }
  .sp_pr50px { padding-right: 50px; }

  /* bottom */
  .sp_pb10px { padding-bottom: 10px; }
  .sp_pb20px { padding-bottom: 20px; }
  .sp_pb30px { padding-bottom: 30px; }
  .sp_pb40px { padding-bottom: 40px; }
  .sp_pb50px { padding-bottom: 50px; }
}

/*===================================================================================
カラー（color）
===================================================================================*/
.col-white01 { color: var(--white01); }
.col-black01 { color: var(--black01); }



/*===================================================================================
フォントサイズ（font-size）
===================================================================================*/
/*======= Clamp It!の使い方 =======*/
/* 任意のクラス { font-size: スマホ, デスクトップ, ベース, 最小ビューポート, 最大ビューポート } */
/* スマホ, デスクトップ, ベース, 最小ビューポート, 最大ビューポートまでをドラッグして囲み、Ctrl+Shift+PでClamp It!を選ぶ */

.fs10px { font-size: 10px; }
.fs11px { font-size: 11px; }
.fs12px { font-size: 12px; }
.fs13px { font-size: 13px; }
.fs14px { font-size: 14px; }
.fs15px { font-size: 15px; }
.fs16px { font-size: 16px; }
.fs17px { font-size: 17px; }
.fs18px { font-size: 18px; }
.fs19px { font-size: 19px; }
.fs20px { font-size: 20px; }
.fs21px { font-size: 21px; }
.fs22px { font-size: 22px; }
.fs23px { font-size: 23px; }
.fs24px { font-size: 24px; }
.fs25px { font-size: 25px; }
.fs26px { font-size: 26px; }
.fs27px { font-size: 27px; }
.fs28px { font-size: 28px; }
.fs29px { font-size: 29px; }
.fs30px { font-size: 30px; }

.fs50per { font-size: 50%; }
.fs60per { font-size: 60%; }
.fs70per { font-size: 70%; }
.fs80per { font-size: 80%; }
.fs90per { font-size: 90%; }
.fs100per { font-size: 100%; }

.fs1em { font-size: 1em; }
.fs1\.2em { font-size: 1.2em; }
.fs1\.3em { font-size: 1.3em; }
.fs1\.5em { font-size: 1.5em; }
.fs2em { font-size: 2em; }
.fs3em { font-size: 3em; }
.fs4em { font-size: 4em; }
.fs5em { font-size: 5em; }

.fs1rem { font-size: 1rem; }
.fs1\.5rem { font-size: 1.5rem; }
.fs2rem { font-size: 2rem; }
.fs3rem { font-size: 3rem; }
.fs4rem { font-size: 4rem; }
.fs5rem { font-size: 5rem; }
@media screen and (min-width: 600px) {
  .pc_fs16px { font-size: 16px; }
}
@media screen and (max-width: 599px) {
  .sp_fs16px { font-size: 16px; }
}

/*===================================================================================
フォントウェイト（font-weight）
===================================================================================*/
.fw100 { font-weight: 100; }
.fw200 { font-weight: 200; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }
.fw900 { font-weight: 900; }

/*===================================================================================
テキスト折り返し（white-space）
===================================================================================*/
.ws-wrap { white-space: wrap; }
.ws-nowrap { white-space: nowrap; }
@media screen and (min-width: 600px) {
  .pc_ws-nowrap { white-space: nowrap; }
}
@media screen and (max-width: 599px) {
  .sp_ws-nowrap { white-space: nowrap; }
}

/*===================================================================================
ラインハイト（line-height）
===================================================================================*/
.lh-1 { line-height: 1; }
.lh-1\.1 { line-height: 1.1; }
.lh-1\.2 { line-height: 1.2; }
.lh-1\.3 { line-height: 1.3; }
.lh-1\.4 { line-height: 1.4; }
.lh-1\.5 { line-height: 1.5; }
.lh-1\.6 { line-height: 1.6; }
.lh-1\.7 { line-height: 1.7; }
.lh-1\.8 { line-height: 1.8; }
.lh-1\.9 { line-height: 1.9; }
.lh-2 { line-height: 2; }

/*===== ラインハイトの上下余白を消す ======*/
.leading-trim::before, .leading-trim::after { content: ""; display: block; inline-size: 0; block-size: 1px; }
.leading-trim::before { margin-block-end: var(--leading-trim); }
.leading-trim::after { margin-block-start: var(--leading-trim); }

/*===================================================================================
テキストアライン（text-align）
===================================================================================*/
.ta-center { text-align: center; }
.ta-left { text-align: left; }
.ta-right { text-align: right; }
.ta-justify { text-align: justify; }
@media screen and (min-width: 600px) {
  .pc_ta-center { text-align: center; }
}
@media screen and (max-width: 599px) {
  .sp_ta-center { text-align: center; }
}

/*===================================================================================
背景色（background-color）
===================================================================================*/
.bgcol-white01 { background-color: var(--white01); }
.bgcol-black01 { background-color: var(--black01); }
.bgcol-blue01 { background-color: #2277D6; }
.bgcol-skyblue01 { background-color: #00a0e9; }
.bgcol-brown03  { background-color: #F4F2DF; }

/*===================================================================================
ボーダー（border）
===================================================================================*/
.bod-none { border: none; }
.bod-1px-black01 { border: 1px solid var(--black01); }
.bod-2px-black01 { border: 2px solid var(--black01); }
.bod-3px-black01 { border: 3px solid var(--black01); }
.bod-4px-black01 { border: 4px solid var(--black01); }
.bod-5px-black01 { border: 5px solid var(--black01); }

/* top */
.bdt-1px-black01 { border-top: 1px solid var(--black01); }
.bdt-2px-black01 { border-top: 2px solid var(--black01); }
.bdt-3px-black01 { border-top: 3px solid var(--black01); }
.bdt-4px-black01 { border-top: 4px solid var(--black01); }
.bdt-5px-black01 { border-top: 5px solid var(--black01); }

/* left */
.bdl-1px-black01 { border-left: 1px solid var(--black01); }
.bdl-2px-black01 { border-left: 2px solid var(--black01); }
.bdl-3px-black01 { border-left: 3px solid var(--black01); }
.bdl-4px-black01 { border-left: 4px solid var(--black01); }
.bdl-5px-black01 { border-left: 5px solid var(--black01); }

/* right */
.bdr-1px-black01 { border-right: 1px solid var(--black01); }
.bdr-2px-black01 { border-right: 2px solid var(--black01); }
.bdr-3px-black01 { border-right: 3px solid var(--black01); }
.bdr-4px-black01 { border-right: 4px solid var(--black01); }
.bdr-5px-black01 { border-right: 5px solid var(--black01); }

/* bottom */
.bdb-1px-black01 { border-bottom: 1px solid var(--black01); }
.bdb-2px-black01 { border-bottom: 2px solid var(--black01); }
.bdb-3px-black01 { border-bottom: 3px solid var(--black01); }
.bdb-4px-black01 { border-bottom: 4px solid var(--black01); }
.bdb-5px-black01 { border-bottom: 5px solid var(--black01); }

/*===================================================================================
角丸（border-radius）
===================================================================================*/
.bdr10px { border-radius: 10px; }
.bdr20px { border-radius: 20px; }
.bdr30px { border-radius: 30px; }
.bdr40px { border-radius: 40px; }
.bdr50px { border-radius: 50px; }

.bdr10per { border-radius: 10%; }
.bdr20per { border-radius: 20%; }
.bdr30per { border-radius: 30%; }
.bdr40per { border-radius: 40%; }
.bdr50per { border-radius: 50%; }

/* top */
.bdt-left-r { border-top-left-radius: 10px; }
.bdt-left-r { border-top-left-radius: 20px; }
.bdt-left-r { border-top-left-radius: 30px; }
.bdt-left-r { border-top-left-radius: 40px; }
.bdt-left-r { border-top-left-radius: 50px; }

.bdt-right-r { border-top-right-radius: 10px; }
.bdt-right-r { border-top-right-radius: 20px; }
.bdt-right-r { border-top-right-radius: 30px; }
.bdt-right-r { border-top-right-radius: 40px; }
.bdt-right-r { border-top-right-radius: 50px; }

/* bottom */
.bdb-left-r { border-bottom-left-radius: 10px; }
.bdb-left-r { border-bottom-left-radius: 20px; }
.bdb-left-r { border-bottom-left-radius: 30px; }
.bdb-left-r { border-bottom-left-radius: 40px; }
.bdb-left-r { border-bottom-left-radius: 50px; }

.bdb-right-r { border-bottom-right-radius: 10px; }
.bdb-right-r { border-bottom-right-radius: 20px; }
.bdb-right-r { border-bottom-right-radius: 30px; }
.bdb-right-r { border-bottom-right-radius: 40px; }
.bdb-right-r { border-bottom-right-radius: 50px; }

/*===================================================================================
ポジション（position）
===================================================================================*/
.pos-static { position: static; }
.pos-relative { position: relative; }
.pos-absolute { position: absolute; }
.pos-fixed { position: fixed; }
.pos-sticky { position: sticky; }
.pos-top0 { top: 0; }
.pos-top10px { top: 10px; }
.pos-top20px { top: 20px; }
.pos-top30px { top: 30px; }
.pos-top40px { top: 40px; }
.pos-top50px { top: 50px; }
.pos-left0 { left: 0; }
.pos-left10px { left: 10px; }
.pos-left20px { left: 20px; }
.pos-left30px { left: 30px; }
.pos-left40px { left: 40px; }
.pos-left50px { left: 50px; }
.pos-right0 { right: 0; }
.pos-right10px { right: 10px; }
.pos-right20px { right: 20px; }
.pos-right30px { right: 30px; }
.pos-right40px { right: 40px; }
.pos-right50px { right: 50px; }
.pos-bottom0 { bottom: 0; }
.pos-bottom10px { bottom: 10px; }
.pos-bottom20px { bottom: 20px; }
.pos-bottom30px { bottom: 30px; }
.pos-bottom40px { bottom: 40px; }
.pos-bottom50px { bottom: 50px; }
.pos-inset0 { inset: 0; }

/*===================================================================================
重なり順（z-index）
===================================================================================*/
/* 正 */
.z-index1 { z-index: 1; }
.z-index2 { z-index: 2; }
.z-index3 { z-index: 3; }
.z-index4 { z-index: 4; }
.z-index5 { z-index: 5; }
.z-index6 { z-index: 6; }
.z-index7 { z-index: 7; }
.z-index8 { z-index: 8; }
.z-index9 { z-index: 9; }
.z-index10 { z-index: 10; }

/* 負 */
.z-index-1 { z-index: -1; }
.z-index-2 { z-index: -2; }
.z-index-3 { z-index: -3; }
.z-index-4 { z-index: -4; }
.z-index-5 { z-index: -5; }
.z-index-6 { z-index: -6; }
.z-index-7 { z-index: -7; }
.z-index-8 { z-index: -8; }
.z-index-9 { z-index: -9; }
.z-index-10 { z-index: -10; }

/*===================================================================================
デコレーション（text-decoration）
===================================================================================*/
.td-none { text-decoration: none; }
.td-underline { text-decoration: underline; }
.td-double { text-decoration: double; }
.td-dashed { text-decoration: dashed; }
.td-dotted { text-decoration: dotted; }
.td-wavy { text-decoration: wavy; }

/*===================================================================================
オブジェクトフィット（object-fit）
===================================================================================*/
.obf-cover { object-fit: cover; }
.obf-contain { object-fit: contain; }
.obp-top { object-position: top; }
.obp-center { object-position: center; }
.obp-bottom { object-position: bottom; }

/*===================================================================================
インデント（text-indent）
===================================================================================*/
.ti-m1\.5em { text-indent: -1.5em; }

/*===================================================================================
トランスフォーム（transform）
===================================================================================*/
.tf-translateX-m50per { transform: translateX(-50%); }
.tf-translateY-m50per { transform: translateY(-50%); }
.tf-translate-m50per-m50per { transform: translate(-50%, -50%); }

/*===================================================================================
ライティングモード（writing-mode）
===================================================================================*/
.wm-horizontal-tb { writing-mode: horizontal-tb; }
.wm-vertical-lr { writing-mode: vertical-lr; }
.wm-vertical-rl { writing-mode: vertical-rl; }

/*===================================================================================
アイコン（icon）
===================================================================================*/
/* 丸型 */
.icon-circle01::before, .icon-circle01-list .item::before { content: "\025cf"; margin-right: 0.5em; } /* ● */
.icon-circle02::before, .icon-circle02-list .item::before { content: "\025cb"; margin-right: 0.5em; } /* ○ */
.icon-circle03::before, .icon-circle03-list .item::before { content: "\025ce"; margin-right: 0.5em; } /* ◎ */

/* 三角 */
.icon-triangle01::before, .icon-triangle01-list .item::before { content: "\025b2"; margin-right: 0.5em; } /* ▲ */
.icon-triangle02::before, .icon-triangle02-list .item::before { content: "\025bc"; margin-right: 0.5em; } /* ▼ */
.icon-triangle03::before, .icon-triangle03-list .item::before { content: "\025b6"; margin-right: 0.5em; } /* ▶ */
.icon-triangle04::before, .icon-triangle04-list .item::before { content: "\025b3"; margin-right: 0.5em; } /* △ */
.icon-triangle05::before, .icon-triangle05-list .item::before { content: "\025bd"; margin-right: 0.5em; } /* ▽ */
.icon-triangle06::before, .icon-triangle06-list .item::before { content: "\025b7"; margin-right: 0.5em; } /* ▷ */

/* 四角 */
.icon-square01::before, .icon-square01-list .item::before { content: "\025a0"; margin-right: 0.5em; } /* ■ */
.icon-square02::before, .icon-square02-list .item::before { content: "\025a1"; margin-right: 0.5em; } /* □ */

/* 菱形 */
.icon-diamond01::before, .icon-diamond01-list .item::before { content: "\025c6"; margin-right: 0.5em; } /* ◆ */
.icon-diamond02::before, .icon-diamond02-list .item::before { content: "\025c7"; margin-right: 0.5em; } /* ◇ */

/* 米印 */
.icon-kome01::before, .icon-kome01-list .item::before { content: "\0203b"; margin-right: 0.5em; } /* ※ */

/* 矢印 */
.icon-arrow01::before, .icon-arrow01-list .item::before { content: "\0ff1e"; margin-right: 0.5em; } /* ＞ */
.icon-arrow02::before, .icon-arrow02-list .item::before { content: "\0fe65"; margin-right: 0.5em; } /* > */

/*===================================================================================
ボタン（button）
===================================================================================*/
.button-typeA { color: var(--black01); }

/*===================================================================================
見出し（headline）
===================================================================================*/
.headline-typeA { padding-bottom: 10px; color: #2359A5; font-size: 1.5rem; border-bottom: 1px solid #2359A5; }

/*===================================================================================
リスト（list）
===================================================================================*/
.list-style-type-none { list-style-type: none; }
.list-style-pos-inside { list-style-position: inside; }

.list-typeA .item { padding-left: 1.5em; text-indent: -1.5em; }

/* 番号つきリスト（丸型） */
.list-number-circle-typeA .item::before { counter-increment: number; content: counter(number) ""; display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; margin-right: 0.5em; color: var(--white01); background: var(--black01); border-radius: 50%; }

/*===================================================================================
テーブル（table）
===================================================================================*/
.table-typeA { width: 100%; border-collapse: collapse; }



/*-----------------------------------------------------------------------------------

Custom（独自で使うもの）

-----------------------------------------------------------------------------------*/