@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Shippori+Antique&display=swap');

/* -----reset--------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align:baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display:block;
}
body {
	line-height:1;
}
ol, ul {
	list-style:none;
	letter-spacing:-0.5em;
}
li {
	letter-spacing:normal;
}
blockquote, q {
	quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
input, select {
  border:1px solid #aaa;
  border-radius:5px;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius:0;
  -webkit-box-sizing:content-box;
  -webkit-appearance:button;
  appearance:button;
  border:none;
  box-sizing:border-box;
  cursor:pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display:none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset:-2px;
}

/* ------------------------------------------------------ */
*,
*:before,
*:after {
  -webkit-box-sizing:inherit;
  box-sizing:inherit;
}

html {
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}

* { font-style:normal;
	font-weight:normal;
	box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box;
	}

html {
  font-size:62.5%; /*font-size:10px;*/
  -webkit-text-size-adjust:100%;
	scroll-behavior:smooth;
  }

body{ background:#fff; font-family:"Noto Sans JP", sans-serif; font-weight:400; font-style:normal; color:#222; font-size:1rem; line-height:1.85; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; -webkit-text-size-adjust:100%; word-wrap:break-word; overflow-x:hidden; }

a { color:#222; text-decoration:none; border-bottom-style:solid; border-bottom-width:1px; }
a:hover { color:#222; text-decoration:none; }

img{ max-width:100%; height:auto; }

.serif { font-family:"Noto Serif JP", serif; }
.shippori { fontfont-family:"Shippori Antique", sans-serif;  }

strong { font-weight:700; }
.red { color:#c60017; }
.green { color:#0c6f39;}


#wrapper { width:100%; margin:auto; }

#mv { width:100%; background:linear-gradient(135deg, #F8F8F8, #D9D9D9); position:relative; display:flex; justify-content:space-between; align-items:center; padding:50px 5%; }
#mv h1 { position:absolute; top:10px; left:10px; width:120px; }
#mv h1 a { border:none; }
#mv .catch h2 { color:#151e4b; font-size:4.5vw; font-weight:700; line-height:1.3; }
#mv .catch h3 { color:#076293; font-size:2.0vw; font-weight:500; line-height:1.5; padding:30px 0 20px; }
#mv .image { max-width:50%; }
#mv .image img { border-radius:30px; }
@media screen and (max-width:800px){
#mv .catch h2 { font-size:5.0vw; }
#mv .catch h3 { font-size:2.4vw; padding:20px 0 0; }
#mv .image { max-width:40%; }
}
@media screen and (max-width:600px){
#mv { display:block; padding:60px 5% 20px; }
#mv .catch { max-width:92%; margin:auto; }
#mv .image { max-width:92%; margin:auto; }
#mv .catch h2 br, #mv .catch h3 br { display:none; }
#mv .catch h2 br.sp, #mv .catch h3 br.sp { display:block; }
#mv .catch h2 { font-size:6.2vw; }
#mv .catch h3 { font-size:4.0vw; padding:20px 0; }
}

#mv-btn { width:100%; margin:auto; background-color:#3e96c3; padding:40px 0; text-align:center; }
.contact-btn { font-size:min(3.8vw,2.4rem); }
.contact-btn p.txt { color:#fff; }
.contact-btn p.txt span { position:relative; padding:15px 30px; }
.contact-btn p.txt span::before, .contact-btn p.txt span::after { content:''; display:inline-block; width:1px; height:40px; background:#fff; position:absolute; top:15px; }
.contact-btn p.txt span::before { transform:rotate(-35deg); left:5px; }
.contact-btn p.txt span::after { transform:rotate(35deg); right:5px; }
.contact-btn p.btn { padding-top:20px; }
.contact-btn p.btn a { display:block; width:80%; max-width:450px; margin:auto; background-color:#076293; border-bottom:none; padding:15px 0 16px; color:#fff; border-radius:5px; font-weight:600; }


.lv2 { text-align:center; font-size:min(4.0vw,3.6rem); font-weight:600; color:#151e4b; margin-bottom:50px; }
.lv2 span { position:relative; line-height:1.4; padding:0.05em 1em; display:inline-block; top:0; margin:auto; }
.lv2 span:before, .lv2 span:after { position:absolute; top:0; content:''; width:12px; height:100%; display:inline-block; border:solid 3px #151e4b; }
.lv2 span:before { border-right:none; left:0; }
.lv2 span:after { border-left:none; right:0; }
@media screen and (max-width:500px){
.lv2 { font-size:5.4vw;}
}

#about { width:94%; max-width:1000px; margin:auto; padding:80px 0; font-size:min(3.6vw,1.8rem); }
#about .about { display:flex; justify-content:space-between; align-items:center; }
#about .about .image { max-width:300px; }
#about .about .exp { width:calc( 100% - 400px); }
#about ul { margin:30px 0; font-size:min(3.6vw,2.0rem);}
#about ul li { background:url("img/check.svg") no-repeat left; background-size:25px; padding:5px 0 5px 32px; }
#about p.original { font-size:min(4.0vw,2.4rem); font-weight:600; line-height:1.5; display:inline; padding:0 4px 2px 4px; background:linear-gradient(transparent 70%, #3e96c3 0%); }
@media screen and (max-width:800px){
#about .about { display:block; justify-content:space-between; align-items:center; }
#about .about .image { display:flex; max-width:90%; margin:auto;}
#about .about .image img { width:50%; height:auto; }
#about .about .exp { width:100%; }
#about .about .exp br { display:none; }
#about .about .exp br.sp { display:block; }
}

#type { width:100%; margin:0; padding:80px 0; position:relative; }
#type::before { content:''; position:absolute; top:0; bottom:0; left:0; right:0; background-color:#bbdcee; transform:skewY(-4deg); z-index:-1; }
#type .type { width:94%; max-width:1000px; margin:0 auto; display:flex; justify-content:space-between; }
#type .type div { width:48%; background-color:#fff; border-radius:10px; padding:15px 10px; }
#type .type div h3 { text-align:center; font-size:min(3.8vw,2.8rem); color:#076293; font-weight:700; padding:5px 0; }
#type .type div img { width:90%; max-width:320px; }
#type .type div p.txt { font-size:min(3.4vw,1.7rem); text-align:center; padding:0 10px; }
#type .type div p.rakuten-btn { display:block; width:90%; max-width:380px; margin:10px auto; font-size:min(3.2vw,1.6rem); line-height:2.2; }
#type .type div p.rakuten-btn a { display:block; background-color:#D32F2F; color:#fff; border:1px solid #D32F2F; text-align:center; padding:10px 5px; border-radius:5px; font-weight:600; }
#type .type div p.rakuten-btn a:hover { background-color:#fff; color:#D32F2F; border:1px solid #D32F2F; }
@media screen and (max-width:600px){
#type .type { display:block; }
#type .type div { width:90%; margin:0 auto 20px; }
#type .type div img { width:70%; }
}

#name { width:94%; max-width:1000px; margin:80px auto; }
#name p { font-size:min(3.4vw,1.8rem); text-align:center; padding:10px 0; }
#name p.image { display:flex; justify-content:space-between; align-items:center; padding:15px 0; }
#name p.image span { width:45%; max-width:400px; }
@media screen and (max-width:600px){
#name p { text-align:left; padding:10px 0; }
#name p.image { display:block; }
#name p.image span { display:block; width:80%; margin:auto; }
}

#japan { width:100%; margin:0; padding:80px 0; position:relative; background:url("img/japan.svg") no-repeat center top 10px; background-size:contain; color:#fff; }
#japan::before { content:''; position:absolute; top:0; bottom:0; left:0; right:0; background-color:#151e4b; transform:skewY(-4deg); z-index:-1; }
#japan .lv2 { color:#fff; margin-bottom:20px; }
#japan h3 { text-align:center; font-size:min(3.4vw,2.2rem); font-weight:600; color:#fff; background-color:#ffc133; width:460px; margin:auto; padding:6px 30px; border-radius:15px; margin-bottom:20px; }
#japan h4 { text-align:center; font-size:min(3.4vw,2.4rem); font-weight:600; color:#fff; padding:6px 30px; border-radius:15px; margin-bottom:20px; }
#japan .japan { width:94%; max-width:900px; margin:auto; min-height:450px; }
#japan .japan p { font-size:min(2.8vw,1.6rem); color:#fff;  }
#japan .japan ul { font-size:min(3.1vw,1.8rem); color:#fff;  }
@media screen and (max-width:600px){
#japan .lv2 { font-size:4.8vw; }
#japan { background-position:center bottom 10px; }
#japan h3 { width:80%; border-radius:10px; }
#japan .japan { min-height:250px; background-size:100%; }
}

#qa { width:100%; margin:0; padding:80px 0; position:relative; }
#qa::before { content:''; position:absolute; top:0; bottom:0; left:0; right:0; background-color:#bbdcee; transform:skewY(-4deg); z-index:-1; }
#qa dl { width:94%; max-width:1000px; margin:30px auto; background-color:#fff; border-radius:10px; font-size:min(3.6vw,1.7rem); padding:15px 20px; }
#qa dt { font-weight:700; padding:0.2em 0 5px 2em; position:relative; }
#qa dt::before { content:"Q :"; position:absolute; top:0px; left:0; font-size:min(3.8vw,2.0rem); color:#151e4b; }
#qa dd { padding:0.2em 0 5px 2em; position:relative; }
#qa dd::before { content:"A :"; position:absolute; top:0; left:0; font-size:min(3.8vw,2.0rem); color:#207FB2; font-weight:700; }


#spec { width:94%; max-width:780px; margin:80px auto; }
#spec .spec { display:flex; justify-content:space-between; align-items:center; }
#spec .spec .image { width:280px; }
#spec .spec .txt { width:calc( 100% - 340px ); }
#spec .spec .txt h3 { font-size:min(4.2vw,2.4rem); font-weight:600; color:#151e4b; }
#spec .spec .txt p { font-size:min(3.6vw,1.8rem); }
#spec .spec p.rakuten-btn { display:flex; justify-content:flex-end; align-items:center; margin:20px auto; font-size:min(3.2vw,1.6rem); line-height:2.2; }
#spec .spec p.rakuten-btn span { margin-right:20px; }
#spec .spec p.rakuten-btn a { display:block; background-color:#D32F2F; color:#fff; border:1px solid #D32F2F; text-align:center; padding:5px 30px; border-radius:5px; font-weight:600; }
#spec .spec p.rakuten-btn a:hover { background-color:#fff; color:#D32F2F; border:1px solid #D32F2F; }
#spec .attention { background-color:#eee; padding:30px 3em; font-size:min(3.2vw,1.6rem); border-radius:10px; }
#spec .attention h4 { font-size:min(4.0vw,2.2rem); font-weight:600; display:flex; align-items:center; justify-content:center; margin-bottom:10px; }
#spec .attention h4 img { width:30px; margin-right:8px; }
#spec .attention p { line-height:1.6; }
@media screen and (max-width:700px){
#spec .spec { display:block; padding-bottom:20px; }
.spec+.spec { border-top:1px solid #ccc; }
#spec .spec .image { width:80%; max-width:280px; margin:auto; }
#spec .spec .txt { width:90%; margin:auto; }
#spec .attention { padding:30px 2em; }
}

#about-order { width:94%; max-width:780px; margin:80px auto; }
#about-order ul { font-size:min(3.8vw,2.0rem); } 
#about-order li { list-style-type:disc; margin:10px 0 10px 20px; }
#about-order li p { display:flex; }
#about-order li p span { margin-right:5px; }


#quotation { width:100%; margin:0; padding:80px 0; color:#fff; position:relative; }
#quotation::before { content:''; position:absolute; top:0; bottom:0; left:0; right:0; background-color:#151e4b; transform:skewY(-4deg); z-index:-1; }
#quotation p { text-align:center; font-size:min(5.2vw,3.6rem); font-weight:700; line-height:1.6; }
#quotation .fukidashi { padding:0; display:flex; justify-content:center; margin:auto; }

.fukidashi-01 { position:relative; display:inline-block; margin:1.5em 1.5vw; padding:2px 1em 7px; max-width:100%; color:#151e4b; font-size:min(4.5vw,3rem); font-weight:600; background:#ffc133; }
.fukidashi-01:before { content:""; position:absolute; top:100%; left:50%; margin-left:-15px; border:15px solid transparent; border-top:15px solid #ffc133; }
.fukidashi-01 p { margin:0; padding:0; }

.scroll-tit { position:relative; margin:80px 0 0; padding-top:72px; }
.scroll-arrows { width:70px; height:72px; position:absolute; left:50%; margin-left:-35px; bottom:20px; }
.scroll-arrows path { stroke:#fff; fill:transparent; stroke-width:2px; animation:arrow 2s infinite; -webkit-animation:arrow 2s infinite; }
  @keyframes arrow { 0% {opacity:0} 40% {opacity:1} 80% {opacity:0} 100% {opacity:0} }
  @-webkit-keyframes arrow /*Safari and Chrome*/ { 0% {opacity:0} 40% {opacity:1} 80% {opacity:0} 100% {opacity:0} }
.scroll-arrows path.a1 { animation-delay:-1s; -webkit-animation-delay:-1s; /* Safari and Chrome */ }
.scroll-arrows path.a2 { animation-delay:-0.5s; -webkit-animation-delay:-0.5s; }
.scroll-arrows path.a3 { animation-delay:0s; -webkit-animation-delay:0s; }


#form-table { width:92%; max-width:1000px; margin:auto; padding:120px 0 60px; font-size:min(3.2vw,1.6rem); }
#form-table h3 { background-color:#ddd; font-size:min(4.0vw,2.0rem); font-weight:600; padding:10px 20px; border-radius:5px; }
#form-table dl { display:flex; justify-content:space-between; padding:30px 8px; line-height:2.2; flex-wrap:wrap; border-bottom:1px dashed #ccc; }
#form-table dl.last-child { padding:30px 8px 40px; border-bottom:none; }
#form-table dt { width:240px; font-weight:600; position:relative; padding-top:8px; }
#form-table dt span.required { background-color:#151e4b; color:#fff; font-size:min(2.4vw,1.2rem); padding:2px 8px 3px; border-radius:5px; position:absolute; right:0; top:10px; }
#form-table dt span.tit2 { display:block; padding-top:3px; padding-left:1em; padding-bottom:50px; }
#form-table dd { width:calc( 100% - 280px); padding-top:2px; position:relative; }
#form-table dd span.error { position:absolute; bottom:-25px; left:10px; color:#cc0000; }
#form-table .size-S { width:100px; }
#form-table .size-M { width:100%; max-width:400px; }
#form-table .size-L { width:calc( 100% - 10px ); }
#form-table input[type=text],textarea { padding:8px; font-size:min(3.2vw,1.6rem); line-height:1.6; border:1px solid #aaa; border-radius:5px; margin:5px; }
#form-table input[type=file] { border:none; margin:5px; }
#form-table .vertical1 { display:flex; flex-wrap:wrap; }
#form-table .vertical1 .horizontal-item { width:30%; margin:0; }
#form-table .vertical2 { display:flex; flex-wrap:wrap; }
#form-table .vertical2 .horizontal-item { width:48%; margin:0; }
#form-table .vertical3 .horizontal-item { display:block; margin:0;}
#form-table .name-input { display:flex; justify-content:flex-start; }
#form-table .name-input div { width:150px; display:flex; justify-content:space-between; align-items:center; margin-right:50px; }
#form-table .btn { padding:10px 0; text-align:center; }
#form-table .btn input.submit-btn { width:280px; background-color:#151e4b; border-radius:5px; color:#fff; padding:15px; font-weight:700; font-size:min(3.2vw,1.6rem); }
#form-table .btn input.back-btn { width:200px; background-color:#bbb; border-radius:5px; color:#fff; padding:15px; font-weight:700; font-size:min(3.2vw,1.6rem); margin-right:20px; }
#form-table.confirm dd p { display:none; }
#form-table.confirm .name-input div { width:80px; }
#form-table.confirm .name-input div span { display:none; }
#form-table.thanks { width:90%; max-width:800px; margin:auto; }
#form-table.thanks p.tit { font-size:200%; line-height:1.4; padding-bottom:30px; }
@media screen and (max-width:880px){
#form-table .vertical2 .horizontal-item { display:block; width:100%; }
}
@media screen and (max-width:750px){
#form-table { font-size:min(3.2vw,1.5rem); }
#form-table dl { display:block; }
#form-table dt { width:100%; display:flex; align-items:center; flex-wrap:wrap; }
#form-table dt span.required { position:relative; display:block; padding:1px 8px 2px; margin-left:15px; margin-top:-18px; }
#form-table dt span.tit2 { display:block; padding-top:3px; padding-left:0.75em; padding-bottom:0; width:100%; }
#form-table dd { width:100%; padding:2px 0 2px 8px; }
#form-table dd br.sp { display:none; }
#form-table .btn input.submit-btn { font-size:min(3.2vw,1.5rem); }
}
@media screen and (max-width:580px){
#form-table .btn input.submit-btn { display:block; margin:10px auto;}
#form-table .btn input.back-btn { display:block; margin:auto;}
}
@media screen and (max-width:450px){
#form-table .name-input { display:flex; justify-content:space-between; }
#form-table .name-input div { width:45%; margin-right:0; }
#form-table.confirm .name-input { justify-content:flex-start; }
}


footer {
	margin:50px 0 0 0;
	padding:0;
	}
footer a { border-bottom:none; }
	footer div.foot { width: 98%; max-width: 1100px; margin: 40px auto; position: relative; }
	div.foot img.logo1 { max-height: 28px; width: auto; vertical-align: bottom; margin-right: 15px; }
	div.foot img.logo2 { max-height: 20px; width: auto; vertical-align: bottom; margin-right: 15px; }
	div.foot p.add { font-size: 1.1rem; padding-top: 15px; line-height: 170%; }
	div.foot div.rfoot { font-size: 1.0rem; position: absolute; right: 0; bottom: 0; text-align: right; }
	div.foot div.rfoot p { padding-top: 20px; line-height: 150%; }
	div.foot ul.sns { position: absolute; right: 250px; bottom: 35px; }
	div.foot ul.sns li { display: inline-block; padding: 0 10px; vertical-align: middle; }
	div.foot ul.sns li img { width: auto; height: 28px; }
@media screen and (max-width:750px){
	footer div.foot { width: 90%; margin: 30px auto; position: relative; padding-bottom:80px; }
	div.foot img.logo1 { max-height: 28px; width: auto; vertical-align: bottom; margin-right: 15px; }
	div.foot img.logo2 { max-height: 20px; width: auto; vertical-align: bottom; margin-right: 15px; }
	div.foot p.add { font-size: 1.1rem; padding: 15px 0; line-height: 150%; }
	div.foot div.rfoot { font-size: 1.0rem; text-align: right; }
	div.foot div.rfoot p { padding-top: 10px; line-height: 150%; }
	div.foot ul.sns { position: absolute; bottom:24px; left: 15px; }
	div.foot ul.sns li { display: inline-block; padding: 0 10px; vertical-align: middle; }
	div.foot ul.sns li img { width: auto; height: 25px; }
}


