@charset "utf-8";
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

:root {
    --base-radius: .625rem;
    
}


html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

ul,
ol {
    list-style: none;
}

html {
    font-size: 16px;
    /* overflow: hidden; */
    /* letter-spacing: 0.05em; */
    /* scroll-behavior: smooth; */
    /* scroll-padding-top: 2rem; */
    color: #444;
    letter-spacing: 0.1rem;
    font-weight: 500;
}

body {
    line-height: 2;
    font-family: serif;
    background: #fff;
    overflow-x: hidden;
    color: #444;
    font-family: 'Noto Sans JP',sans-serif;
    font-weight: 500;
    /* padding: 4.6875rem 0 0 3.125rem; */
    position: relative;
}
* {
    font-family: 'Noto Sans JP',sans-serif;
    box-sizing: border-box;
}

@media screen and (max-width: 1024px) {
    html {
        font-size: max(1.6vw,12px);
    }
}

@media screen and (max-width: 750px) {
    html {
        font-size: 14px;
    }

    body {
        min-width: 0;
        /* overflow: hidden; */
    }
}

@media screen and (max-width: 640px) {
    html {
        /* font-size: 2.1vw; */
    }
}
@media screen and (max-width: 500px) {
    html {
        /* font-size: 14px; */
    }
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
    display: block;
}

nav ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    background: transparent;
    text-decoration: none;
    color: #333;
}
a.link {
    color: var(--main-color2);
    color: #bc0022;
    /* text-decoration: underline; */
}
a.link.color2 {
    color: #0a5dbb;
}
a.link:hover {
    text-decoration: none
}
a:focus {
    outline: none
}

a:hover img {
    /* opacity: .85 */
}

/* change colours to suit your needs */
ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

/* change colours to suit your needs */
mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: separate;
    border-spacing: 0;
    border-collapse: collapse;
    /* table-layout: fixed; */
    /* word-break: keep-all; */
    /* background: #fff; */
}

/* change border colour to suit your needs */
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input,select {
    width: 100%;
    -webkit-appearance: none;
    outline: none;
    margin: 0;
    font-family: 'Noto Sans JP',sans-serif;
}
button {
    -webkit-appearance: none;
    outline: none;
    margin: 0;
    font-family: 'Noto Sans JP',sans-serif;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

#mv img {
    
max-width: none;
    
width: 100%;
}

.sec {
    padding: 6.25rem 1.25rem
}
@media (max-width: 1024px) {
    .sec {padding: 6.25rem 3%}
}
@media (max-width: 750px) {
    .sec {padding: 4.25rem 3%}
}
.sec.bg {
    background: #F8F8F8
}
.inner {
    max-width: 1000px;
    margin: auto;
}
h2.secTtl {
    font-size: 2.5rem;
    text-align: center;
    line-height: 1.15;
    margin-bottom: 2.5rem;
}

h3 {
    font-size: 1.875rem;
    text-align: center;
    margin-bottom: 2.5rem;
}

.boxItem {
    max-width: 750px;
    margin: auto;
}
.boxItem .boxHead {
    background: #249BC2;
    color: #fff;
    text-align: center;
    font-size: 1.875rem;
    font-weight: bold;
    line-height: 1.15;
    padding: 1.25rem 0.5rem;
    border-radius: var(--base-radius) var(--base-radius) 0 0;
}
.boxItem .boxHead p {
    /* display: inline-block; */
    /* text-align: left; */
}
.boxItem .boxCont {
    padding: 1.875rem;
    border: 1px solid #ddd;
    border-top: none;
    border-radius: 0 0 var(--base-radius) var(--base-radius);
}
.boxItem .boxCont > .text {
    margin-bottom: 1.875rem
}
.annoText {
    max-width: 500px;
    margin: 2.5rem auto;
    font-weight: 500
}
.annoText:last-child {
    margin-bottom: 0
}
.block + .block {
    margin-top: 2.5rem
}
.imgTextItem {
    /* clear: both; */
    display: flex;
    justify-content: space-between;
    gap: 4%;
    align-items: center;
}
.imgTextItem + .imgTextItem {
    margin-top: 2.5rem
}
.imgTextItem.imgR {
    flex-direction: row-reverse;
}
.imgTextItem .img {
    width: 46%;
}
.imgTextItem .textArea {
    width: 50%
}

