@charset "utf-8";*,::after,::before{box-sizing:border-box}html{font-family:"kozuka-gothic-pr6n",sans-serif;font-style:normal;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{font-family:"kozuka-gothic-pr6n",sans-serif;margin:0;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin:0;padding:0;list-style:none}ol ol,ol ul,ul ol,ul ul{margin:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.featherlight-sample{display:none}#law td{background:#fff;border:solid 1px #999}ol{margin-bottom:1rem}.clearfix:after{content:"";clear:both;display:block}.button,::file-selector-button{inline-size:fit-content;touch-action: manipulation;user-select:none;}*:focus-visible{outline:2px solid magenta;outline-offset:2px}
.KozEL,.KozL,.KozR,.KozM,.KozB,.KozH { font-family: "kozuka-gothic-pr6n", sans-serif; font-style: normal;}
.KozEL { font-weight: 200;}.KozL { font-weight: 300;}.KozR { font-weight: 400;}.KozM { font-weight: 500;}.KozB { font-weight: 700;}.KozH { font-weight: 900;}
.inter-<uniquifier> {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
    font-variation-settings: "slnt" 0;}
.noto-sans jp-<uniquifier> {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;}
.inter { font-family: "Inter","Noto Sans JP", sans-serif; font-style: normal;}
header {
    width: 100%;
    height: 150px;
    background-color: #00000070;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 2vw;
    position: fixed;
    top: 0;
    left: 0;
    transition: .5s;
    z-index: 10;}
header .logo {
    width: 30%;
    max-width: 130px;
    margin-right: 3.5vw;
    transition: .5s;}
header .logo a { display: block;}
header .logo a img { width: 100%;}
header nav {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: "Inter","Noto Sans JP", sans-serif;
    font-weight: bold;
    font-size: min(3vw, 30px);
    transition: .5s;}
header nav ul {
    display: flex;
    align-items: center;}
header nav ul li { text-align: center;}
header nav ul li a {
    padding: 0 min(3vw, 14px);
    color: #fff;}
header nav div a {
    color: #000;
    padding: 7px 21px;
    background-color: #ffa800;
    border-radius: 40px;}
header.fixed {
    width: 100%;
    height: 80px;}
header.fixed .logo { max-width: 80px;}
header.fixed nav { font-size: min(3vw, 21px);}
@media screen and (max-width:1000px) { header nav { font-size: min(3vw, 20px);}}
@media screen and (max-width:767px) {
	header {
	    height: auto;
	    display: block;
	    padding: 0;}
	header .logo {
	    width: 80px;
	    margin: 10px auto 0;}
	header nav ul li { width: calc(100% / 5);}
	header nav div {
	    border-radius: 0;
	    width: calc(100% / 6);
	    text-align: center;}
	header nav ul { width: calc(100% - (100% / 6));}
	header nav div a {
	    padding: 7px;
	    width: 100%;
	    display: block;
	    border-radius: 0px;}
	header.fixed .logo {
	    max-width: 66px;
	    padding: 0px 0 0;}
}
.mv {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;}
.mv img { width: 110%;}
.mv p {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    text-align: center;
    font-weight: 500;
    text-shadow: 0 0 10px white, 0 0 10px white, 0 0 10px white;
    font-size: min(3.5vw, 50px);}
@media screen and (max-width:1000px) {.mv { height: auto;}}
@media screen and (max-width:767px) {
	.mv { height: auto;}
	.mv img {
	    width: 150%;
	    position: relative;
	    left: -20%;}
	.mv p { top: 55%;}
}
h2 {
    margin-bottom: 5vw;
    font-size: min(6.5vw, 50px);
    text-align: center;
    line-height: 1.75;}
p {
    font-size: min(3.5vw, 21px);
    text-align: center;
    line-height: 1.75;
    width: 90%;
    margin: 0 auto;}
a.link {
    color: #000;
    padding: 7px 21px;
    background-color: #ffa800;
    border-radius: 40px;
    margin: 3vw auto 0;
    display: block;
    width: max-content;
    font-size: min(3vw, 21px);
    justify-content: space-between;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: bold;}
.ctt,
.pdng { padding: 10vw;}
.sct1 { background-color: #f0f0f0;}
.sct2 { background-color: #fbe233;}
.sct3 {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;}
.sct3 img { width: 110%;}
.sct3 div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    text-align: center;
    font-weight: 500;}
.sct3 p {
    border-top: solid 1px;
    border-bottom: solid 1px;
    padding: 20px;}
.outimg {
    width: 90%;
    max-width: max-content;
    margin: 0 auto;
    display: block;}
.outimg img { width: 100%;}
@media screen and (max-width:1000px) {
	.ctt,
	.pdng { padding: 10vw 5vw;}
	.sct3 { height: auto;}
	.sct3 img {
	    width: 150%;
	    position: relative;
	    left: -25%;}
}
.sct4 {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;}
.sct4 img { width: 100%;}
.sct4 div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    text-align: center;
    font-weight: 500;}
.sct4 p {
    border-top: solid 1px;
    border-bottom: solid 1px;
    padding: 20px;}
@media screen and (max-width:1000px) {
	.sct4 { height: auto;}
	.sct4 img {
	    width: 150%;
	    position: relative;
	    left: -25%;}
}
.sct5 {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;}
.sct5 img { width: 100%;}
.sct5 div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    text-align: center;
    font-weight: 500;}
.sct5 p {
    border-top: solid 1px;
    border-bottom: solid 1px;
    padding: 20px;}
@media screen and (max-width:1000px) {
	.sct5 { height: auto;}
	.sct5 img {
	    width: 150%;
	    position: relative;
	    left: -25%;}
}
footer {
    background-color: #fbe233;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 21px;}
footer .menu {
    width: 20%;
    max-width: 250px;}
footer ul li a {
    padding: 0;
    color: #1e1e1e;
    justify-content: space-between;
    font-family: "Inter", "Noto Sans JP", sans-serif;
    font-weight: bold;
    display: block;
    font-size: min(3vw, 16px);
    line-height: 1.8;}
footer .menu small {
    display: block;
    margin: 1em 0;
    text-align: right;
    width: max-content;}
footer .logo { width: 30%;}
footer .logo img { width: 100%;}
@media screen and (max-width:1000px) {
	footer {
	    display: block;
	    padding: 7vw 0 0;}
	footer .logo {
	    width: 70%;
	    max-width: 140px;
	    display: block;
	    margin: 0 auto;}
	footer .menu {
	    width: 90%;
	    max-width: 1000px;
	    margin: 0 auto;}
	footer ul {
	    display: flex;
	    align-items: center;
	    justify-content: space-between;
	    margin: 7vw auto;}
	footer .menu small {
	    display: block;
	    text-align: center;
	    width: auto;
	    margin: 5vw auto 0;}
}
.sub .mv { height: auto;}
.sub .mv p { top: 60%;}
.service .left {
    position: relative;
    margin: 7vw auto 34%;}
.service .left li {}
.service .left li:first-child {
    width: 60%;}
.service .left li img { width: 100%;}
.service .left li:last-child {
    width: 70%;
    float: right;
    padding: 5vw 10vw 5vw 5vw;
    background-color: #ffffffc7;
    margin: -30vw 0 7vw 0;
    position: relative;
    z-index: 1;}
.service .right { position: relative;}
.service .right li img { width: 100%;}
.service .right li:first-child {
    width: 70%;
    padding: 5vw 5vw 5vw 10vw;
    background-color: #fff;
    position: relative;
    z-index: 1;}
.service .right li:last-child{
    width: 60%;
    float: right;
    margin: -40vw 0 7vw 0;}
.service li h3 {
    margin-bottom: 2vw;
    font-size: min(6vw, 40px);
    text-align: left;
    line-height: 1.75;}
.service li p {
    width: 100%;
    text-align: left;
    margin: 0;}
.service .right li:first-child { display: none;}
.service .right li:last-child { display: block;}
.service .right li.txt {
    width: 70%;
    padding: 5vw 10vw 5vw 5vw;
    background-color: #ffffffc7;
    margin: -20vw 0 7vw 0;
    position: relative;
    z-index: 1;}
.sub table {
    font-size: min(3.5vw, 21px);
    text-align: left;
    line-height: 1.75;
    width: 80%;
    margin: 0 auto;
    max-width: max-content;}
.sub table tr th {
    padding: 1vw;
    min-width: 110px;}
.cttBox { background-color: #f0f0f0;}
.cttBox form {
    margin: 0 auto;
    width: 90%;
    max-width: 600px;
    padding: 7vw 0;}
.cttBox p span {
    text-align: left;
    display: block;
    font-size: min(4.2vw, 17px);
    font-weight: bold;}
.cttBox p input {
    display: block;
    width: 100%;
    border: solid 2px #ccc;
    border-radius: 3px;
    font-size: 17px;
    padding: 7px 14px;}
.cttBox p textarea {
    display: block;
    width: 100%;
    min-height: 250px;
    border: solid 2px #ccc;
    border-radius: 3px;
    font-size: 17px;
    padding: 7px 14px;}
.cttBox button,
.cttBox input[type="submit"] {
    background-color: #00a2ff;
    border: none;
    display: block;
    margin: 3vw auto;
    padding: 7px 20px;
    border-radius: 25px;
    font-size: 15px;
    font-family: 'HKW5';
    color: #fff;}
.cttBox form p { margin: min(5vw, 30px) auto 0;}
@media screen and (max-width:1000px) {
	.service .left li:first-child {
	    width: 80%;
	    margin: 0 auto;}
	.service .left li:last-child {
	    width: 90%;
	    float: initial;
	    padding: 5vw;
	    margin: -30vw auto 0;}
	.service .right li:last-child { display: none;}
	.service .right li:first-child { display: block;}
	.service .right {
	    position: relative;
	    margin: 7vw auto 14%;}
	.service .right li:first-child {
	    width: 80%;
	    margin: 0 auto;
	    padding: 0;}
	.service .right li.txt {
	    width: 90%;
	    float: initial;
	    padding: 5vw;
	    margin: -30vw auto 0;
	    position: relative;
	    z-index: 1;
	    background-color: #ffffffc7;}
	.service .left {
	    position: relative;
	    margin: 7vw auto 14%;}
}