@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

:root{
    /* 各種カラー */
    --color-base-01: #F2F1F0;
    --color-base-02: #E2DDD4;
    --color-base-03: #FCF9DB;
    --color-base-04: #DFF1FF; /*#FDECEC;*/
    --color-accent-01: #C2B8A8;
    --color-accent-02: #92846E;
    --color-accent-03: #F0795C;
    --color-accent-04: #0067BE; /*#EA4A23;*/
    --color-accent-05: #1746FF; /*#C7000B;*/
    --color-text-01: #000000; /*#333333; */
    --color-text-02: #756A58;
    --color-text-03: #ABABAB;
    --color-other-01: #E0E0E0;
    --color-other-02: #D6D6D6;
    --color-content-01: #F08301;
    --color-content-02: #E95599;
    --color-content-03: #05A572;

    /* 新規カラー */
    --color-error: #C7000D;
    --color-error-bg: #FDECEC;
    --color-secondary: #888888;

    /* フォントサイズ */
    --font-size-h1: 2.6rem;
    --font-size-h2: 2.2rem;
    --font-size-h3: 1.8rem;
    --font-size-body1: 1.8rem;
    --font-size-body2: 1.6rem;
    --font-size-caption: 1.4rem;
    --font-size-middle: 2.0rem;
    --font-size-small: 1.05rem;
}

/* sass */
body, div, p, h1, h2, h3, h4, h5, h6, dl, dt, dd, ul, ol, li, table, caption, th, td, form, fieldset, input, textarea, select, pre, address, blockquote, embed, object, dfn, article, aside, canvas, figure, figcaption, footer, header, nav, section, main, audio, video { margin: 0px; padding: 0px; }

article, aside, details, figcaption, figure, footer, header, main, nav, section, summary { display: block; }

audio, canvas, progress, video { display: inline-block; }

address, dfn { display: inline; font-style: normal; }

canvas { width: 0; height: 0; }

iframe { width: 100%; margin: 0; padding: 0; border: none; }

html { overflow-y: scroll; font-size: 62.5%; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }

html * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; -webkit-overflow-scrolling: touch; }

* { box-sizing: border-box; }

body { color: var(--color-text-01); font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", sans-serif; background: #fff; font-size: var(--font-size-body2); line-height: 150%; letter-spacing: calc(var(--font-size-body2 * 0.01));}

em { font-style: normal; font-weight: bold; }

strong { font-style: normal; font-weight: bold; }

ul, ol { list-style: none; }

table { border-collapse: separate; border-spacing: 0; empty-cells: show; }

caption, th { text-align: left; }

img { border: 0; vertical-align: middle; -webkit-backface-visibility: hidden; backface-visibility: hidden; user-select: none;}

a { cursor: pointer; color: var(--color-text-02);}
a:hover, a:visited { color: var(--color-text-02);}
form { font-weight: normal; }

input, button, textarea, select { font-size: 1.6rem; line-height: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; margin: 0; padding: 0; background: transparent; border: none; border-radius: 0; outline: none; text-transform: none; font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

select::-ms-expand { display: none; }

.txt { line-height: 1.8; }

.img-wrap { font-size: 0; line-height: 0; }

.u-ft-xxs { font-size: 1rem !important; }

.u-ft-xs { font-size: 1.2rem !important; }

.u-ft-s { font-size: 1.4rem !important; }

.u-ft-m { font-size: 1.6rem !important; }

.u-ft-l { font-size: 1.8rem !important; }

.u-ft-xl { font-size: 2rem !important; }

.u-ft-xxl { font-size: 2.4rem !important; }

.clearfix:after { display: block; content: ''; clear: both; }

.u-ta-l { text-align: left !important; }

.u-ta-c { text-align: center !important; }

.u-ta-r { text-align: right !important; }

.u-mg0 { margin: 0 !important; }

.u-mg-auto { margin-left: auto !important; margin-right: auto !important; }

.u-mgt-xxs { margin-top: 10px !important; }

.u-mgt-xs { margin-top: 20px !important; }

.u-mgt-s { margin-top: 30px !important; }

.u-mgt-m { margin-top: 40px !important; }

.u-mgt-l { margin-top: 50px !important; }

.u-mgt-xl { margin-top: 60px !important; }

.u-mgt-xxl { margin-top: 80px !important; }

.u-mgb-xxs { margin-bottom: 10px !important; }

.u-mgb-xs { margin-bottom: 20px !important; }

.u-mgb-s { margin-bottom: 30px !important; }

.u-mgb-m { margin-bottom: 40px !important; }

.u-mgb-l { margin-bottom: 50px !important; }

.u-mgb-xl { margin-bottom: 60px !important; }

.u-mgb-xxl { margin-bottom: 80px !important; }

.u-pd0 { padding: 0 !important; }

.u-pdt-xxs { padding-top: 10px !important; }

.u-pdt-xs { padding-top: 20px !important; }

.u-pdt-s { padding-top: 30px !important; }

.u-pdt-m { padding-top: 40px !important; }

.u-pdt-l { padding-top: 50px !important; }

.u-pdt-xl { padding-top: 60px !important; }

.u-pdt-xxl { padding-top: 80px !important; }

.u-pdb-xxs { padding-bottom: 10px !important; }

.u-pdb-xs { padding-bottom: 20px !important; }

.u-pdb-s { padding-bottom: 30px !important; }

.u-pdb-m { padding-bottom: 40px !important; }

.u-pdb-l { padding-bottom: 50px !important; }

.u-pdb-xl { padding-bottom: 60px !important; }

.u-pdb-xxl { padding-bottom: 80px !important; }

a img.u-btn { opacity: 1.0; transition: opacity 0.3s; }

a:hover img.u-btn { opacity: 0.8; }

img.u-btn { opacity: 0.3; }