.profArea {
    border-radius: var(--base-radius);
    border: 1px solid #ddd;
    background: #fff;
    padding: 3.125rem;
    display: flex;
    align-items: center;
    gap: 2.75rem;
}
.profArea .profText {
    flex: 1;
}
.profArea .profImg {
    width: 250px
}
.profArea .profText .head {
    font-weight: bold;
    line-height: 1.15;
    margin-bottom: 1.875rem;
}
.profArea .profText .head .comp {
    margin-bottom: 1.25rem
}
.profArea .profText .head .name {
    font-size: 1.875rem;
    margin-bottom: 1.25rem
}
.profArea .profText .head .name .small {
    font-size: 80%;
    display: inline-block;
}
.checkList li:not(:last-child) {
    margin-bottom: 2.8125rem;
}
.checkList li .lead {
    --left-width: 1.75em;
    /* display: flex; */
    font-size: 1.5rem;
    font-weight: bold;
    padding-left: var(--left-width);
    text-indent: calc(var(--left-width) * -1);
    line-height: 1.5;
}
.checkList li .lead:before {
    content: "";
    display: inline-block;
    width: var(--left-width);
    height: 1.5em;
    background: url(../img/check.svg) no-repeat center;
    background-size: 1em;
    vertical-align: bottom;
}
.imgTextList li {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.imgTextList li:not(:last-child) {
    margin-bottom: 2.5rem;
}
.imgTextList.case li:not(:last-child) {
    margin-bottom: 5rem;
}
.imgTextList li .img {
    width: 46%;
    align-self: flex-start;
}
.imgTextList li .textArea {
    width: 50%
}
.imgTextList li .textArea .ttl {
    font-size: 1.5rem;
    text-align: left;
    margin-bottom: 1.25rem;
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    gap: 1rem;
}
.imgTextList li .textArea .ttl .small {
    font-size: 75%;
}
.imgTextList li .textArea .ttl .large {
    font-size: 125%;
}

.stepList {
    max-width: 800px;
    margin: auto;
}
.stepList li {
    display: flex;
    align-items: center;
    gap: 2rem 2.5rem;
    position: relative;
}
.stepList li:not(:last-child) {
    padding-bottom: 8.5rem;
}
.stepList li:not(:last-child):after {
    content: "";
    width: 9.375rem;
    height: 2.1875rem;
    background: #d9d9d9;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    position: absolute;
    left: 50%;
    bottom: 3rem;
    transform: translateX(-50%);
}
.stepList li .img {
    width: 40.5%;
    max-width: 280px;
}
.stepList li .textArea {
    flex: 1;
}
.stepList li .textArea .ttl {
    font-size: 1.875rem;
    font-weight: bold;
    line-height: 1.15;
    margin-bottom: 2.5rem;
}

.priceBox {
    border-radius: var(--base-radius);
    border: 1px solid #ddd;
    background: #fff;
    padding: 2rem 2.5rem;
    max-width: 750px;
    margin: auto;
}
.priceBoxHead {
    font-weight: bold;
    text-align: center;
    line-height: 1.15;
    margin-bottom: 1.5rem;
}
.priceBoxHead p.ttl {
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
    display: inline-block;
    text-align: left;
}
.priceBoxHead p.priceText {
    font-size: 1rem;
    display: flex;
    justify-content: center;
    gap: 0.5rem 0.5rem;
    align-items: baseline;
}
.priceBoxHead p.priceText .ttl {
    font-size: 187.5%;
}
.priceBoxHead p.priceText .price {
    font-size: 275%;
}
.priceBoxHead p.priceText .tax {
    font-size: 125%;
}
.priceBoxCont dt {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 0.25rem;
}
.priceBoxCont dd ul.list {
    font-weight: bold;
    line-height: 2;
    margin-bottom: 0.5rem;
}
.priceBoxCont dd ul.list li {
    --list-indt: 1.75rem;
    padding-left: var(--list-indt);
    text-indent: calc(var(--list-indt) * -1)
}
.priceBoxCont dd ul.list li:before {
    content: "・";
    padding-left: var(--list-indt);
    display: inline-block;
    text-align: center;
}
.annoList {
    font-size: 0.875rem;
    color: #999;
    line-height: 1.5rem;
}
.qaList {
    max-width: 750px;
    margin: auto;
}
.qaList dt {
    font-size: 1.875rem;
    font-weight: bold;
    line-height: 1.15;
    margin-bottom: 1.25rem;
    padding-top: 5.25rem;
}

.msgBox {
    max-width: 500px;
    margin: auto;
}
.msgBox .img {
    margin: 0 auto 2.5rem;
    max-width: 300px;
}

.ttlList {
    line-height: 1.5
}
.ttlList > div:not(:last-child) {
    margin-bottom: 2.8125rem
}
.ttlList dt {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 0.5rem
}
.ttlList dd {
    font-size: 1.0625rem;
}
ol.numList {
    list-style-type: decimal;
    padding-left: 1.75em;
}
.formList > div {
    display: flex;
    gap: 2px;
}
.formList > div:not(:last-child) {
    margin-bottom: 1.25rem;
}
.formList > div dt {
    width: 36%;
    background: #249BC2;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    gap: 0.25rem;
    line-height: 1.15;
    border-radius: var(--base-radius) 0 0 var(--base-radius);
    min-height: 3.75rem;
}
.formList > div dd {
    /* width: 64%; */
    min-height: 3.75rem;
    flex: 1;
    border: 1px solid #ddd;
    border-radius: 0 var(--base-radius) var(--base-radius) 0;
    display: flex;
}
.formList > div dt .label {
    font-size: .75rem;
    display: block;
    background: #FFA500;
    color: #fff;
    padding: 0.25em 0.5em;
    border-radius: 3px;
}
.formList > div dt .label.ptn2 {
    background: #EEEEEE;
    color: #FFA500;
}
.formList > div dd input,
.formList > div dd textarea {
    border: none;
    font-size: 1rem;
    padding: 0.25rem 1rem;
    background: none;
    width: 100%;
    height: 100%;
    letter-spacing: 0.1rem;
    min-height: 3.75rem;
}
.formList > div dd textarea {
    resize: none;
    height;
    height: 12.5rem;
    padding: 1rem;
}
.radioList {
    padding: 1.75rem 1rem;
}
.radioList li:not(:last-child) {
    margin-bottom: .75rem
}
.radioList li .textWrap {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #000;
}
.radioList li .textWrap .radio {
    width: 1.375rem;
    aspect-ratio: 1/1;
    border: 1px solid #A0AAA5;
    border-radius: 100%;
    position: relative;
}
.radioList li .textWrap .radio:after {
    content: "";
    display: block;
    position: absolute;
    width: 63%;
    aspect-ratio: 1/1;
    background: #249BC2;
    border-radius: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    opacity: 0;
    transition: .25s opacity;
}
.radioList li input:checked + .textWrap .radio:after {
    opacity: 1
}
.radioList li input {
    display: none
}
.submitBtnArea {
    margin-top: 3.75rem;
}
.submitBtnArea button {
    display: flex;
    background: #FFA500;
    border: none;
    outline: none;
    border-radius: var(--base-radius);
    font-size: 1.625rem;
    color: #fff;
    font-weight: bold;
    line-height: 1;
    height: 5rem;
    width: 100%;
    max-width: 28.4375rem;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.1rem;
    box-shadow: 0px 4px 10px 0px rgba(0,0,0,0.1);
    margin: auto;
    cursor: pointer;
    gap: 0.5rem;
}
.submitBtnArea button .icon img {
    width: 1.25em
}
#copy {
    text-align: center;
    margin-top: 1.25rem;
    
}
::placeholder {
  color: #ddd;
}

