@charset "UTF-8";


/* wrapper
------------------------------------------------- */
#wrapper {
	opacity: 0;
}


/* header
------------------------------------------------- */
#header .logo {
    display: none;
}
@media only screen and (max-width:750px){
#header .logo {
    display: block;
    top: 6.133vw;
}
}


/* mainvisual
------------------------------------------------- */
.mainvisual {
    width: 100%;
    height: 150vh;
    z-index: 1;
    transition: 0.2s;
}
.mainvisual .sec {
    width: 100%;
    height: 100vh;
    background: url("../img/top/main_bg1.jpg") center center no-repeat;
    background-size: cover;
    color: #fff;
    position: sticky;
    top: 0;
    transition: 0.2s;
}
.mainvisual .sec::before {
    content: '';
    width: 100%;
    height: 100%;
    background: url("../img/top/main_bg2.png") center center repeat;
    background-size: 0.375em auto;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}
.mainvisual .sec::after {
    content: '';
    width: 100%;
    height: 100%;
    background: url("../img/top/main_bg3.png") left top no-repeat;
    background-size: 100% auto;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
}
.mainvisual .sec .box1 {
    padding-bottom: 1em;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    transition: opacity 1s ease 0.5s;
    opacity: 0;
    z-index: 3;
}
.mainvisual.on .sec .box1 {
    opacity: 1;
}
body.is-scroll .mainvisual .sec .box1 {
    transition: opacity 0.7s ease 0.1s;
    opacity: 0;
}
.mainvisual .sec .box1 h1 {
    width: 14.375em;
    margin: 0 auto 2.625em;
}
.mainvisual .sec .box1 h2 {
    font-weight: 700;
    line-height: 1;
    text-align: center;
}
.mainvisual .sec .box1 h2 span {
    letter-spacing: -0.02em;
    vertical-align: top;
}
.mainvisual .sec .box1 h2 span.vb {
    vertical-align: bottom;
}
.mainvisual .sec .box2 {
    padding-top: 1em;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
    transition: opacity 0.7s ease 0.1s;
    opacity: 0;
    z-index: 3;
}
body.is-scroll .mainvisual .sec .box2 {
    transition: opacity 1s ease 0.5s;
    opacity: 1;
}
.mainvisual .sec .box2 p {
    font-weight: 700;
    line-height: 2.125;
    letter-spacing: -0.02em;
}
.mainvisual .sec .box2 .txt2,
.mainvisual .sec .box2 .txt3 {
    margin-bottom: 0.15em;
}
.mainvisual .sec .box2 .txt4 {
    margin-bottom: 0.75em;
}
.mainvisual .sec .box2 p span {
    border-bottom: 1px solid rgba(255,255,255,1);
    padding-bottom: 0.25em;
}
.mainvisual .mnav {
    height: 100vh;
    display: flex;
    align-items: center;
    position: absolute;
    left: 5.125em;
    top: 0;
    z-index: 10;
}
.mainvisual .mnav ul {
    padding-bottom: 2em;
}
.mainvisual .mnav ul li {
    line-height: 2;
    margin: 0.9em 0;
}
.mainvisual .mnav ul li a {
    display: block;
    font-weight: 500;
    color: #fff;
}
.mainvisual .scroll {
    width: 8em;
    height: 8em;
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -4em;
    opacity: 0;
    overflow: hidden;
    z-index: 3;
}
.mainvisual.on .scroll {
    transition: opacity 0.4s ease 0.5s;
    opacity: 1;
}
.mainvisual .scroll::before {
    content: '';
    width: 8em;
    height: 8em;
    background-color: rgba(255,255,255,0.5);
    border: 1px solid rgba(255,255,255,0.5);
    border-radius: 50%;
    position: absolute;
    left: 50%;
    bottom: -2em;
    margin-left: -4em;
    animation: scrollCircle 1.8s ease-in 2.95s infinite;
    transform: scale(0);
}
.mainvisual .scroll::after {
    content: '';
    width: 1px;
    height: 12em;
    background: linear-gradient(to bottom,rgba(255,255,255,.8) 0,rgba(255,255,255,.8) 50%,transparent 50%,transparent 100%);
    position: absolute;
    left: 50%;
    bottom: 2.25em;
    animation: scrollLine 3.5s ease-in-out 2s infinite;
}
.mainvisual .scroll span {
    display: block;
    width: 1.125em;
    height: 0.75em;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2217.213%22%20height%3D%2211.443%22%20viewBox%3D%220%200%2017.213%2011.443%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_234900%22%20data-name%3D%22%E3%83%91%E3%82%B9%20234900%22%20d%3D%22M0%2C0%2C8.2%2C7.659%2C0%2C15%22%20transform%3D%22translate(16.117%201.024)%20rotate(90)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E') center bottom no-repeat;
    background-size: 100% auto;
    position: absolute;
    left: 50%;
    bottom: 0.625em;
    margin-left: -0.5625em;
    animation: scrollIcon 1.8s ease-in 2.95s infinite;
}
@media only screen and (min-width:751px){
.mainvisual .mnav ul li a:hover {
    color: #B1E7FF;
}   
}
@media only screen and (max-width:750px){
.mainvisual {
    height: 200vh;
}
.mainvisual .sec {
    height: 100dvh;
    background-image: url("../img/top/main_bg1_sp.jpg");
}
.mainvisual .sec::before {
    background-image: url("../img/top/main_bg2_sp.png");
    background-size: 1.466vw auto;
}
.mainvisual .sec::after {
    height: 119.733vw;
    background-image: url("../img/top/main_bg3_sp.png");
}
.mainvisual .sec .box1 {
    padding-bottom: 1.5em;
}
.mainvisual .sec .box1 h1 {
    width: 45.33vw;
    margin: 0 auto 10vw;
}
.mainvisual .sec .box1 h2 {
    width: 94vw;
    font-size: 6.66vw;
    line-height: 1.5;
    text-align: left;
    margin-left: 6vw;
}
.mainvisual .sec .box1 h2 span {
    font-size: 5.33vw;
}
.mainvisual .sec .box2 {
    width: 84vw;
    padding: 0 0 2em;
}
.mainvisual .sec .box2 p {
    line-height: 1.75;
}
.mainvisual .sec .box2 .txt1 {
    margin-bottom: 1em;
}
.mainvisual .sec .box2 .txt2,
.mainvisual .sec .box2 .txt3 {
    font-size: 5.33vw;
    line-height: 1.5;
    margin-bottom: 0.5em;
}
.mainvisual .sec .box2 .txt4 {
    font-size: 5.33vw;
    line-height: 1.5;
    margin-bottom: 1.35em;
}
.mainvisual .mnav {
    display: none;
}
.mainvisual .scroll {
    width: 30vw;
    height: 25vw;
    margin-left: -15vw;
}
.mainvisual .scroll::before {
    width: 25.33vw;
    height: 25.33vw;
    bottom: -8.5vw;
    margin-left: -12.665vw;
    animation: scrollCircle 1.8s ease-in 2.95s infinite;
}
.mainvisual .scroll::after {
    bottom: 9.066vw;
    animation: scrollLine 3.5s ease-in-out 2s infinite;
}
.mainvisual .scroll span {
    width: 4vw;
    height: 2.66vw;
    bottom: 2.933vw;
    margin-left: -2vw;
    animation: scrollIcon 1.8s ease-in 2.95s infinite;
}
}


