@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@300;400;500;600;700&display=swap');

/*======================================
COMMON
=======================================*/

* {
    margin: 0;
    padding: 0;
    line-height: 1.0;
    color: #000;
    font-weight: 400;
    font-style: normal;
    box-sizing: border-box;
    word-break: break-all;
    font-family: "Inter", "Noto Sans JP", 'Hiragino Kaku Gothic ProN', "Yu Gothic M", "Yu Gothic Medium", "Custom Yu Gothic", 'Noto Sans JP', Meiryo, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: 'palt' 1;
    font-feature-settings: 'palt' 1;
}

 ::selection {
    background: #0071bc;
    color: #fff;
}

 ::-moz-selection {
    background: #0071bc;
    color: #fff;
}

html {
    font-size: 100%;
}

header {
    position: relative;
    z-index: 0;
}

body {
    margin: 0;
    color: #0071bc;
    word-wrap: break-word;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: 'palt' 1;
    font-feature-settings: 'palt' 1;
}

section {
    padding: 0;
    margin: 0;
}


/*---------------------* 
TEXT                                                                                                       
* -------------------*/

p,
address {
    margin: 0;
    padding: 0;
}

h1,
h2,
h3 {
    margin: 0;
    padding: 0;
}

a {
    padding: 0;
    text-decoration: none;
}

a:link {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}


/*---------------------* 
LIST                                                                                                       
* -------------------*/

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

li {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

ol {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

dt {
    margin: 0;
    padding: 0;
}


/*---------------------* 
FORM                                                                                                       
* -------------------*/

input,
button,
textarea,
select {
    /* デフォルトスタイルをリセット */
    /*-webkit-appearance: none;
-moz-appearance: none;
appearance: none;*/
    /* font-familyを継承しないので、継承させる */
    font-family: inherit;
    /* iOSの角丸をリセット */
    border-radius: 0.5rem;
    /* box-size */
    box-sizing: border-box;
    /* 文字の大きさ iOSでズームさせないために16px以上を指定 */
    font-size: 16px;
    /* 文字色を親から継承 */
    color: inherit;
}

label {
    /* iOSでのlabelとinput,select,textareaの関連付け */
    cursor: pointer;
}


/* スピンボタン非表示 chrome,safari */

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="date"]::-webkit-inner-spin-button {
    /*-webkit-appearance: none;
margin: 0;*/
    display: none;
}


/* スピンボタン非表示(firefox) */

input[type="number"],
input[type="month"],
input[type="datetime-local"],
input[type="week"],
input[type="time"],
input[type="date"] {
    -moz-appearance: textfield;
}


/* クリアボタン非表示 */

input[type="date"]::-webkit-clear-button,
input[type="month"]::-webkit-clear-button,
input[type="datetime-local"]::-webkit-clear-button,
input[type="time"]::-webkit-clear-button,
input[type="week"]::-webkit-clear-button {
    -webkit-appearance: none;
}


/* input */

input {
    /* 背景色(任意の色を指定) */
    background-color: #f1eff7;
    /* inputの枠線を消す */
    border: 1px solid transparent;
    transition: border 0.2s ease-out;
    /* 文字色を親から継承 */
    color: inherit;
    /* 任意の高さ */
    height: 46px;
    /*inputのフォーカス時の枠線を消す*/
    outline: 0;
    /*width: 100%;*/
}


/* inputにフォーカスが当たっている時 */

input:focus {
    border: 1px solid #0071bc;
}


/* textarea */

textarea {
    padding: 10px;
    resize: vertical;
    border: 1px solid transparent;
    transition: border 0.2s ease-out;
    outline: none;
    background-color: #f1eff7;
    width: 100%;
}

textarea::-webkit-scrollbar {
    width: 10px;
}

textarea::-webkit-scrollbar-track {
    background-color: #f1eff7;
}

textarea::-webkit-scrollbar-thumb {
    background-color: #f1eff7;
}

textarea:focus {
    border: 1px solid #0071bc;
    box-shadow: none;
    outline: none;
}


/* select */

select {
    /* 右端の▼を消す */
    /* -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none; */
    border: none;
    /* 代わりに任意の画像を指定 */
    /*background: #eee url(../../images/triangle_down.svg) no-repeat center right 10px/16px 16px;
background-size: 10px;*/
}


/* 右端の▼を消す(IE) */

select::-ms-expand {
    display: none;
}


/*select:focus {
background: #eee url(../../images/triangle_up.svg) no-repeat center right 10px/16px 16px;
background-size: 10px;
border-bottom: 1px solid#e74c3c;
outline: none;
}*/


/* radio */


/*---------------------* 
IMG                                                                                                       
* -------------------*/

img {
    backface-visibility: hidden;
}

footer img {
    border: none;
    vertical-align: top;
    width: 100%;
}

#timefree_button::after {
    color: #fff !important;
}