.homeBtn .btn {
    display: flex;
    color: #FFA500;
    border: 3px solid;
    font-size: 1.3625rem;
    border-radius: var(--base-radius);
    max-width: 330px;
    justify-content: center;
    align-items: center;
    line-height: 1;
    padding: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.15rem;
    margin: auto;
    text-indent: 0.15rem;
}
@media (max-width: 750px) {
    h2.secTtl {
        line-height: 1.5;
        font-size: 1.75rem;
    }
    h3 {
        font-size: 1.4rem;
    }
    .checkList li:not(:last-child) {
    margin-bottom: 2rem;
    }
    .checkList li .lead {
        font-size: 1.15rem
    }
    .boxItem .boxHead {
        font-size: 1.4rem;
        line-height: 1.25
    }
    .imgTextItem {
       flex-direction: column!important;
       gap: 2rem;
    }
    .imgTextItem .img ,
    .imgTextItem .textArea {
        width: 100%;
    }
    .ttlList dt {
        font-size: 1.15rem
    }
    .profArea {
        flex-direction: column;
    }
    .profArea .profImg {
        width: 90%;
    }
    .imgTextList li {
        flex-direction: column;
        gap: 2.5rem;
    }   
    .imgTextList li:not(:last-child) {
        margin-bottom: 5rem;
    }
    .imgTextList li .img,.imgTextList li .textArea {
        width: 100%
    }
    .imgTextList li .textArea .ttl {
        margin-bottom: 2rem;
        font-size: 1.15rem;
    }
    .imgTextList li .textArea .ttl .small {
        font-size: 112.5%;
    }
    .annoText {
        max-width: 100%
    }
    .stepList li {
        flex-direction: column;
    }
    .stepList li .img {
        width: 80%;
    }
    .stepList li .textArea .ttl {
        font-size: 1.45rem;
    }
    .priceBoxHead p.ttl {
        font-size: 1.15rem;
        margin-bottom: 1.5rem;
    }
    .priceBoxHead p.priceText {
        font-size: 1.15rem;
        flex-wrap: wrap;
    }
    .priceBoxHead p.priceText .ttl {
        width: 100%;
    }
    .priceBoxHead p.priceText .ttl,
    .priceBoxHead p.priceText .tax {
        font-size: 100%;
    }
    .priceBoxHead p.priceText .price {
        font-size: 225%
    }
    .priceBoxCont dt {
        font-size: 1.15rem
    }
    .priceBoxCont dd ul.list {
        font-size: 1.15rem
    }
    .qaList dt {
        font-size: 1.45rem;
    }
    .formList > div {
        flex-direction: column;
    }
    .formList > div dt {
        width: 100%;
        border-radius: var(--base-radius) var(--base-radius) 0 0;
    }
    .formList > div dd {
        
        border-radius: 0 0 var(--base-radius) var(--base-radius);
    }
}
.marker {
    background: linear-gradient(transparent 60%, rgba(255,245,157,0.7) 60%);
}
.bold {
    font-weight: bold
}
.tac {text-align: center;}
.dilb {display: inline-block}