@charset "UTF-8";
/* CSS Document */ :root {
    --base: #333333;
    --accent: #E71F19;
    --thin: #F5AC5A;
    --gray1: #999999;
    --gray2: #4D4D4D;
}
html {
    font-size: 62.5%;
}
body {
    font-size: 16px;
    font-size: 1.6rem;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    color: var(--base);
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
    line-height: 1.6;
}
.container {
    max-width: 1000px;
    padding: 0 30px;
    margin: auto;
    position: relative;
}
h2 {
    font-size: clamp(2rem, 3vw, 3rem);
    line-height: 1.4;
    margin: 0;
}
/*header
----------------------------------*/
header {
    text-align: center;
    display: flex;
    justify-content: center;
}
header .logo h1 {
    font-size: clamp(2rem, 4vw, 4rem);
    line-height: 1;
    margin-bottom: .4em;
}
header .logo h1 span {
    background: -webkit-linear-gradient(0deg, #30e9ff, #5ebeff, #1864ff);
    color: #30e9ff;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
header .logo h1 + p {
    margin: 0 0 .1em;
    font-style: italic;
    font-weight: bold;
    padding-bottom: 1em;
}
/*headtop
----------------------------------*/
.headtop {
    background: -webkit-linear-gradient(0deg, #f36, #ffab5e, #ffce18);
    color: #fff;
    padding: 1em;
    text-align: center;
}
/*kv
----------------------------------*/
#kvsection {
    background: #feffe3;
    text-align: center;
    padding: 3em 0;
}
#kvsection h3 {
    margin-top: 0;
    background: #f36;
    color: #fff;
    font-size: clamp(3rem, 3vw, 3.5rem);
    padding: 0.2em 0.5em;
    display: inline-block;
    margin-bottom: 0;
}
#kvsection h4 {
    font-size: clamp(2.2rem, 3.5vw, 4rem);
    margin: 0;
    padding-top: 0.5em;
}
#kvsection h4 span {
    color: #f36;
    font-size: clamp(3rem, 5vw, 5rem);
}
#kvsection p {
    margin: 0;
    padding: 0.1em 0 2em;
    font-size: clamp(1.3rem,1.6vw, 1.7rem);
}
#kvsection ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1em;
    color: #fff;
}
#kvsection ul li {
    background: #584242;
    border-radius: 10px;
    padding: 1.3em 0.4em;
    font-weight: 600;
    justify-content: center;
    display: flex;
    align-items: center;
}
/*form
----------------------------------*/
.flowforminner {
    height: 100%;
    overflow-y: auto;
    position: relative;
    background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(223 247 255) 0%, rgb(142 208 231) 39%, rgb(121 230 231) 54%, rgb(7 191 255) 74%, rgb(0, 187, 255) 100%);
    border-radius: 16px;
    padding: 10px;
    border: 5px solid #fff;
}
.flowforminner form {
    padding: 20px 5em;
    background: #fff;
    border-radius: 10px;
    height: 100%;
}
.flowforminner dl dt {
    font-weight: bold;
    font-size: clamp(1.8rem, 2vw, 2rem);
    margin-bottom: 1em;
    text-align: left;
}
.flowforminner .next {
    background: #1400ff;
}
.flowforminner .prev {
    background: #999;
}
.flowforminner .next, .flowforminner .prev {
    padding: 15px 40px;
    display: block;
    width: auto;
    cursor: pointer;
    color: #fff;
    border-radius: 10px;
    margin: 0;
    flex-shrink: 0;
}
.flowforminner ul li {
    margin-bottom: 1em;
}
.flowforminner ul li input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-right: 5px;
    position: relative;
    top: 4px;
    margin-left: 4px;
}
.nextprev {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 2em;
}
.flowforminner dl.fllast dt {
    margin: 1em 0 0 !important;
    font-size: clamp(1.6rem, 1.6vw, 2rem);
}
.flowforminner dl.fllast dt i {
    background: #f00;
    border-radius: 4px;
    font-size: 1.2rem;
    padding: 3px;
    color: #fff;
    line-height: 3;
    text-align: center;
    font-style: normal;
    position: relative;
    top: -2px;
    margin-right: 8px;
}
.flowforminner dl.fllast dd input {
    padding: 0.8em;
    width: 100%;
    border-radius: 4px;
    border: 1px solid #a9acb4;
}
.flowforminner dl.fllast dd select {
    border: 1px solid #a9acb4;
    padding: 1em;
}
.flowforminner dl.fllast .next {
    border: none;
    padding: 0;
}
.flowforminner dl.fllast .next input[type=submit] {
    border: none;
    padding: 15px 40px;
    text-align: center;
    margin: auto;
    line-height: 1.5;
    width: 140px;
}
.flownum {
    text-align: center;
    margin: 1em 0em 2em;
}
.flownum img {

    max-width: 100%;
}
label.error {
    color: #f00;
}
.stepformhead {
    background: linear-gradient(135deg, rgb(255, 255, 255) 0%, rgb(173, 254, 235) 0%, rgb(0, 214, 164) 39%, rgb(0, 193, 157) 54%, rgb(0, 198, 181) 74%, rgb(143 156 241)100%);
    padding: 30px;
    margin-bottom: 1em;
}
.stepformhead .container {
    display: flex;
    align-items: center;
    justify-content: center;
}
.stepformhead .container div:first-child {
    background: #fff;
    border-radius: 100px;
    height: 100px;
    width: 100px;
    color: #333;
    font-size: clamp(1.2rem, 1.3vw, 1.6rem);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-weight: bold;
    flex-direction: column;
    font-style: italic;
    flex-shrink: 0;
}
.stepformhead .container div:first-child span {
    font-size: clamp(1.3rem, 1.5vw, 1.7rem);
    display: block;
}
.stepformhead .container div:first-child span b {
    font-size: clamp(2rem, 2.5vw, 2.6rem);
    text-align: center;
    justify-content: center;
    line-height: 1;
    color: #00bdf2;
}
.stepformhead .container div:last-child {
    font-size: clamp(2rem, 3vw, 4rem);
    font-weight: bold;
    margin: 0 1em;
    font-style: italic;
    color: #fff;
}
.stepformhead h4 {
    margin: 0;
}
.stepformhead h4 small {
    display: block;
}