/* second
------------------------------------------------- */
.second {
    background-color: #fff;
    padding: 0.3125em 0 0.375em;
    position: relative;
    z-index: 3;
}
.second ul li {
    width: 24.6285%;
    height: 17.5em;
}
.second ul li a {
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 5.75em;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}
.second ul li a::before {
    content: '';
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    transition: 0.4s;
    z-index: 1;
}
.second ul li:nth-child(1) a::before {
    background-image: url("../img/top/second_bnr1.jpg");
}
.second ul li:nth-child(2) a::before {
    background-image: url("../img/top/second_bnr2.jpg");
}
.second ul li:nth-child(3) a::before {
    background-image: url("../img/top/second_bnr3.jpg");
}
.second ul li:nth-child(4) a::before {
    background-image: url("../img/top/second_bnr4.jpg");
}
.second ul li a::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(10,26,26,0.8);
    position: absolute;
    left: 0;
    top: 0;
    transition: 0.4s;
    z-index: 2;
}
.second ul li a .headline1 {
    color: #fff;
    text-align: center;
    margin-bottom: 0;
    position: relative;
    z-index: 3;
}
.second ul li a .headline1::before {
    content: '';
    width: 0.366em;
    height: 0.733em;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210.825%22%20height%3D%2221.598%22%20viewBox%3D%220%200%2010.825%2021.598%22%3E%20%3Cg%20id%3D%22%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88_103_1%22%20data-name%3D%22%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%20103%20%E2%80%93%201%22%20transform%3D%22translate(0.563%200.508)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_94286%22%20data-name%3D%22%E3%83%91%E3%82%B9%2094286%22%20d%3D%22M-10157.062-3383.56l9.253%2C10.042-9.253%2C10.553%22%20transform%3D%22translate(10157.063%203383.56)%22%20fill%3D%22none%22%20stroke%3D%22%2348add9%22%20stroke-width%3D%221.5%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') right center no-repeat;
    background-size: cover;
    position: absolute;
    right: 1.45em;
    top: 1.3em;
    transition: 0.4s;
}
.second ul li a:nth-child(2) .headline1::before {
    right: 1.25em;
}
.second ul li a p {
    color: #fff;
    margin-top: 1em;
    text-align: center;
    position: relative;
    z-index: 3;
}
@media only screen and (min-width:751px){
.second ul li a:hover::before {
    transform: scale(1.1);
}
.second ul li a:hover::after {
    background-color: rgba(115,116,116,0.67);
}
.second ul li a:hover .headline1::before {
    right: 1.25em;
}
}
@media only screen and (max-width:750px){
.second {
    padding: 1.33vw 0;
}
.second ul li {
    width: 100%;
    height: 58.133vw;
    margin-bottom: 1.33vw;
}
.second ul li:last-child {
    margin-bottom: 0;
}
.second ul li a {
    padding-top: 19.5vw;
}
.second ul li:nth-child(2) a {
    padding-top: 18.5vw;
}
.second ul li:nth-child(1) a::before {
    background-image: url("../img/top/second_bnr1_sp.jpg");
}
.second ul li:nth-child(2) a::before {
    background-image: url("../img/top/second_bnr2_sp.jpg");
}
.second ul li:nth-child(3) a::before {
    background-image: url("../img/top/second_bnr3_sp.jpg");
}
.second ul li:nth-child(4) a::before {
    background-image: url("../img/top/second_bnr4_sp.jpg");
}
.second ul li a .headline1 {
    font-size: 6.66vw;
    letter-spacing: 0.05em;
}
.second ul li a .headline1::before {
    content: '';
    width: 2.933vw;
    height: 5.866vw;
    right: 17vw;
    top: 7vw;
}
.second ul li a:nth-child(2) .headline1::before {
    right: 17vw;
}
.second ul li a .headline1 span {
    font-size: 3.733vw;
    letter-spacing: 0.02em;
    margin-bottom: 0.75em;
}
.second ul li a p {
    font-size: 3.733vw;
    margin-top: 2.75vw;
    padding-left: 1em;
}
}


