@charset "UTF-8";
/* Sass Document */
/* Scss Document */
/* 全体
============================================================================================================*/
* { padding: 0px; margin: 0px; }

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%; font-weight: normal; }

/* body
============================================================================================================*/
body { color: #000000; font-size: 1em; line-height: 1.8; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ font-family: 'Noto Sans JP','Roboto',  sans-serif; margin-top: 0px; background-color: #F5F5F5; }

img { border-style: none; max-width: 100%; height: auto; vertical-align: bottom; line-height: 100%; }

a { text-decoration: none; color: #003399; }
a img { border-style: none; }

.clear { clear: both; }
.clear hr { display: none; }

a:hover { color: #FF6600; transition: 0.5s; }
a:hover img { opacity: 0.6; filter: alpha(opacity=60); transition: 0.5s; }

ul li { list-style-type: none; }

.ankerbox { position: relative; }
.ankerbox a { position: absolute; top: -60px; }

.video { width: 100%; /*横幅いっぱいにwidthを指定*/ padding-bottom: 56.25%; /*高さをpaddingで指定(16:9)*/ height: 0px; /*高さはpaddingで指定するためheightは0に*/ position: relative; margin-top: 30px; }

.video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* Scss Document */
.table01 { margin-bottom: 50px; }
.table01 li { display: grid; grid-template-columns: 180px 1fr; }
.table01 li p:first-child { background: #E3EFFF; text-align: center; }
.table01 li p { padding: 15px; border-width: 0px; border-bottom-width: 1px; border-style: solid; border-color: #346BB6; }
.table01 li .hiss { position: relative; }
.table01 li .hiss:after { content: "必須"; display: block; position: absolute; top: 3px; right: 5px; font-size: 12px; color: red; font-weight: 600; }
.table01 li .check { display: flex; gap: 15px; }
.table01 li .check span { display: flex; align-items: center; gap: 5px; }

/* Scss Document header */
header { position: sticky; top: 0; z-index: 900; padding-bottom: 10px; }
header .container-fluid section { display: flex; justify-content: space-between; align-items: center; padding: 0 !important; }
header .container-fluid section div:first-child { max-width: 580px; }
header .container-fluid section div:last-child { flex-grow: 1; display: flex; justify-content: flex-end; }
header .container-fluid section div:last-child p { margin-left: 15px; }
header .container-fluid section div:last-child .mail a { background: #FFDE00; display: block; padding: 5px; position: relative; }
header .container-fluid section div:last-child .mail a img { position: relative; z-index: 980; }
header .container-fluid section div:last-child .mail a:after { display: block; width: 0%; height: 100%; position: absolute; background: #ffa20b; content: " "; top: 0; left: 0; z-index: 970; transition: 0.3s; }
header .container-fluid section div:last-child .mail a:hover:after { height: 100%; width: 100%; transition: 0.3s; }
header .container-fluid nav { max-width: 1400px; min-width: 600px; margin-left: auto; margin-top: 15px; }
header .container-fluid nav ul { display: flex; justify-content: space-between; }
header .container-fluid nav ul li a { font-size: 1.1em; font-weight: 600; color: black; display: block; position: relative; line-height: 120%; }
header .container-fluid nav ul li a:after { display: block; width: 0%; height: 0; position: absolute; content: " "; bottom: -10px; left: 50%; z-index: 970; transition: 0.3s; border-bottom: 5px solid #ffa20b; }
header .container-fluid nav ul li a:hover { text-decoration: none; color: #ffa20b; }
header .container-fluid nav ul li a:hover:after { width: 100%; left: 0; transition: 0.3s; }

@media screen and (max-width: 990px) { header .container-fluid nav ul li a { font-size: 0.9em; } }
footer { background: #346BB6; color: white; padding-top: 30px; margin-top: 80px; }
footer section { display: grid; grid-template-columns: 300px 1fr; grid-gap: 30px; }
footer div:first-child h2 { display: flex; align-items: baseline; font-size: 38px; font-weight: 600; line-height: 100%; justify-content: center; margin-bottom: 0; }
footer div:first-child h2 span { font-size: 24px; margin-right: 10px; }
footer .info { background: white; padding: 10px; }
footer .info h2 { font-size: 24px; font-weight: 600; background: #346BB6; padding: 8px; }
footer .info p { color: #333; }
footer .info p:nth-child(2) { font-size: 18px; font-weight: 600; line-height: 120%; }
footer .info p:nth-child(3), footer .info p:nth-child(5) { font-size: 14px; }
footer .info article { color: white; padding: 8px; background: #830709; font-weight: 600; }
footer nav ul { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
footer nav ul li { border-right: 1px solid white; margin-bottom: 5px; }
footer nav ul li:last-child { border: 0; }
footer nav ul a { color: white; display: block; padding: 0 8px 0 8px; line-height: 100%; }

.top { position: relative; }
.top p { width: 100%; top: -100px; position: absolute; display: flex; justify-content: center; align-items: center; }
.top p a { width: 60px; height: 60px; border-radius: 50%; color: white; justify-content: center; align-items: center; background: #346BB6; display: flex; }
.top p a:hover { background: #ff8803; }

/* Scss Document contents */
.cp_fullscreenmenu { display: none; }

.container-fluid { max-width: 1920px !important; min-width: 760px !important; }

.index { background-color: #F5F5F5; }
.index header { background-color: #F5F5F5 !important; }
.index .mv { padding-top: 60px; padding-bottom: 60px; max-width: 1900px; min-width: 740px; margin-left: auto; margin-right: auto; }
.index .mv .mv-inner { display: flex; justify-content: space-between; align-items: center; }
.index .mv dl { padding-left: 30px; flex-basis: 38%; }
.index .mv dl dt { font-size: 28px; font-weight: 600; color: #346BB6; line-height: 120%; margin-bottom: 20px; }
.index .mv dl dd span { float: right; shape-margin: 15px; width: 50%; shape-outside: url("../img2025/index/mv-dog.png"); }
.index .mv div { flex-basis: 60%; }
.index .mv div img { border-radius: 15px 0 0 15px; }
.index main section { padding: 60px 0 60px 0; }
.index .sec01 { background: white; }
.index .sec01 ul { display: flex; justify-content: center; align-items: center; margin-bottom: 50px; }
.index .sec01 ul li { padding: 5px; }
.index .sec01 .index-contact { display: flex; justify-content: center; align-items: center; }
.index .sec01 .index-contact p { max-width: 90%; }
.index .sec01 .index-contact p a { position: relative; display: block; }
.index .sec01 .index-contact p a label { display: block; background: red; color: white; position: absolute; bottom: -30px; right: -50px; border-radius: 50%; display: flex; justify-content: center; align-items: center; width: 130px; height: 130px; transition: 0.3s; }
.index .sec01 .index-contact p a label span { width: 80%; display: block; font-weight: 600; text-align: center; }
.index .sec01 .index-contact p a:hover label { background: orange; transition: 0.3s; }
.index .bk1 { background: url("../img2025/index/index-bk.png"); }
.index .bk2 { background: url("../img2025/index/index-bk2.png"); }
.index .sec02 h2 { display: flex; justify-content: center; align-items: center; flex-direction: column; margin-bottom: 30px; }
.index .sec02 h2 p:first-child { display: flex; justify-content: space-between; font-size: 28px; align-items: center; font-weight: 600; white-space: nowrap; margin-bottom: 15px; }
.index .sec02 h2 p:first-child:before, .index .sec02 h2 p:first-child:after { width: 80px; height: 1px; border-bottom: 2px solid gray; content: " "; display: block; }
.index .sec02 h2 p:last-child { font-size: 52px; font-weight: 600; color: #1a1a1a; }
.index .sec02 h2 p:last-child span { color: red; font-weight: 900; }
.index .sec02 .inner { background: white; border-radius: 15px; padding: 15px; padding-top: 80px; padding-bottom: 20px; }
.index .sec02 .box { position: relative; margin-bottom: 80px; width: 90%; margin-left: auto; margin-right: auto; }
.index .sec02 .box h3 { position: absolute; z-index: 600; width: 100%; top: -15px; }
.index .sec02 .box h3 span { background: gray; font-size: 30px; color: white; border-radius: 30px; margin-left: 20%; padding: 0 20px 0 20px; height: 40px; }
.index .sec02 .box figure { position: relative; }
.index .sec02 .box figure span { position: absolute; width: 320px; height: 320px; top: -50px; right: 1%; display: flex; justify-content: center; align-items: center; right: 20px; }
.index .sec02 .box figure span img { border-radius: 50%; border: 6px solid gray; }
.index .sec02 .box article { border: 6px solid gray; border-radius: 12px; display: grid; grid-template-columns: 280px 1fr; position: relative; }
.index .sec02 .box article:after { position: absolute; bottom: 10px; right: 20px; display: block; font-size: 60px; font-weight: 900; color: #dddddd; z-index: 600; }
.index .sec02 .box article div { padding: 40px 40px 40px 15px; }
.index .sec02 .box article div h4 { font-size: 24px; font-weight: 600; margin-bottom: 15px; }
.index .sec02 .box article div p { position: relative; z-index: 650; min-height: 100px; }
.index .sec02 .box:nth-child(1) h3 span { background: #83AA51 !important; }
.index .sec02 .box:nth-child(1) figure span img { border-color: #83AA51 !important; }
.index .sec02 .box:nth-child(1) article { border-color: #83AA51 !important; }
.index .sec02 .box:nth-child(1) article:after { content: "解決"; color: #d7e4c7; }
.index .sec02 .box:nth-child(2) h3 { text-align: end; }
.index .sec02 .box:nth-child(2) h3 span { background: #DE6AE2 !important; margin-right: 20%; margin-left: auto; }
.index .sec02 .box:nth-child(2) figure span img { border-color: #DE6AE2 !important; }
.index .sec02 .box:nth-child(2) article { border-color: #DE6AE2 !important; grid-template-columns: 1fr 280px; }
.index .sec02 .box:nth-child(2) article figure { order: 2; }
.index .sec02 .box:nth-child(2) article figure span { left: 25px; right: auto; }
.index .sec02 .box:nth-child(2) article div { order: 1; padding: 40px 15px 40px 40px; }
.index .sec02 .box:nth-child(2) article:after { content: "迅速"; color: #f4cff6; right: 30%; }
.index .sec02 .box:nth-child(3) h3 span { background: #71BBE6 !important; }
.index .sec02 .box:nth-child(3) figure span img { border-color: #71BBE6 !important; }
.index .sec02 .box:nth-child(3) article { border-color: #71BBE6 !important; }
.index .sec02 .box:nth-child(3) article:after { content: "信頼"; color: #cbe7f6; }
.index .sec02 .list { display: grid; display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0px; }
.index .sec02 .list li { display: flex; justify-content: center; align-items: center; flex-direction: column; margin-bottom: 20px; }
.index .sec02 .list li span { font-weight: 600; }
.index .sec02 .article { text-align: center; font-size: 18px; }
.index .sec03 h2 { display: flex; justify-content: center; align-items: center; flex-direction: column; margin-bottom: 30px; }
.index .sec03 h2 p:first-child { display: flex; justify-content: space-between; font-size: 28px; align-items: center; font-weight: 600; white-space: nowrap; margin-bottom: 15px; }
.index .sec03 h2 p:first-child:before, .index .sec03 h2 p:first-child:after { width: 80px; height: 1px; border-bottom: 2px solid gray; content: " "; display: block; }
.index .sec03 h2 p:nth-child(2) { font-size: 32px; font-weight: 600; }
.index .sec03 h2 p:last-child { font-size: 52px; font-weight: 600; color: #1a1a1a; }
.index .sec03 h2 p:last-child span { color: red; font-weight: 900; }
.index .sec03 .index-menu { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 15px; }
.index .sec03 .index-menu div { display: flex; justify-content: space-between; flex-direction: column; align-items: center; }
.index .sec03 .index-menu div figure { margin-bottom: 15px; }
.index .sec03 .index-menu div h3 { font-size: 24px; font-weight: 600; }
.index .sec03 .index-menu div p { padding: 25px; }
.index .sec05 { background: white; }
.index .sec06 .inner { position: relative; display: flex; align-items: center; margin-bottom: 50px; }
.index .sec06 .inner figure { width: 50%; }
.index .sec06 .inner div { width: 45%; margin-left: auto; position: relative; min-height: 100px; }
.index .sec06 .inner div span { width: 200px; height: 200px; content: " "; display: block; border-radius: 50%; background: #D6E1F0; }
.index .sec06 .inner dl { position: absolute; height: 100%; top: 0; left: 30px; display: flex; flex-direction: column; justify-content: center; }
.index .sec06 .inner dl dt { font-size: 18px; font-weight: 600; position: relative; z-index: 600; }
.index .sec06 .inner dl dd { font-weight: 600; font-size: 48px; position: relative; z-index: 600; }
.index .sec06 .case-list { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0px; grid-gap: 20px; margin-bottom: 60px; }
.index .sec06 .case-list li { border: 1px; border-style: solid; border-color: #346BB6; }
.index .sec06 .case-list li figure { padding: 15px; background: white; width: 100%; aspect-ratio: 1; display: block; }
.index .sec06 .case-list li figure img { width: 100%; height: 100%; object-fit: cover; }
.index .sec06 .case-list li h3 a { background: #346BB6; color: white; min-height: 50px; display: flex; justify-content: center; align-items: center; }
.index .sec06 .case-list li h3 a:hover { background: #ff7600; }
.index .sec06 .case-list li article { padding: 15px; }
.index .sec06 .case-list li h4 { margin-bottom: 15px; font-weight: 600; }
.index .sec06 .case-list li p:before { content: "●"; margin-right: 5px; }
.index .sec06 h2 { display: flex; justify-content: center; align-items: center; font-size: 28px; align-items: center; font-weight: 600; white-space: nowrap; margin-bottom: 50px; }
.index .sec06 h2:before, .index .sec06 h2:after { width: 80px; height: 1px; border-bottom: 2px solid #346BB6; content: " "; display: block; margin: 15px; }

.case-list2 { background: #D6E1F0; padding: 30px; display: grid; grid-gap: 15px; grid-template-columns: repeat(2, 1fr); }
.case-list2 li:first-child { grid-area: 1 / 1 / 2 / 3; }
.case-list2 li { background: white; position: relative; }
.case-list2 li a { display: block; display: flex; align-items: center; padding: 15px; color: black; font-weight: 600; position: relative; z-index: 600; }
.case-list2 li a:before { content: ">"; display: flex; justify-content: center; align-items: center; width: 20px; height: 20px; color: white; background: #346BB6; border-radius: 50%; margin-right: 15px; font-weight: 600; line-height: 100%; }
.case-list2 li:before { position: absolute; content: " "; display: block; background: #ffaa3f; width: 0%; height: 100%; top: 0; transition: 0.3s; }
.case-list2 li:hover:before { width: 100%; transition: 0.3s; }

.index-contact2 { display: flex; justify-content: space-between; box-shadow: 0 0 5px gray; background: white; border-radius: 15px; max-width: 950px; margin-left: auto; margin-right: auto; margin-bottom: 60px; }
.index-contact2 p { border-radius: 15px 0 0 15px; background: #B41D24; color: white; display: flex; justify-content: center; align-items: center; min-width: 200px; font-weight: 600; position: relative; font-size: 20px; line-height: 120%; }
.index-contact2 p:after { clip-path: polygon(0 0, 0% 100%, 50% 50%); content: " "; display: block; background: #B41D24; position: absolute; height: 100%; width: 60px; left: 100%; }
.index-contact2 figure { padding: 15px; }
.index-contact2 ul { display: flex; justify-content: center; flex-direction: column; margin-right: 20px; }
.index-contact2 ul li { margin: 4px; }
.index-contact2 ul li a { display: grid; grid-template-columns: 50px 1fr; grid-gap: 0px; border-radius: 25px; padding: 8px 20px 8px 20px; font-weight: 600; }
.index-contact2 ul li a span { text-align: center; }
.index-contact2 ul li a:hover { background: #ff9e00 !important; color: white; }
.index-contact2 ul .tel a { background: #FFDE00; }
.index-contact2 ul .howto a { color: white; background: #346BB6; }

.pages { background: white  !important; }
.pages header { background: white; }
.pages main { min-height: 80vh; }
.pages .mv { padding: 60px 0 60px 0; text-align: center; }
.pages .mv img { border-radius: 15px; }
.pages .box940 { max-width: 940px; margin-left: auto; margin-right: auto; margin-bottom: 50px; }
.pages h2 { display: flex; justify-content: center; align-items: center; font-size: 28px; align-items: center; font-weight: 600; white-space: nowrap; margin-bottom: 50px; }
.pages h2:before, .pages h2:after { width: 80px; height: 1px; border-bottom: 2px solid #346BB6; content: " "; display: block; margin: 15px; }
.pages h3 { background: #F9F8F5; border-left: 20px solid #346BB6; min-height: 65px; display: flex; align-items: center; padding: 0 20px 0 20px; font-weight: 600; margin-bottom: 30px; }

.shidan-area { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0px; grid-gap: 15px; max-width: 1060px; margin-left: auto; margin-right: auto; }
.shidan-area .box { border: 1px; border-style: solid; border-color: #346BB6; border-radius: 10px; padding: 15px; margin-bottom: 20px; display: flex; justify-content: space-between; flex-direction: column; }
.shidan-area .box h4 { font-size: 24px; font-weight: 600; margin-bottom: 5px; display: flex; color: #346BB6; margin-top: 10px; line-height: 110%; align-items: flex-start; min-height: 40px; }
.shidan-area .box h4 span { margin-right: 10px; font-weight: 600; position: relative; }
.shidan-area .box h4 span:after { border-bottom: 2px solid #346BB6; display: block; content: " "; width: 100%; position: absolute; bottom: -10px; }
.shidan-area .box article { line-height: 120%; margin-bottom: 20px; }
.shidan-area .box p { display: flex; justify-content: flex-end; align-items: center; flex-direction: column; flex-grow: 1; }
.shidan-area .box p span { margin-bottom: 15px; }
.shidan-area .box p span:last-child { margin-bottom: 0; }

.shindansho { display: grid; grid-template-columns: 1fr 200px; grid-gap: 20px; }

.amamori-img { display: grid; grid-template-columns: 1fr 400px; grid-gap: 20px; margin-bottom: 50px; }

.work-link { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 0px; grid-gap: 20px; }
.work-link .single { grid-area: 2 / 1 / 3 / 3; max-width: 800px; margin-left: auto; margin-right: auto; }
.work-link .single a { grid-template-columns: 1fr 560px; }
.work-link .single a span { min-width: 200px; }
.work-link a { display: grid; grid-template-columns: 1fr 260px; border-radius: 5px; color: white; border: 1px; border-style: solid; border-color: #346BB6; }
.work-link a span:nth-child(1) { background: #346BB6; display: flex; flex-direction: column; justify-content: center; padding-right: 10px; color: white; height: 100%; align-items: flex-end; font-weight: 600; }
.work-link a span:nth-child(2) img { width: 100%; }
.work-link a:hover { border-color: orange; }
.work-link a:hover span:nth-child(1) { background: orange; }

.bosui-box { margin-bottom: 50px; }
.bosui-box h4 { display: flex; justify-content: center; align-items: center; }
.bosui-box h4 span { background: #B41D24; min-height: 60px; min-width: 300px; display: flex; justify-content: center; align-items: center; color: white; font-size: 24px; font-weight: 600; padding: 0 20px 0 20px; }
.bosui-box h4 span:before, .bosui-box h4 span:after { border-bottom: 2px solid white; width: 30px; display: block; content: " "; }
.bosui-box h4 span:before { rotate: 55deg; }
.bosui-box h4 span:after { rotate: -55deg; }
.bosui-box ul { border: 2px solid #B41D24; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; background: #FFFCEB; padding: 3%; }
.bosui-box ul li { flex-basis: 30%; padding: 1%; text-align: center; }
.bosui-box ul li img { display: block; margin-left: auto; margin-right: auto; }

.bosui2 { background: #FFF6C4; border: 1px; border-style: solid; border-color: #346BB6; padding: 15px; margin-top: 30px; margin-bottom: 50px; }
.bosui2 dl { display: grid; grid-template-columns: 250px 1fr; grid-gap: 20px; grid-gap: 20px; margin-bottom: 20px; }
.bosui2 dl dd .th { color: #346BB6; font-size: 18px; font-weight: 600; }
.bosui2 dl:last-child { margin-bottom: 0; }

.bosui-tag { display: flex; }
.bosui-tag span { background: #5F4419; color: white; border-radius: 20px; display: flex; justify-content: center; align-items: center; height: 30px; width: 100px; margin-bottom: 10px; font-weight: 600; }

.bosui3 { border: 1px; border-style: solid; border-color: #346BB6; margin-bottom: 60px; }
.bosui3 h4 { background: #346BB6; color: white; padding: 10px; font-size: 18px; font-weight: 600; }
.bosui3 article { margin-bottom: 20px; }
.bosui3 .inner { padding: 10px; }
.bosui3 h5 { color: #346BB6; font-size: 16px; font-weight: 600; text-align: center; }
.bosui3 ul { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 20px; }
.bosui3 ul li { display: flex; justify-content: space-between; flex-direction: column; }
.bosui3 ul div { display: flex; justify-content: center; align-items: center; flex-direction: column; }
.bosui3 ul .single { grid-area: 2 / 1 / 3 / 3; max-width: 700px; margin-left: auto; margin-right: auto; }

.qa ul { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 10px; grid-template-columns: 100px 1fr 200px; margin-bottom: 30px; }
.qa ul p { display: flex; align-items: center; padding: 15px; border-radius: 15px; min-height: 90%; }
.qa ul .qbox { background: #FFF6C4; max-width: 500px; }
.qa ul .abox { background: #D6E1F0; }

.sodan-flow { margin-bottom: 60px; }
.sodan-flow h4 { display: flex; justify-content: center; align-items: center; }
.sodan-flow h4 span { background: #346BB6; font-size: 24px; font-weight: 600; border-radius: 15px 15px 0 0; color: white; display: flex; justify-content: center; align-items: center; min-width: 300px; height: 60px; }
.sodan-flow .inner { border: 1px; border-style: solid; border-color: #346BB6; padding: 30px; border-radius: 20px; }
.sodan-flow .inner .line1 { background: #B41D24; color: white; writing-mode: vertical-rl; display: flex; justify-content: center; align-items: center; }
.sodan-flow .inner p { padding: 8px; width: 100%; display: flex; align-items: center; font-weight: 600; }
.sodan-flow .inner .box1 { display: grid; grid-template-columns: 45px 1fr; grid-gap: 0px; }
.sodan-flow .inner .box1 dl { display: grid; grid-template-columns: 150px 1fr; grid-gap: 0px; }
.sodan-flow .inner .box1 dl dt { background: #6BB634; color: white; border-bottom: 1px solid white; }
.sodan-flow .inner .box1 dl dd { border-bottom: 1px solid #6BB634; display: flex; align-items: center; }
.sodan-flow .inner .box2 dl { display: grid; grid-template-columns: 195px 1fr; grid-gap: 0px; }
.sodan-flow .inner .box2 dl dt { background: #346BB6; color: white; border-bottom: 1px solid white; }
.sodan-flow .inner .box2 dl dd { border-width: 0px; border-bottom-width: 1px; border-style: solid; border-color: #346BB6; display: flex; align-items: center; }

.box-s { padding: 25px; border-radius: 15px; box-shadow: 0 0 15px lightgray; margin-bottom: 30px; }
.box-s p { margin-bottom: 20px; }

.about h4 { font-size: 18px; font-weight: 600; margin-bottom: 15px; display: flex; flex-direction: column; }
.about h4:after { content: " "; display: block; background: repeating-linear-gradient(-45deg, gray, gray 3px, #fff 0, #fff 5px); height: 5px; margin-top: 10px; }
.about p { margin-bottom: 40px; }

.map iframe { width: 100%; height: 600px; }

.contact-select { display: flex; justify-content: center; gap: 20px; margin-bottom: 50px; }
.contact-select article { border: 1px; border-style: solid; border-color: #346BB6; display: flex; justify-content: space-between; flex-direction: column; }
.contact-select article div { padding: 30px; }
.contact-select article div:nth-child(1) { background: #346BB6; color: white; display: flex; justify-content: center; align-items: center; flex-direction: column; }
.contact-select article div:nth-child(1) { background: #346BB6; color: white; display: flex; justify-content: center; align-items: center; flex-direction: column; }
.contact-select article div:nth-child(2) { display: flex; justify-content: center; align-items: baseline; font-size: 32px; font-weight: 600; }
.contact-select article div:nth-child(2) span { font-size: 16px; font-weight: 600; margin-right: 10px; }

.work-box { border: 2px solid #B41D24; background: #FFF6C4; border-radius: 15px; padding: 30px; display: flex; justify-content: center; align-items: center; flex-direction: column; margin-top: 50px; margin-bottom: 50px; }
.work-box h4 { margin-bottom: 40px; }
.work-box ul { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 15px; }
.work-box ul li { display: flex; justify-content: center; align-items: center; flex-direction: column; }
.work-box ul li figure { margin-bottom: 15px; }
.work-box ul li p { text-align: center; }

.work-box2 { display: grid; grid-template-columns: 200px 1fr; grid-gap: 20px; margin-bottom: 50px; }
.work-box2 article { border: 8px; border-style: solid; border-color: #346BB6; padding: 15px; font-size: 32px; font-weight: 600; color: #346BB6; margin-bottom: 50px; }

.work-box3 { border: 4px; border-style: solid; border-color: #346BB6; padding: 35px; border-radius: 15px; display: flex; justify-content: center; align-items: center; flex-direction: column; }
.work-box3 h4 { font-size: 24px; font-weight: 600; margin-bottom: 30px; }
.work-box3 dl { display: grid; grid-template-columns: 400px 1fr; grid-gap: 20px; }
.work-box3 dl dd { display: flex; justify-content: space-between; flex-direction: column; }

.case-layout { display: grid; grid-template-columns: 250px 1fr; grid-gap: 15px; margin-bottom: 60px; }
.case-layout .c-nav h4 { background: #346BB6; color: white; font-weight: 600; display: flex; justify-content: center; align-items: center; height: 50px; }
.case-layout .c-nav ul li a { padding: 10px; border-width: 0px; border-bottom-width: 1px; border-style: solid; border-color: gray; display: block; color: black; }
.case-layout .c-nav ul li a:hover { background: #ffbd42; }

.case-block { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-gap: 10px; }
.case-block .inner { border: 1px; border-style: solid; border-color: #346BB6; }
.case-block .inner h4 { background: #346BB6; color: white; min-height: 50px; color: white; display: flex; align-items: center; padding: 0 15px 0 15px; }
.case-block .inner article { padding: 15px; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 15px; }
.case-block .inner article figure { position: relative; max-height: 230px; overflow-y: hidden; }
.case-block .inner article figure span { position: absolute; display: block; padding: 8px; color: white; font-size: 12px; }
.case-block .inner article figure .before { background: #1F2937; }
.case-block .inner article figure .after { background: #B41D24; }
.case-block .inner .block2 { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 10px; }
.case-block .inner .block2 img { height: 230px; object-fit: cover; }

.case-prof { display: grid; grid-template-columns: repeat(auto-fit, minmax(49%, 1fr)); grid-gap: 10px; margin-bottom: 30px; }
.case-prof figure { position: relative; }
.case-prof figure img { width: 100%; }
.case-prof figure span { position: absolute; display: block; padding: 8px; color: white; font-size: 12px; }
.case-prof figure .before { background: #1F2937; }
.case-prof figure .after { background: #B41D24; }

.case-box { border: 1px; border-style: solid; border-color: #346BB6; border-radius: 20px; padding: 20px; margin-bottom: 30px; }

.point { display: grid; grid-template-columns: 180px 1fr; grid-gap: 20px; margin-bottom: 50px; }
.point dt { border-radius: 15px; height: 60px; display: flex; justify-content: center; align-items: center; background: #eb5000; color: white; font-size: 24px; font-weight: 600; }

.case-photo { display: flex; gap: 10px; flex-wrap: wrap; }
.case-photo li { flex-basis: 200px; }

/* Scss Document */
.contact { margin-top: 20px; padding-bottom: 50px; max-width: 800px; margin-left: auto; margin-right: auto; }
.contact input[type="text"], .contact textarea { width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
.contact dl { background: white; display: flex; justify-content: space-between; }
.contact dl dt { flex-basis: 30%; text-align: left; }
.contact dl dd { flex-basis: 70%; }
.contact dl dt, .contact dl dd { padding: 10px; }
.contact dl dd input { padding: 8px; }
.contact dl:nth-child(even) { background: rgba(213, 213, 213, 0.2); }
.contact p { display: flex; justify-content: center; align-items: center; }
.contact p input { padding: 15px; min-width: 280px; font-size: 110%; cursor: pointer; cursor: hand; border: 1px gray solid; background: white; }
.contact p input:hover { background: #ffd27f; }
.contact article { font-size: 80%; text-align: center; margin-top: 10px; max-width: 800px; margin-left: auto; margin-right: auto; }

@media screen and (max-width: 480px) { * { -webkit-box-sizing: border-box; box-sizing: border-box; }
  .cp_fullscreenmenu { display: block; }
  .cp_fullscreenmenu { position: fixed; z-index: 998; top: 5px; right: 5px; border: 1px solid #ababab; }
  /*menuコンテンツ*/
  .cp_fullscreenmenu .menu { position: fixed; top: 0; left: 0; display: flex; visibility: hidden; overflow: hidden; width: 100%; height: 100%; pointer-events: none; outline: 1px solid transparent; -webkit-backface-visibility: hidden; backface-visibility: hidden; align-items: center; justify-content: center; }
  .cp_fullscreenmenu .menu > div { display: flex; overflow: hidden; width: 200vw; height: 200vw; transition: all 0.4s ease; -webkit-transform: scale(0); transform: scale(0); text-align: center; color: #212121; flex: none; -webkit-backface-visibility: hidden; backface-visibility: hidden; align-items: center; justify-content: center; background-color: rgba(0, 0, 0, 0.8); }
  .cp_fullscreenmenu .menu > div > ul { max-height: 200vh; margin: 0; padding: 0 1em; list-style: none; opacity: 0; width: 100%; }
  .cp_fullscreenmenu .menu > div > ul > li { display: block; padding: 0; font-size: 90%; border-bottom: 1px dotted white; }
  .cp_fullscreenmenu .menu > div > ul > li a { display: block; padding-top: 8px; padding-right: 8px; padding-bottom: 8px; padding-left: 8px; color: white; }
  /*クリックしたらメニューが開閉の動作*/
  .cp_fullscreenmenu .toggle { position: fixed; z-index: 999; top: 0px; width: 50px; height: 50px; cursor: pointer; opacity: 0; right: 0px; }
  .cp_fullscreenmenu .toggle:checked + .hamburger > span { -webkit-transform: rotate(135deg); transform: rotate(135deg); }
  .cp_fullscreenmenu .toggle:checked + .hamburger > span:before, .cp_fullscreenmenu .toggle:checked + .hamburger > span:after { top: 0; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  .cp_fullscreenmenu .toggle:checked + .hamburger > span:after { opacity: 0; }
  .cp_fullscreenmenu .toggle:checked ~ .menu { visibility: visible; pointer-events: auto; }
  .cp_fullscreenmenu .toggle:checked ~ .menu > div { transition-duration: 0.75s; -webkit-transform: scale(1); transform: scale(1); }
  .cp_fullscreenmenu .toggle:checked ~ .menu > div > ul { opacity: 1; }
  .cp_fullscreenmenu .toggle:checked:hover + .hamburger > span { -webkit-transform: rotate(225deg); transform: rotate(225deg); }
  /*ハンバーガー*/
  .cp_fullscreenmenu .hamburger { z-index: 980; top: 5px; display: block; width: 50px; height: 50px; padding: 0.5em 1em; cursor: pointer; transition: box-shadow 0.4s ease; border-radius: 0 0.12em 0.12em 0; -webkit-backface-visibility: hidden; backface-visibility: hidden; right: 0%; background-color: white; position: fixed; border: 1px solid #cccccc; }
  .cp_fullscreenmenu .hamburger > span { position: relative; top: 50%; display: block; width: 100%; height: 2px; transition: all 0.4s ease; background-color: #525252; right: 0px; }
  .cp_fullscreenmenu .hamburger > span:before, .cp_fullscreenmenu .hamburger > span:after { position: absolute; z-index: 1; top: -10px; left: 0; display: block; width: 100%; height: 2px; content: ''; transition: all 0.4s ease; background: inherit; }
  .cp_fullscreenmenu .hamburger > span:after { top: 10px; }
  .dropdown { display: inline-block; width: 100%; }
  #tg, #tg2 { display: none; } }
/* Scss mobile contents */
@media screen and (max-width: 480px) { .container-fluid, .index .mv { max-width: 480px !important; min-width: 320px !important; }
  header .container-fluid nav, footer nav ul, .index-contact2 p:after, .index .sec03 h2 p:first-child:before, .index .sec03 h2 p:first-child:after, .index .sec02 h2 p:first-child:before, .index .sec02 h2 p:first-child:after { display: none; }
  footer section, .table01 li, .amamori-img, .work-link, .bosui-box ul, .bosui2 dl, .bosui3 ul, .case-list2, .contact-select, .shidan-area, .shindansho, .work-box ul, .work-box2, .work-box3 dl, .index .sec02 .box article, .index .sec03 .index-menu, .index .sec06 .inner, .index .sec06 .case-list { display: block; }
  header .container-fluid { padding: 0px !important; margin: 0 !important; }
  header .container-fluid section { position: relative; }
  header .container-fluid section div:first-child { max-width: 250px; margin-left: 15px; }
  header .container-fluid section div:nth-child(2) { position: absolute; top: 102%; left: 0; width: 100%; background: white; }
  header .container-fluid section div:nth-child(2) p { padding: 5px; }
  .table01 li p { text-align: left !important; }
  .index-contact2 { display: block; padding-top: 5px; }
  .index-contact2 p { border-radius: 15px; padding: 10px; margin: 5px; }
  .index-contact2 p br { display: none; }
  .index-contact2 ul { margin-right: 0; }
  .index .mv .mv-inner { flex-direction: column-reverse; }
  .index .mv .mv-inner div { margin-bottom: 20px; }
  .index .mv .mv-inner dl dt { font-size: 20px; }
  .index .sec02 .inner { padding: 10px; }
  .index .sec02 .box { width: 98%; }
  .index .sec01 .index-contact p a label { position: absolute; width: 100%; height: auto; border-radius: 10px; bottom: -30px; right: 0px; }
  .index .sec02 h2 p:first-child { font-size: 22px; }
  .index .sec02 h2 p:last-child { font-size: 18px; }
  .index .sec02 .box figure span { position: inherit; }
  .index .sec02 .box h3 span { margin-left: 0%; }
  .index .sec02 .box article figure div { text-align: center; display: flex; justify-content: center; align-items: center; }
  .index .sec02 .box article div { padding: 10px !important; }
  .index .sec03 h2 p:first-child { font-size: 18px; }
  .index .sec03 h2 p:nth-child(2) { font-size: 20px; }
  .index .sec03 h2 p:last-child { font-size: 32px; }
  .index .sec03 .index-menu div { margin-bottom: 30px; }
  .index .sec03 .index-menu div figure { width: 180px; margin-left: auto; margin-right: auto; }
  .index .sec06 .inner figure { width: auto; }
  .index .sec06 .inner div { width: auto; margin-top: 20px; }
  .index .sec06 .case-list li { margin-bottom: 15px; }
  .index .sec06 .case-list li figure { text-align: center; }
  .case-layout { display: flex; flex-direction: column-reverse; }
  .point { display: block; }
  .pages h2 { font-size: 22px; }
  .work-link li { margin-bottom: 5px; }
  .index .sec02 .list { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 10px; }
  .pages .mv { padding: 60px 0 30px 0; }
  .amamori-img article { margin-bottom: 20px; }
  .map figure, .shindansho figure { text-align: center; margin-top: 20px; }
  .bosui3 ul li { margin-bottom: 40px; }
  .contact-select article { margin-bottom: 20px; }
  .work-box ul li { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 0px; }
  .work-box2 article { font-size: 24px; }
  .work-link .single a { display: block; max-width: 320px; margin-left: auto; margin-right: auto; }
  .work-link .single a span:first-child { text-align: center !important; display: block; padding-left: 10px; }
  .work-link .single a span:first-child br { display: none; }
  .qa ul { display: flex; justify-content: space-between; flex-wrap: wrap; }
  .qa ul li:first-child, .qa ul li:last-child { flex-basis: 20%; }
  .qa ul li:nth-child(2), .qa ul li:nth-child(5) { flex-basis: 75%; }
  .qa ul li:nth-child(3), .qa ul li:nth-child(4) { display: none; }
  .sodan-flow .inner { padding: 8px; }
  .sodan-flow .inner .box1 dl { grid-template-columns: 100px 1fr; }
  .sodan-flow .inner .box2 dl { grid-template-columns: 145px 1fr; }
  .sodan-flow h4 span { background: #346BB6; font-size: 24px; font-weight: 600; border-radius: 15px 15px 0 0; color: white; display: flex; justify-content: center; align-items: center; min-width: 300px; height: 60px; }
  .sodan-flow .inner p { padding: 8px; line-height: 120%; }
  .sodan-flow .inner .line1 { border-top-left-radius: 15px 0 0 0; }
  .sodan-flow .inner .box2 dl:nth-child(2) dt { border-bottom-left-radius: 15px; }
  .sodan-flow .inner .box2 dl:nth-child(2) dd { border-bottom-right-radius: 15px; }
  .table01 li .check { flex-direction: column; }
  .map { margin-bottom: 20px; } }