#formthx {
    display: flex;
    flex-direction: column;
    margin: auto;
    max-width: 380px;
    border: 7px solid #eee;
    border-radius: 10px;
    padding: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: calc(100vh - 60%);
}
#formthx footer{
    background: none;
    color: #333;
}
#formthx h1{
    color: #f36;
    font-size: 30px;
    margin-top: 0;
}
#formthx p{
    text-align: justify;
}
/*----------------------------------
form*/
/*raisepr
----------------------------------*/
.raisepr {
    padding: 3em 0;
}
.raisepr h2 {
    text-align: center;
    color: #000;
    margin-bottom: 1em;
    background: -webkit-linear-gradient(0deg, #30e9ff, #5ebeff, #1864ff);
    color: #30e9ff;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.grid2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 3em;
}
.grid2 .rightcontent h3 {
    margin-top: 0;
    font-size: clamp(1.6rem, 2vw, 2rem);
}
.grid2 .rightcontent p {
    text-align: justify;
}
.grid2 h3 {}
/*corprate
----------------------------------*/
.corprate {}
.corprate dl {
    border-bottom: 1px solid #eee;
    padding-bottom: 1em;
    margin-bottom: 1em;
    display: grid;
    grid-template-columns: 13em 1fr;
}
.corprate dl dt {
    font-weight: 600;
}
.corprate dl dd {}
.corprate {}
footer {
    margin-top: 10em;
    background: #333;
    color: #fff;
    font-size: 1.2rem;
    padding: 1.4em;
}
footer ul {
    display: flex;
    justify-content: space-between;
}
footer ul li:first-child {
    margin-right: 1em;
}
footer ul li:last-child {
    margin-left: auto;
}
footer a:link, footer a:visited {
    color: #fff;
}
.sp-hidden {
    display: none;
}
.md-hidden {
    display: none;
}
.sp-visible {
   display: none;
}
@media(min-width:1200px) {}
@media(max-width:1080px) {
    .container {
        max-width: 1000px;
        padding: 0 15px;
        margin: auto;
        position: relative;
    }
}
@media(max-width:768px) {
    body{
        font-size: 1.4rem;
    }
        .sp-hidden {
        display: inherit;
    }
    .md-hidden {
        display: none;
    }
    .sp-visible {
        display: inherit;
    }
    .stepformhead{
        padding: 10px 0;
    }
    #kvsection ul {
        grid-gap: .4em;
        grid-template-columns: 1fr;
    }
    #kvsection ul li {
        font-size: 1.3rem;
    }
    .grid2 {
        display: grid;
        grid-template-columns: 1fr;
        grid-gap: 1em;
    }
    /*corprate
----------------------------------*/
    .corprate dl {
        grid-template-columns: 1fr;
    }
    .corprate dl dt br {
        display: none;
    }
    .flowforminner form {
    padding: 10px 1em;
    background: #fff;
    border-radius: 10px;
    height: 100%;
}
    
    
    .flowforminner form {
        padding: 20px 1em;
    }
    .check-item {
        margin-left: 33px;
    }
    .check-item li label {
        position: relative;
    }
    .flowforminner ul li input[type="checkbox"] {
        ;
        margin-right: 10px;
        top: -1px;
        position: absolute;
        left: -30px;
    }
    .flowforminner dl.fllast dd input{
        font-size: 1.6rem;
    }
   
    .stepformhead {
        padding: 20px 0;
    }
    .raisepr h2{
        line-height: 1.3;
    }
    .nextprev{
        grid-gap: 10px;
    }
    #formthx{
        padding: 30px;
        border: none;
    }
}
@media(max-width:580px) {}