/* contactform
------------------------------------------------- */
#contactform {
    background-color: #D8E5EA;
    padding: 6em 0 6.125em;
    border-bottom: 0.375em solid #fff;
    box-sizing: border-box;
    position: relative;
    z-index: 3;
}
#contactform .inner {
    padding: 0 16.25em;
}
#contactform .headline1 {
    text-align: center;
    margin-bottom: 1.5em;
}
#contactform .box {
    width: 34em;
    background-color: #fff;
    margin: 0 auto 5em;
    padding: 1.75em 0;
    text-align: center;
}
#contactform .box p {
    line-height: 1;
}
#contactform .box .txt1 {
    padding-bottom: 0.25em;
}
#contactform .box .txt2 {
    padding-top: 0.45em;
}
#contactform .box .tel a {
    font-weight: 700;
    line-height: 1;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_79111%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2079111%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2234.323%22%20viewBox%3D%220%200%2028%2034.323%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_17471%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2017471%22%20transform%3D%22translate(14.323%202.748)%22%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_17469%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2017469%22%20transform%3D%22translate(1.229%200)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_40585%22%20data-name%3D%22%E3%83%91%E3%82%B9%2040585%22%20d%3D%22M1171.287%2C430.956a1.1%2C1.1%2C0%2C0%2C1-1.086-1.27%2C14.292%2C14.292%2C0%2C0%2C0-9.343-15.71%2C1.1%2C1.1%2C0%2C0%2C1%2C.735-2.07%2C16.489%2C16.489%2C0%2C0%2C1%2C10.777%2C18.124A1.1%2C1.1%2C0%2C0%2C1%2C1171.287%2C430.956Z%22%20transform%3D%22translate(-1160.127%20-411.842)%22%20fill%3D%22%23252c2c%22%2F%3E%20%3C%2Fg%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_17470%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2017470%22%20transform%3D%22translate(0%205.771)%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_40586%22%20data-name%3D%22%E3%83%91%E3%82%B9%2040586%22%20d%3D%22M1107.328%2C703.072c-.031%2C0-.061%2C0-.092%2C0a1.1%2C1.1%2C0%2C0%2C1-1-1.185%2C8.495%2C8.495%2C0%2C0%2C0-4.982-8.434%2C1.1%2C1.1%2C0%2C1%2C1%2C.9-2%2C10.69%2C10.69%2C0%2C0%2C1%2C6.272%2C10.618A1.1%2C1.1%2C0%2C0%2C1%2C1107.328%2C703.072Z%22%20transform%3D%22translate(-1100.601%20-691.349)%22%20fill%3D%22%23252c2c%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3Cg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_17472%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%2017472%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_40587%22%20data-name%3D%22%E3%83%91%E3%82%B9%2040587%22%20d%3D%22M408.285%2C282.257c-3.089%2C5.345-.5%2C13.49%2C2.789%2C19.082h0l.017.029.017.029h0c3.3%2C5.585%2C9.186%2C11.784%2C15.358%2C11.663a6.232%2C6.232%2C0%2C0%2C0%2C4.427-1.759l1.072-1.056a1.555%2C1.555%2C0%2C0%2C0%2C.059-2.155l-5.214-5.73a1.555%2C1.555%2C0%2C0%2C0-2.173-.126l-1.361%2C1.187a3.616%2C3.616%2C0%2C0%2C1-1.162.691c-1.889.67-3.747-.743-6.488-5.38l-.017-.029-.017-.029c-2.735-4.641-3.074-6.951-1.575-8.28a3.615%2C3.615%2C0%2C0%2C1%2C1.166-.683l1.7-.618a1.556%2C1.556%2C0%2C0%2C0%2C.94-1.963l-2.5-7.334a1.555%2C1.555%2C0%2C0%2C0-1.915-.99l-1.443.428A6.232%2C6.232%2C0%2C0%2C0%2C408.285%2C282.257Z%22%20transform%3D%22translate(-406.9%20-278.74)%22%20fill%3D%22%23252c2c%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') left center no-repeat;
    background-size: 0.78em auto;
    padding-left: 1.25em;
}
#contactform .sec .txt1 {
    padding-bottom: 2.75em;
}
#contactform .sec .txt2 {
    line-height: 1.785;
    text-align: center;
    padding: 3.15em 0 1.5em;
}
#contactform .sec .must {
    color: #C30E0E;
    letter-spacing: 0.05em;
}
#contactform .sec dl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 1.125em 0;
}
#contactform .sec dl.bikou {
    align-items: flex-start;
}
#contactform .sec dl dt {
    width: 26%;
    font-weight: 700;
    letter-spacing: 0.03em;
}
#contactform .sec dl.bikou dt {
    padding-top: 0.75em;
}
#contactform .sec dl dd {
    width: 74%;
}
#contactform .sec dl dd ul {
    display: flex;
    align-items: center;
}
#contactform .sec dl dd ul li {
    width: 14.0625em;
    margin-right: 0.9375em;
}
#contactform .sec .privacy {
    width: 44.125em;
    background-color: #fff;
    margin: 0 auto 2.5em;
    padding: 1.375em 1.75em 0;
    box-sizing: border-box;
}
#contactform .sec .privacy h4 {
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
    padding-bottom: 1em;
}
#contactform .sec .privacy p {
    line-height: 1.85;
    letter-spacing: 0.05em;
    padding-bottom: 2em;
}
#contactform .sec .agree {
    text-align: center;
    position: relative;
}
#contactform .sec .agree .must {
    position: absolute;
    left: 50%;
    top: 0.25em;
    margin-left: 11.25em;
}
#contactform .sec .btnst1 {
    margin-top: 4.75em;
    text-align: center;
}
#contactform .sec .btnst1 input {
    font-size: 27px;
    width: 27.22em;
    height: 4.11em;
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227.471%22%20height%3D%2214.131%22%20viewBox%3D%220%200%207.471%2014.131%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_94286%22%20data-name%3D%22%E3%83%91%E3%82%B9%2094286%22%20d%3D%22M-10157.063-3383.56l5.9%2C6.4-5.9%2C6.727%22%20transform%3D%22translate(10157.627%203384.068)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fsvg%3E') 94% center no-repeat, linear-gradient(90deg, #42A1CB, #4CB9BA);
    background-size: 0.44em auto, 100% 100%;
    border: 1px solid #4CB9BA;
    color: #fff;
    font-weight: 700;
    border-radius: 4em;
    margin: 0 auto;
    position: relative;
    cursor: pointer;
    transition: 0.4s;
}
#contactform .sec .wpcf7-not-valid-tip {
    font-size: 19.5px;
    letter-spacing: normal;
    line-height: 1.45;
    padding-top: 0.25em;
    white-space: nowrap;
}
#contactform .sec .btnst1 .wpcf7-spinner {
    display: block;
    margin: 1em auto 0;
}
#contactform .wpcf7 form .wpcf7-response-output {
    text-align: center;
    font-weight: 700;
    margin-top: 0;
}
@media only screen and (min-width:751px) and (max-width:2100px){
#contactform .sec .wpcf7-not-valid-tip {
    font-size: 0.92857vw;
}
#contactform .sec .btnst1 input {
    font-size: 1.28571vw;
}
}
@media only screen and (min-width:751px){
#contactform .sec .btnst1 input:hover {
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227.471%22%20height%3D%2214.131%22%20viewBox%3D%220%200%207.471%2014.131%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_94286%22%20data-name%3D%22%E3%83%91%E3%82%B9%2094286%22%20d%3D%22M-10157.063-3383.56l5.9%2C6.4-5.9%2C6.727%22%20transform%3D%22translate(10157.627%203384.068)%22%20fill%3D%22none%22%20stroke%3D%22%2348add9%22%20stroke-width%3D%221.5%22%2F%3E%3C%2Fsvg%3E') 94% center no-repeat, #fff;
    background-size: 0.44em auto, 100% 100%;
    color: #48ADD9;
} 
}
@media only screen and (max-width:750px){
#contactform {
    padding: 7.5vw 0 8vw;
    border-bottom: 1.33vw solid #fff;
}
#contactform .inner {
    width: 84%;
    padding: 0;
}
#contactform .headline1 {
    font-size: 5.33vw;
    margin-bottom: 1.75em;
}
#contactform .headline1 span {
    font-size: 3.733vw;
}
#contactform .box {
    width: 100%;
    margin: 0 auto 7.25vw;
    padding: 4vw 0;
}
#contactform .box p {
    line-height: 1.45;
}
#contactform .box .txt1 {
    font-size: 4vw;
}
#contactform .box .txt2 {
    font-size: 3.733vw;
    padding-top: 0;
}
#contactform .box .tel {
    font-size: 8vw;
}
#contactform .sec .txt1 {
    padding-bottom: 2em;
}
#contactform .sec .txt2 {
    font-size: 3.733vw;
    letter-spacing: -0.03em;
    padding: 1.75em 0 0.75em;
}
#contactform .sec .must {
    font-size: 3.2vw;
}
#contactform .sec dl {
    display: block;
    margin: 0 0 6.5vw;
}
#contactform .sec dl.fi {
    margin: 0 0 4vw;
}
#contactform .sec dl dt {
    width: 100%;
    font-size: 4vw;
    margin-bottom: 2.5vw;
}
#contactform .sec dl.bikou dt {
    padding-top: 0;
}
#contactform .sec dl dd {
    width: 100%;
}
#contactform .sec dl dd ul {
    display: flex;
    justify-content: space-between;
}
#contactform .sec dl dd ul li {
    width: 48.25%;
    margin-right: 0;
}
#contactform .sec .privacy {
    width: 100%;
    margin: 0 auto 7.5vw;
    padding: 4vw 4.8vw 0;
}
#contactform .sec .privacy h4 {
    font-size: 3.466vw;
    padding-bottom: 0.75em;
}
#contactform .sec .privacy p {
    font-size: 3.2vw;
    line-height: 1.65;
    letter-spacing: normal;
    padding-bottom: 1.75em;
}
#contactform .sec .agree .must {
    margin-left: 12.5em;
}
#contactform .sec .btnst1 {
    margin-top: 12.8vw;
}
#contactform .sec .btnst1 input {
    font-size: 4.266vw;
    width: 100%;
    height: 16.5vw;
    background-position: 88% center;
}
#contactform .sec .wpcf7-not-valid-tip {
    font-size: 3.2vw;
}
#contactform .wpcf7 form .wpcf7-response-output {
    font-size: 3.733vw;
    line-height: 1.45;
}
}