html {
    height: 100%;
    font-size: 62.5%;
}

body {
    font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
    height: 100%;
    font-weight: 500;
    font-size: 1.5rem;
    line-height: 42px;
    letter-spacing: 0.04em;
    color: #45484C;

}

img {
    border: 0;
    max-width: 100%;
    vertical-align: bottom;
    object-fit: cover;
}

a {
    text-decoration: none;
    color: #45484C;
    display: block;
}

li {
    list-style-type: none;
}

.c-button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    background: #ccc;
}

button {
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
}


/* ----------------------------------------------------------------------------------- */
/* Colors */
/* ----------------------------------------------------------------------------------- */
:root {
    --brown: #C1811F;
    --green: #1878AD;
    --red: #C30D23;
    --lightgreen: #679A3B;
    --yellow: #F8EA19;
    --orangepink: #F16262;
    --blue: #41B4F0;
    --black: #45484C;
    --white: #ffffff;
}

.yellow {
    background-color: var(--yellow);
}

.brown {
    background-color: var(--brown);
}

.green {
    background-color: var(--green);
}

.red {
    background-color: var(--red);
}

/* 

ABOUT PAGE

*/

h6 {
    font-family: 'A-OTF Ryumin Pr6N';
    font-style: normal;
    font-weight: 300;
    font-size: 32px;
    line-height: 32px;
}

h5 {
    font-family: 'A-OTF Ryumin Pr6N';
    font-style: normal;
    font-weight: 300;
    font-size: 32px;
    line-height: 32px;
    /* identical to box height, or 100% */

    letter-spacing: 0.04em;
}

h4 {
    font-family: 'YuGothic';
    font-style: normal;
    font-weight: 500;
    font-size: 24px;
    line-height: 32px;
}

h3 {
    font-family: 'Avenir Next', "metropolis-semibold";
    font-style: normal;
    font-weight: 600;
    font-size: 48px;
    line-height: 66px;
}

h2 {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 400;
    font-size: 200px;
    line-height: 242px;
}

h1 {
    font-family: 'A-OTF Ryumin Pr6N';
    font-style: normal;
    font-weight: 300;
    font-size: 32px;
    line-height: 48px;
    text-align: center;
    align-items: center;
    vertical-align: middle;
    letter-spacing: 0.04em;
}

/* 

header

*/
.header_inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 20px 40px;
}

.header_logo {
    width: 75px;
}

header ul {
    display: flex;
    gap: 55px;
}


