@charset "utf-8";
:root {
    --c-white: #fff;
    --c-black: #333;
    --c-dark-gray: #444;
    --c-gray: #888;
    --c-light-gray: #e1e4e3;
    --c-off-white: #f2f2f2;
    --c-light-yellow: #f8f3ec;
    --c-green: #05856B;
    --bs-body-line-height: 1.8;
    --textarea-height: 5em;
    --textarea-line-height: 1.5;
}
/*---------- common ----------*/
body {color:var(--c-black);font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;}
a {color:var(--c-green);text-decoration:none;font-weight:bold;}
mark {padding:2px 5px;background-color:var(--c-green);color:var(--c-white);}
ol, ul {padding-left:1.4rem;}
li {margin-bottom:10px;}
li:last-child {margin-bottom:0;}
textarea {
  height: calc(
    var(--textarea-line-height) *
    var(--textarea-height)
  );
  line-height: var(--textarea-line-height);
}
.container {--bs-gutter-x: 3.5rem;max-width:800px;}
.url {word-break: break-all;}
/*---------- header ----------*/
/* nav */
.navbar-nav {
    --bs-nav-link-padding-x: 0;
    --bs-nav-link-padding-y: 0.6rem;
    margin-top: 10px;
}
.navbar-toggler {
    padding: 10px 0 0;
    border-color: rgba(0,0,0,0);
}
.navbar-toggler:focus {
    box-shadow: none;
}
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(5, 133, 107, 1)' stroke-width='3' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.nav-item.cta {
    margin: 15px 0 0;
}
.nav-item.cta .nav-link {
    background-color: var(--c-green);
    border-radius: 5px;
    color: var(--c-white);
    font-weight: bold;
    text-align: center;
}
.linkBtn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 230px;
    height: 55px;
    margin: 0 auto;
    background-color: var(--c-green);
    border-radius: 5px;
    color: var(--c-white);
    font-weight:bold;
}
/* breadcrumb */
.breadcrumb {
    font-size:.85rem;
}
.pageHeader {
    margin: 3rem 0 5rem;
}
.pageHeader p {
    font-size:0.9rem;
}

/*---------- footer ----------*/
footer {margin: 60px 0;}
footer nav {
    margin: 5rem 0 0;
}
footer nav ul {
    padding:0;
    list-style:none;
    text-align: center;
    font-size:0.8rem;
}
footer nav li {
    padding: 5px 0;
}
footer nav a {
    color:var(--c-black);
    font-weight:normal;
}
.copyright {margin: 60px 0 0;text-align:center;}
/*---------- typography ----------*/
.br-sp {display: block;}

/*---------- main ----------*/
h1, h2, h3, h4, h5, h6 {
    letter-spacing: 0.1rem;
    line-height: 1.6;
}
h1 .jp {font-weight:bold;font-size:clamp(2rem, 2vw + 1rem, 2.5rem);}
h1 .en {font-size:clamp(.5rem, 2vw + 1rem, 1rem);}
h1 {margin: 0 0 1.5rem;}
h2 {
    margin: 3rem 0 1.4rem;
    padding: 1rem 0;
    border-top: 1px solid;
    border-bottom: 1px solid;
    font-size:clamp(1.4rem, 2vw + 1rem, 1.8rem);
    font-weight: bold;
}
h3 {margin:3rem 0 1.3rem;font-size:clamp(1.4rem, 2vw + 1rem, 1.8rem);}

/*---------- page ----------*/
.qa dl dt {
    position: relative;
    padding: 30px 0 0 40px;
}
.qa dl dt::before {
    content: 'Q';
    position: absolute;
    left: 5px;
    background:var(--c-black);
    width: 25px;
    height: 25px;
    margin-top: -1px;
    line-height: 1.6;
    border-radius: 50%;
    color: var(--c-white);
    text-align: center;
}
.qa dl dd {
    position: relative;
    margin: 0;
    padding: 20px 0 30px 40px;
}
.qa dl dd::before {
    content: 'A';
    position: absolute;
    left: 5px;
    background: var(--c-light-gray);
    width: 25px;
    height: 25px;
    margin-top: -1px;
    line-height: 1.6;
    border-radius: 50%;
    color: var(--c-white);
    text-align: center;
    font-weight:bold;
}
.table>:not(caption)>*>* {
    display: block;
    width: 100%;
    padding:0;
    border:none;
}
.table tr:first-child th {
    margin-top: 0;
} 
.table th {
    margin-top: 2rem;
    font-weight: bold;
}
.table td ul li {
    margin: 0;
}
.form-privacy_box {
    overflow-y: scroll;
    height: 34vh;
    background-color: #fff;
    line-height: 1.3;
    color: #000;
    font-size: .8rem;
}
.form-privacy_box {

}

/*---------- tablet ----------*/
@media screen and (min-width: 600px) {
.br-sp {display: none;}
}

/*---------- pc ----------*/
@media screen and (min-width: 1025px) {
}

@media screen and (min-width: 1200px) {
.nav-item.cta {
    margin: 0;
}
}