.fv_inner {
    background-image: url(../images/footer_bg.jpg);
    background-size: cover;
    height: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.message p {
    text-align: center;
    width: 600px;
    margin: 0 auto;
    margin-top: 80px;
    margin-bottom: 60px;
}


/* 

TABLE

*/
.privacy_policy {
    text-align: center;
    padding: 30px 0;
    font-family: 'YuGothic';
    font-style: normal;
    font-weight: 500;
    font-size: 16px;
    line-height: 48px;
}

.privacy_policy a {
    display: inline;
    text-decoration-line: underline;

    color: var(--blue);

}

.box_con {
    max-width: 900px;
    margin: 0 auto;
}

th {
    vertical-align: middle;
}

@media only screen and (max-width: 768px) {
    .box_con {
        width: 95%;
    }
}

.box_con form {
    width: 100%;
}

.box_con form table {
    width: 100%;
}

.box_con form table tr {
    position: relative;
}

.box_con form table tr:after {
    content: "";
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    height: 1px;
    border-bottom: solid #cdcdcd 1px;
}

.box_con form table tr th {
    /* width: 30%; */
    font-weight: normal;
    padding: 1em .5em;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
    .box_con form table tr th {
        text-align: center;
        width: 100%;
        display: block;
        background: #97ae88;
        padding: .8em .2em;
        color: #fff;
    }
}

.box_con form table tr th span {
    background: var(--red);
    padding: 0 .3em;
    color: #fff;
    margin-left: .5em;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.box_con form table tr td {
    padding: 1em .5em;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
    .box_con form table tr td {
        padding: 1.5em .5em;
        display: block;
        width: 100%;
    }
}

.box_con form table tr .box_br {
    display: block;
}

.box_con form table tr select {
    border: 1px solid #97ae88;
}

.box_con form table tr label input {
    cursor: pointer;
    display: none;
    vertical-align: middle;
}

.box_con form table tr .radio02-input+label {
    padding-left: 23px;
    margin-right: 20px;
    position: relative;
}

.box_con form table tr .radio02-input+label:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #999;
    border-radius: 2px;
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.box_con form table tr .radio02-input:checked+label:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 3px;
    width: 12px;
    height: 12px;
    background: var(--red);
    border-radius: 2px;
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

td .box_br:nth-child(2) .radio02-input:checked+label:after {
    background: var(--yellow);
}

td .box_br:nth-child(3) .radio02-input:checked+label:after {
    background: var(--blue);
}

.box_con form table tr .radio01-input+label {
    padding-left: 23px;
    margin-right: 20px;
    position: relative;
}

.box_con form table tr .radio01-input+label:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #999;
    border-radius: 2px;
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.box_con form table tr .radio01-input:checked+label:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 3px;
    width: 12px;
    height: 12px;
    background: var(--red);
    border-radius: 2px;
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.box_con form table tr select,
.box_con form table tr input,
.box_con form table tr textarea {
    width: 100%;
    height: 2.9em;
    padding: .5em;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #C7C7C7;
    border-radius: 5px;
}

.box_con form table tr textarea {
    height: 10em;
}

/*プライバシーのデザインcss↓*/
.con_pri {
    max-width: 700px;
    margin: 0 auto;
}

@media only screen and (max-width: 768px) {
    .con_pri {
        width: 95%;
    }
}

.con_pri .box_pri {
    height: 300px;
    overflow-y: scroll;
    border: 1px solid #cdcdcd;
    background: #f7f7f7;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 20px;
    padding: 20px 55px;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri {
        margin-top: 4%;
        padding: 3%;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .con_pri .box_pri {
        padding: 4%;
    }
}

.con_pri .box_pri .box_tori {
    text-align: left;
    margin-top: 40px;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri .box_tori {
        margin-top: 4%;
    }
}

.con_pri .box_pri .box_tori h4 {
    font-weight: normal;
    margin-bottom: 30px;
    font-size: 150%;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri .box_tori h4 {
        margin-bottom: 4%;
    }
}

.con_pri .box_pri .box_tori .txt {
    padding: 0 20px;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri .box_tori .txt {
        padding: 0;
    }
}

.con_pri .box_pri .box_num {
    margin-top: 30px;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri .box_num {
        margin-top: 5%;
    }
}

.con_pri .box_pri .box_num h4 {
    font-weight: normal;
    font-size: 113%;
}

.con_pri .box_pri .box_num .txt {
    padding: 10px 0 0 20px;
}

@media only screen and (max-width: 768px) {
    .con_pri .box_pri .box_num .txt {
        padding: 3% 0 0 3%;
    }
}

.box_check {
    text-align: center;
    margin: 1em auto;
}

.box_check label {
    display: inline-block;
}

.box_check label span {
    margin-left: .3em;
}

.btn {
    text-align: center;
}

.btn input {
    font-family: 'YuGothic';
    font-style: normal;
    font-weight: 700;
    font-size: 15px;
    line-height: 24px;
    display: inline-block;
    padding: 20px 100px;
    text-decoration: none;
    cursor: pointer;
    border: none;
    -moz-transition: all 0.4s;
    -o-transition: all 0.4s;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: 200% auto;
    background-image: linear-gradient(to right,
            #fff 0%,
            #fff 50%,
            var(--red) 50%,
            var(--red) 100%);
    box-shadow: 0 3px 10px rgb(0 0 0 / 16%);
    transition: background-position ease 0.2s;
    border: 3px solid var(--red);
    color: var(--white);
border-radius: 8px;
}

.btn input:hover {
    background-position: 0 0;
    color: var(--red);
}