@charset "utf-8";

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

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:500;
background:transparent;
}

img {vertical-align: bottom;}

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

main {display:block;}

nav ul,
ul li {
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%;
vertical-align:baseline;
background:transparent;
}

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

/* change colours to suit your needs */
mark {
background-color:#FFF;
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:collapse;
border-spacing:0;
}

/* 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 {
vertical-align:middle;
}

/* +++++++++++++++++++++++++ setting +++++++++++++++++++++++++ */

:root {
--main-color: #1681e4;
--point-color: #cd1577;
--cv-color: #e22e57;
--black-color: #222;
--gray-color: #f4f4f4;
}


/*  +++++++++++++++++++++++++ common +++++++++++++++++++++++++ */

*,*::after{
box-sizing: border-box;
}

html{
font-size: 100%;
height: 100%;
scroll-behavior: smooth;
}
body{
margin: 0;
padding: 0;
text-align: center;
font-family:'Noto Sans JP', sans-serif;
color: var(--black-color);
-webkit-text-size-adjust: 100%;
font-weight: 500;
}
.marker{
background:linear-gradient(transparent 94%, #FFFC00 94%);
font-weight: 700;
font-size: 1.65em;
}
.en{
font-family: 'Outfit', sans-serif;
font-weight: 700;
}
.pc{
display: block;
}
.sp{
display: none;
}
#wrapper{
margin: 0;
padding: 0;
}
.movieBox {
margin: 0;
padding-top: 56.25%;
position: relative;
height: 0;
overflow: hidden;
}
.movieBox iframe {
margin: 0;
padding: 0;
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}
.mapBox {
margin: 0;
padding: 0;
}
a:hover{
opacity: 0.8;
text-decoration: none;
}
a img:hover { opacity: 1.0; }

a[href^="tel:"]:hover{
opacity: 1.0;
}
img{
max-width: 100%;
height: auto;
backface-visibility: hidden;
}
/*a img{
transition: all 0.3s ease 0s;
}
a:hover img {
transform: scale(1.05, 1.05);
}*/
.svgParts {
display: none;
}
svg {
fill: var(--black-color);
}
a:link{
color: var(--main-color);
text-decoration:underline;
}
a:visited{
color: var(--main-color);
text-decoration:underline;
}
.clear{
clear: both;
}
.clearfix::after {
content: "";
display: block;
clear: both;
}
.ind {
display: block;
text-indent: -1.0em !important;
padding-left: 1.0em !important;
}
.mt0{margin-top:0!important}.mt5{margin-top:5px!important}.mt10{margin-top:10px!important}.mt15{margin-top:15px!important}.mt20{margin-top:20px!important}.mt25{margin-top:25px!important}.mt30{margin-top:30px!important}.mt35{margin-top:35px!important}.mt40{margin-top:40px!important}.mt45{margin-top:45px!important}.mt50{margin-top:50px!important}.mb0{margin-bottom:0!important}.mb5{margin-bottom:5px!important}.mb10{margin-bottom:10px!important}.mb15{margin-bottom:15px!important}.mb20{margin-bottom:20px!important}.mb25{margin-bottom:25px!important}.mb30{margin-bottom:30px!important}.mb35{margin-bottom:35px!important}.mb40{margin-bottom:40px!important}.mb45{margin-bottom:45px!important}.mb50{margin-bottom:50px!important}.pt0{padding-top:0!important}.pt5{padding-top:5px!important}.pt10{padding-top:10px!important}.pt15{padding-top:15px!important}.pt20{padding-top:20px!important}.pt25{padding-top:25px!important}.pt30{padding-top:30px!important}.pt35{padding-top:35px!important}.pt40{padding-top:40px!important}.pt45{padding-top:45px!important}.pt50{padding-top:50px!important}.pb0{padding-bottom:0!important}.pb5{padding-bottom:5px!important}.pb10{padding-bottom:10px!important}.pb15{padding-bottom:15px!important}.pb20{padding-bottom:20px!important}.pb25{padding-bottom:25px!important}.pb30{padding-bottom:30px!important}.pb35{padding-bottom:35px!important}.pb40{padding-bottom:40px!important}.pb45{padding-bottom:45px!important}.pb50{padding-bottom:50px!important}
.pctL {
float: left;
margin-right: 30px !important;
margin-bottom: 30px !important;
}
.pctR {
float: right;
margin-left: 30px !important;
margin-bottom: 30px !important;
}
.aCenter {
text-align: center;
}
.aLeft {
text-align: left;
}
.aRight {
text-align: right;
}
.centered {
position: relative;
overflow: hidden;
}
.centered ul {
position: relative;
left: 50%;
float: left;
}
.centered ul li {
position: relative;
left: -50%;
float: left;
}

strong{
font-weight:bold;
}
.scroll{
margin: 0 0 30px;
padding: 0;
}
.scroll table{
margin: 0 !important;
}
a[target="_blank"]:after {
content: "";
margin: 0 5px;
width: 10px;
height: 10px;
display: inline-block;
background: url(../images_2025/ico_blank.webp) no-repeat center center;
background-size: contain;
}
a[href$=".pdf"]:after {
content: "";
margin: 0 5px;
width: 16px;
height: 16px;
display: inline-block;
background: url(../images_2025/ico_pdf.webp) no-repeat center center !important;
background-size: contain !important;
}
a[href$=".xlsx"]:after,
a[href$=".xls"]:after {
content: "";
margin: 0 5px;
width: 16px;
height: 16px;
display: inline-block;
background: url(../images_2025/ico_exel.webp) no-repeat center center !important;
background-size: contain !important;
}
a[href$=".doc"]:after,
a[href$=".docx"]:after {
content: "";
margin: 0 5px;
width: 16px;
height: 16px;
display: inline-block;
background: url(../images_2025/ico_word.webp) no-repeat center center !important;
background-size: contain !important;
}
a[target="_blank"].noIco:after,
a[href$=".pdf"].noIco:after,
a[href$=".xlsx"].noIco:after,
a[href$=".xls"].noIco:after,
a[href$=".doc"].noIco:after,
a[href$=".docx"].noIco:after,
a[target="_blank"]:has(img):after,
a[href$=".pdf"]:has(img):after,
a[href$=".xlsx"]:has(img):after,
a[href$=".xls"]:has(img):after,
a[href$=".doc"]:has(img):after,
a[href$=".docx"]:has(img):after {
content: none;
}
.pointColor{
color: var(--point-color) !important;
}
#btnTop {
margin: 0;
padding: 0;
height: 50px;
width: 50px;
position: fixed;
right: 20px;
bottom: 80px;
background: var(--black-color);
border-radius: 50%;
z-index: 300;
box-sizing: border-box;
}
#btnTop::before {
margin: 0;
padding: 0;
content: "";
display: inline-block;
height: 10px;
width: 10px;
border-top: 3px solid #FFF;
border-right: 3px solid #FFF;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-20%) rotate(-45deg);
}
#btnTop a {
margin: 0;
padding: 0;
display: block;
width: 100%;
height: 100%;
}


/*  +++++++++++++++++++++++++ floatingCvBox +++++++++++++++++++++++++ */

#floatingCvBox {
margin: 0;
padding: 0;
width: 290px;
position: fixed;
right: 0;
bottom: 0;
background: var(--cv-color);
border-radius: 10px 0 0 0;
z-index: 500;
}
#floatingCvBox ul {
margin: 0;
padding: 0;
width: 100%;
display: flex;
justify-content: space-between;
}
#floatingCvBox ul li {
margin: 0;
padding: 0;
width: 100%;
text-align: center;
font-size: 1.125rem;
line-height: 1.4;
}
#floatingCvBox ul li a {
margin: 0;
padding: 20px 0;
color: #FFF !important;
display: block;
text-decoration: none;
}
#floatingCvBox ul li.tel {
font-size: 1.65rem;
line-height: 1.0;
font-weight: 700;
display: none;
}
#floatingCvBox ul li.tel svg {
margin: 0 5px 0 0;
padding: 0;
width: 16px;
height:24px;
fill: #FFF;
position: relative;
top: 2px;
}
#floatingCvBox ul li.mail a svg {
margin: 0 5px 0 0;
padding: 0;
width: 25px;
height:18px;
fill: #FFF;
position: relative;
top: 2px;
}



/*  +++++++++++++++++++++++++ btnMore +++++++++++++++++++++++++ */

p.btnMore{
margin: 0;
padding: 0;
font-size: 1.75rem;
line-height: 1.0;
display: flex;
justify-content: center;
}
p.btnMore a{
margin: 0;
padding: 0;
display: block;
color: var(--black-color);
text-decoration: none;
position: relative;
}
p.btnMore a::after{
margin: 0;
padding: 0;
content: "";
display: inline-block;
width: 100px;
height: 100px;
border-radius: 50%;
border: solid 1px var(--black-color);
vertical-align: middle;
}
p.btnMore a span.en{
margin: 0;
padding: 0 10px 0 0;
display: inline-block;
white-space: nowrap;
}
p.btnMore a::before{
margin: 0;
padding: 0;
content: "";
display: inline-block;
width: 74px;
height: 12px;
background: url("../images_2025/arrow_right.svg") no-repeat center center / contain;
position: absolute;
right: -20px;
top: 50%;
transform: translateY(-100%);
transition: all 0.3s ease 0s;
}
p.btnMore a:hover::before{
right: -25px;
}



/*  +++++++++++++++++++++++++ btnBox +++++++++++++++++++++++++ */

ul.btnBox{
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
}
ul.btnBox.center{
justify-content: center;
}
ul.btnBox.right{
justify-content: flex-end;
}
ul.btnBox li{
margin: 0;
padding: 0 !important;
min-width: 600px;
max-width: 100%;
box-sizing: border-box;
text-align: center;
font-size: 1.25rem;
line-height: 1.8;
text-indent: 0 !important;
background: var(--main-color);
border-radius: 200px;
}
ul.btnBox li+li{
margin-left: 20px;
}
ul.btnBox li::before{
content: none !important;
}
ul.btnBox li a{
margin: 0;
padding: 15px 30px;
display: block;
color: #FFF;
text-decoration: none;
position: relative;
}
ul.btnBox li a::before {
content: '';
width: 8px;
height: 8px;
border-top: solid 2px #FFF;
border-right: solid 2px #FFF;
position: absolute;
right: 25px;
top: 50%;
transform: rotate(45deg) translateY(-50%);
transition: all 0.3s ease 0s;
}
ul.btnBox li a:hover::before {
right: 20px;
}



/*  +++++++++++++++++++++++++ entry +++++++++++++++++++++++++ */

.entry{
margin: 0;
padding: 0;
}
.entry a,
.entry span{
margin: 0;
padding: 15px 25px;
display: flex;
align-items: center;
text-decoration: none;
color: var(--black-color);
}
.entry:nth-child(odd){
background: var(--gray-color);
border-radius: 5px;
}
.entry p.date,
.contents h2 span.date{
margin: 0;
padding: 0;
font-size: 1.0rem;
line-height: 1.6;
white-space: nowrap;
font-weight: 700;
display: block;
}
.entry p.date:after,
.contents h2 span.date:after{
margin: 0 0 0 10px;
padding: 5px 0;
width: 90px;
font-size: 13px;
line-height: 1.0;
display: inline-block;
text-align: center;
color: #FFF;
vertical-align: middle;
border-radius: 200px;
font-weight: 400;
}
.entry.news p.date:after,
.contents h2 span.news.date:after{
content: "NEWS";
background: var(--main-color);
}
.entry p.title{
margin: 0;
padding: 0 0 0 15px;
font-size: 1.0rem;
line-height: 1.6;
}


/*  +++++++++++++++++++++++++ snsBox +++++++++++++++++++++++++ */

ul.snsBox {
margin: 0;
padding: 0;
display: flex;
align-items: center;
}
ul.snsBox li {
margin: 0;
padding: 0;
width: 40px;
}
ul.snsBox li+li {
margin-left: 20px;
}


/*  +++++++++++++++++++++++++ header +++++++++++++++++++++++++ */

#headerWrap {
margin: 0;
padding: 0;
background: #FFF;
position: fixed;
z-index: 600;
width: 100%;
left: 0;
top: 0;
}
#headerWrap > .inner {
margin: 0 auto;
padding: 10px 0 0;
width: 1200px;
}
@media screen and (max-width:1200px){
#headerWrap > .inner {
width: 94%;
}
}
#headerWrap h1 {
margin: 0;
padding: 0;
font-size: 0.75rem;
line-height: 1.4;
font-weight: 400;
color: #0c3471;
text-align: left;
}
#header {
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
width: 100%;
}
#header p.logo{
margin: 0;
padding: 12px 0 0;
width: 320px;
}
#header #headerContents{
margin: 0;
padding: 0;
width: calc(100% - 330px);
}
#header #headerContents #headerCVBox{
margin: 0 0 10px;
padding: 0;
display: flex;
justify-content: flex-end;
align-items: center;
}
#header #headerContents #headerCVBox dl.telBox{
margin: 0;
padding: 0;
display: flex;
align-items: center;
}
#header #headerContents #headerCVBox dl.telBox dt{
margin: 0;
padding: 0;
font-size: 1.438rem;
line-height: 1.0;
}
#header #headerContents #headerCVBox dl.telBox dt{
margin: 0;
padding: 0;
font-size: 1.438rem;
line-height: 1.0;
font-weight: 500;
}
#header #headerContents #headerCVBox dl.telBox dt svg{
margin: 0 2px 0 0;
padding: 0;
width: 14px;
height:18px;
fill: #0c3471;
vertical-align: middle;
position: relative;
top: -2px;
}
#header #headerContents #headerCVBox dl.telBox dt a{
color: #0c3471 !important;
}
#header #headerContents #headerCVBox dl.telBox dd{
margin: 0;
padding: 0 0 0 10px;
font-size: 0.75rem;
line-height: 1.5;
color: #0c3471;
}
#header #headerContents #headerCVBox ul#headerBtnBox{
margin: 0 0 0 20px;
padding: 0;
display: flex;
align-items: center;
}
#header #headerContents #headerCVBox ul#headerBtnBox li{
margin: 0;
padding: 0;
font-size: 0.85rem;
line-height: 1.4;
border: solid 1px #c0c0c0;
border-radius: 200px;
}
#header #headerContents #headerCVBox ul#headerBtnBox li+li{
margin-left: 10px;
}
#header #headerContents #headerCVBox ul#headerBtnBox li a{
margin: 0;
padding: 4px 20px;
display: block;
text-decoration: none;
color: #0c3471;
}
#header #headerContents #headerCVBox ul#headerBtnBox li.contact{
border-color: var(--cv-color);
background: var(--cv-color);
}
#header #headerContents #headerCVBox ul#headerBtnBox li.contact a{
color: #FFF;
}
#header #headerContents #headerCVBox ul#headerBtnBox li.contact svg{
margin: 0 5px 0 0;
padding: 0;
width: 16px;
height:12px;
fill: #FFF;
vertical-align: middle;
position: relative;
top: -1px;
}



/*  +++++++++++++++++++++++++ menuBox +++++++++++++++++++++++++ */

#menuBox{
display: none;
}



/*  +++++++++++++++++++++++++ gnavi +++++++++++++++++++++++++ */

.gnavi {
margin: 0;
padding: 0;
display: flex;
width: 100%;
}
.gnavi ul {
margin: 0;
padding: 0;
width: 100%;
display: flex;
justify-content: flex-end;
}
.gnavi ul li {
margin: 0;
padding: 0;
text-align: center;
font-size: 1.25rem;
line-height: 1.5;
box-sizing: border-box;
position: relative;
}
.gnavi ul li+li {
margin-left: 30px;
}
.gnavi ul li.more .btnMore {
display: none;
}
.gnavi ul li a {
margin: 0;
padding: 0 0 18px;
text-decoration: none;
display: block;
position: relative;
color: #0c3471;
}


.gnavi ul li ul.naviSub{
margin: 0;
padding: 0;
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%) translateY(100%);
z-index: 500;
width: auto;
display: none;
}
.gnavi ul li.more:hover > ul.naviSub{
display: block;
}
.gnavi ul li ul.naviSub li{
margin: 0;
padding: 0;
font-size: 1.0rem;
line-height: 1.0;
font-weight: 500;
position: relative;
white-space: nowrap;
background: var(--black-color);
text-align: left;
border-top: solid 1px #000;
}
.gnavi ul li ul.naviSub li:first-child{
border: 0;
}
.gnavi ul li ul.naviSub li:first-child:before{
margin: 0;
padding: 0;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 0 8px 10px 8px;
border-color: transparent transparent var(--black-color) transparent;
display: inline-block;
position: absolute;
left: 50%;
top: -10px;
transform: translateX(-50%);
}
.gnavi ul li ul.naviSub li a{
margin: 0;
padding: 15px 20px;
text-decoration: none;
display: block;
position: relative;
color: #FFF;
}
.gnavi ul li ul.naviSub li a:before{
content: none !important;
}



/*  +++++++++++++++++++++++++ main +++++++++++++++++++++++++ */

#main {
position: relative;
overflow: hidden; /* 背景だけスクロールするため */
}
#mainBg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url("../images_2025/main_catch.webp") no-repeat center center / auto 100%;
z-index: 3;
}
#mainVideo {
position:relative;
width: 100%;
height: 100%;
object-fit: cover;
z-index: 1;
pointer-events: none;
}
#mainCatchBox {
display: none;
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 2;
}
#mainCatchBox p{
margin: 0;
padding: 0;
text-align: center;
font-size: 3.2rem;
line-height: 1.6;
font-weight: 900;
color: #FFF;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.4),0px 0px 6px rgba(0, 0, 0, 0.4),0px 0px 6px rgba(0, 0, 0, 0.4),0px 0px 6px rgba(0, 0, 0, 0.4),0px 0px 6px rgba(0, 0, 0, 0.4),0px 0px 6px rgba(0, 0, 0, 0.4),0px 0px 6px rgba(0, 0, 0, 0.4),0px 0px 6px rgba(0, 0, 0, 0.4);
white-space: nowrap;
}



/*  +++++++++++++++++++++++++ breadcrumbList +++++++++++++++++++++++++ */

#breadcrumbList {
margin: 0;
padding: 0;
border-top: solid 1px #EEE;
}
#breadcrumbList > .inner{
margin: 0 auto;
padding: 10px 0;
width: 1200px;
}
@media screen and (max-width:1200px){
#breadcrumbList > .inner{
width: 94%;
}
}
#breadcrumbList ul{
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
}
#breadcrumbList ul li{
margin: 0;
padding: 0;
font-size: 0.75rem;
line-height: 1.6;
color: #767676;
}
#breadcrumbList ul li:after{
margin: 0;
padding: 0 5px;
content: ">";
display: inline-block;
}
#breadcrumbList ul li:last-child:after{
padding: 0;
content: none;
}
#breadcrumbList ul li a{
margin: 0;
padding: 0;
color: var(--black-color);
}



/*  +++++++++++++++++++++++++ contents +++++++++++++++++++++++++ */

.contents{
margin: 0;
padding: 0;
text-align: left;
border-top: solid 1px #f3f3f3;
}
.contents.bg01{
background: #f3f3f3;
}
.contents.bg02{
background: #282828;
}
.contents.bg03{
background: #e22e57;
}
.contents.bg04{
background: var(--main-color);
}
.contents.bg04 h3{
color:#FFF}
.contents > .inner{
margin: 0 auto;
padding: 80px 0;
box-sizing: border-box;
width: 90%;
max-width: 1200px;
}
#indexPage .contents > .inner,
.contents#contact > .inner{
padding: 140px 0 120px;
}
.contents > .inner > *:last-child{
margin-bottom: 0 !important;
}
.contents h2{
margin: 0 0 60px;
padding: 0;
position: relative;
text-align: center;
}
.contents h2 .title{
margin: 0;
padding: 0;
font-size: 2.375rem;
font-weight: 700;
line-height: 1.0;
color: var(--main-color);
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
z-index: 20;
white-space: nowrap;
}
.contents.bg02 h2 .title,
.contents.bg03 h2 .title{
color: #FFF;
}
.contents h2 .en{
margin: 0;
padding: 0;
font-size: 120px;
line-height: 0.6;
color: var(--gray-color);
position: relative;
z-index: 10;
white-space: nowrap;
}
#indexPage .contents h2 .en{
font-size: 160px;
}
.contents.bg01 h2 .en{
color: #ebebeb;
}
.contents.bg02 h2 .en{
color: #313131;
}
.contents.bg03 h2 .en{
color: #cf2b50;
}
.contents h3{
margin: 0 0 20px;
padding: 0 0 0 15px;
font-size: 1.85rem;
line-height: 1.6;
color: var(--main-color);
text-align: center;
font-weight: 700;
}
.contents.bg02 h3{
color: #FFF;
}
.contents h4{
margin: 0 0 20px;
padding: 0 0 0 20px;
font-size: 1.65rem;
line-height: 1.6;
color: var(--black-color);
font-weight: 700;
border-left: solid 2px var(--main-color);
}
.contents p{
margin: 0 0 30px;
padding: 0;
font-size: 1.125rem;
line-height: 2.0;
}
.contents.bg02 p{
color: #FFF;
}
.contents p.read{
font-size: 1.125rem;
text-align: center;
}
.contents p.read.bigger{
font-size: 1.65rem;
font-weight: 700;
}
.contents p.read+p.read{
margin-top: 20px;
}
.contents.bg02 p.read,
.contents.bg03 p.read{
color: #FFF;
}
.contents *+h2 {
margin-top: 80px;
}
.contents #categoryWrap+h2 {
margin-top: 20px;
}
.contents *+h3 {
margin-top: 50px;
}
.contents *+h4,
.contents *+h5,
.contents *+h6 {
margin-top: 30px;
}
.contents h2+h3,
.contents h3+h4,
.contents h4+h5,
.contents h5+h6 {
margin-top: 0;
}
.contents ul.btnBox {
margin-top: 60px;
}
.contents table.tblNormal {
margin: 0 0 30px;
padding: 0;
width: 100%;
clear: both;
}
.contents table.tblNormal tr {
border-top: solid 1px #DADADA;
}
.contents table.tblNormal th,
.contents table.tblNormal td {
margin: 0;
padding: 15px 0 15px 20px;
font-size: 1.0rem;
line-height: 1.8;
box-sizing: border-box;
}
.contents table.tblNormal.ss th,
.contents table.tblNormal.ss td {
padding: 10px 0 10px 12px;
font-size: 0.91rem;
line-height: 1.6;
}
.contents table.tblNormal th,
.contents table.tblNormal.ss th {
padding-left: 0;
font-weight: 700;
}
.contents table.tblBorder {
margin: 0 0 30px;
padding: 0;
width: 100%;
clear: both;
}
.contents table.tblBorder th,
.contents table.tblBorder td{
margin: 0;
padding: 10px 15px;
font-size: 1.0rem;
line-height: 1.8;
box-sizing: border-box;
border: solid 1px #CCC;
background: #FFF;
}
.contents table.tblBorder th {
background: #EEE;
}
.contents table.tblBorder th.title {
background-color: var(--black-color);
border-color: #000;
color: #FFF;
}
.contents table.tblStripe {
margin: 0 0 30px;
padding: 0;
width: 100%;
clear: both;
}
.contents table.tblStripe tr {
background: #FFF;
}
.contents table.tblStripe tr:nth-child(odd) {
background: #F4F4F4;
}
.contents table.tblStripe th,
.contents table.tblStripe td {
margin: 0;
padding: 15px 20px 15px 40px;
font-size: 1.0rem;
line-height: 1.8;
box-sizing: border-box;
vertical-align: middle;
}
.contents table.tblStripe th {
padding: 15px 0 15px 40px;
color: var(--black-color);
}
.contents table.tblNormal th > *:last-child,
.contents table.tblNormal td > *:last-child,
.contents table.tblBorder th > *:last-child,
.contents table.tblBorder td > *:last-child,
.contents table.tblStripe th > *:last-child,
.contents table.tblStripe td > *:last-child {
margin-bottom: 0;
}
.contents table.tblNormal.fix,
.contents table.tblBorder.fix,
.contents table.tblStripe.fix {
table-layout: fixed;
}
.contents table.tblNormal .nw,
.contents table.tblBorder .nw,
.contents table.tblStripe .nw {
white-space: nowrap;
}
/* .contents table.★ th {
width: 20%;
} */
.contents table th.required {
padding-right: 70px;
position: relative;
}
.contents table th.required:before {
content: "";
margin: 0;
padding: 5px 0;
font-size: 0.75rem;
display: inline-block;
width: 50px;
text-align: center;
box-sizing: border-box;
vertical-align: middle;
line-height: 1;
position: absolute;
border-radius: 200px;
right: 0;
top: 50%;
transform: translateY(-50%);
}
.contents table th.required:before {
content: "必須";
color: #fff;
background: var(--red-color);
}
.contents ul.photoBox{
margin: 0 0 30px;
padding: 0;
display: flex;
flex-wrap: wrap;
}
.contents ul.photoBox.center{
justify-content: center;
}
.contents ul.photoBox li{
margin: 0 2% 0 0;
padding: 0;
width: 49%;
}
.contents ul.photoBox li li{
width:unset;
}
.contents ul.photoBox li:nth-child(2n){
margin-right: 0;
}
.contents ul.photoBox li:nth-child(n+3){
margin-top: 2%;
}
.contents ul.photoBox.c03 li{
margin: 0 2% 0 0 !important;
width: 32%;
}
.contents ul.photoBox.c03 li:nth-child(3n){
margin-right: 0 !important;
}
.contents ul.photoBox.c03 li:nth-child(n+4){
margin-top: 2% !important;
}
.contents ul.photoBox.c04 li{
margin: 0 calc(8% / 3) 0 0 !important;
width: 23%;
}
@supports (-ms-ime-align: auto) {
.contents ul.photoBox.c04 li{
margin: 0 2% 0 0 !important;
}
}
.contents ul.photoBox.c04 li:nth-child(4n){
margin-right: 0 !important;
}
.contents ul.photoBox.c04 li:nth-child(n+5){
margin-top: 2% !important;
}
.contents ul.photoBox li p,
.contents ul.photoBox li figure{
margin: 0;
padding: 0;
}
.contents ul.photoBox li p.txt{
margin: 0;
padding: 0;
font-size: 1.0rem;
line-height: 1.6;
margin: 5px 0 0;
}
.contents .pagination ul {
margin: 60px 0 0;
padding: 0;
display: flex;
justify-content: center;
}
.contents .pagination ul li {
margin: 0;
font-size: 1.0rem;
line-height: 1.0;
border-radius: 4px;
}
.contents .pagination ul li+li {
margin-left: 10px;
}
.contents .pagination ul li a,
.contents .pagination ul li span{
padding: 10px;
display: block;
box-sizing: border-box;
border: 1px solid #CCC;
border-radius: 4px;
}
.contents .pagination ul li a {
background: #FFF;
text-decoration: none;
}
.contents .pagination ul li span {
background: var(--main-color);
border-color: var(--main-color);
color: #FFF;
}
.contents ul.point01 {
margin: 0 0 30px;
padding: 0;
}
.contents ul.point01 li {
margin: 0 0 5px;
padding: 0 0 0 1.0em;
font-size: 1.0rem;
line-height: 1.8;
text-indent: -1.0em;
}
.contents ul.point01 li::before{
margin: 0 5px 0 0;
padding: 0;
content: '';
width: 0;
height: 0;
border-style: solid;
border-width: 5px 0 5px 7px;
border-color: transparent transparent transparent var(--main-color);
display:  inline-block;
vertical-align:  middle;
position:  relative;
top: -2px;
}
.contents ul.point01.fl {
display: flex;
flex-wrap: wrap;
}
.contents ul.point01.fl li {
margin: 0 10px 5px 0;
}
.contents ol {
margin: 0 0 30px;
padding: 0;
list-style: none;
counter-reset: li;
}
.contents ol li {
margin: 0 0 10px;
padding: 0 0 0 1.6em;
font-size: 1.125rem;
line-height: 1.6;
position: relative;
}
.contents ol li::before {
counter-increment: li;
content: counter(li);
position: absolute;
left: 0;
top: 5px;
display: block;
width: 20px;
height: 20px;
border-radius: 50%;
background-color: var(--black-color);
font-size: 12px;
color: #fff;
line-height: 20px;
text-align: center;
}
.contents #subnavi {
width: 100%;
margin: 0 0 6em;
padding: 10px 0 0 0;
}
.contents #subnavi ul{
gap: 10px;
display: flex
}
.contents #subnavi li {
flex: 1;
background: #eee;
border-radius: 5px;
}
.contents #subnavi li a {
color: #3e3e3e;
text-decoration: none;
display: block;
padding: 15px 0;
text-align: center;
border-radius: 5px;
}
.contents #subnavi li a:hover {
color: #fff;
text-decoration: none;
display: block;
padding: 15px 0;
background: var(--main-color);
text-align: center;
border-radius: 5px;
}
.contents.service01 #subnavi li:nth-of-type(1),
.contents.service02 #subnavi li:nth-of-type(2),
.contents.service03 #subnavi li:nth-of-type(3),
.contents.service04 #subnavi li:nth-of-type(4),
.contents.service05 #subnavi li:nth-of-type(5),
.contents.service06 #subnavi li:nth-of-type(6),
.contents.service07 #subnavi li:nth-of-type(7),
.contents #subnavi li.current{
background: var(--main-color);
}
.contents.service01 #subnavi li:nth-of-type(1) a,
.contents.service02 #subnavi li:nth-of-type(2) a,
.contents.service03 #subnavi li:nth-of-type(3) a,
.contents.service04 #subnavi li:nth-of-type(4) a,
.contents.service05 #subnavi li:nth-of-type(5) a,
.contents.service06 #subnavi li:nth-of-type(6) a,
.contents.service07 #subnavi li:nth-of-type(7) a,
.contents #subnavi li.current a {
color: #fff;
position: relative;
}
.contents.service01 #subnavi li:nth-of-type(1) a:before,
.contents.service02 #subnavi li:nth-of-type(2) a:before,
.contents.service03 #subnavi li:nth-of-type(3) a:before,
.contents.service04 #subnavi li:nth-of-type(4) a:before,
.contents.service05 #subnavi li:nth-of-type(5) a:before,
.contents.service06 #subnavi li:nth-of-type(6) a:before,
.contents.service07 #subnavi li:nth-of-type(7) a:before,
.contents #subnavi li.current a:before {
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 10px 7px 0 7px;
border-color: var(--main-color) transparent transparent transparent;
position: absolute;
bottom: -9px;
left: calc(50% - 7px);
}
.contents #planDetail{
margin: 0 0 60px;
padding: 50px;
background: #FFF;
border-radius: 10px;
}
.contents #planDetail > .inner{
margin: 0;
padding: 0;
width: 100%;
display: flex;
justify-content: space-between;
}
.contents #planDetail figure{
margin: 0;
padding: 0;
width: 300px;
}
.contents #planDetail .txtBox{
margin: 0;
padding: 0;
width: calc(100% - 350px);
}
.contents #planDetail .txtBox > *:last-child{
margin-bottom: 0;
}
.contents #planDetail .txtBox p.price{
margin: 0 0 20px;
padding: 0;
font-size: 2.0rem;
line-height: 1.0;
font-weight: 700;
color: var(--main-color);
}
.contents #planDetail .txtBox p.price strong{
font-size: 2.6em;
}



/*  +++++++++++++++++++++++++ works +++++++++++++++++++++++++ */

#worksList{
margin: 60px 0;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#worksList .box{
margin: 0;
padding: 0;
width: 48.33%;
}
#worksList .box:nth-child(n+3){
margin-top: 6%;
}
#worksList .box a{
display: block;
color: var(--black-color);
text-decoration: none;
}
#worksList .box p.photo{
margin: 0 0 20px;
padding: 68.96% 0 0;
box-shadow: 1.414px 1.414px 16px 0px rgba(133, 133, 133, 0.16);
position: relative;
overflow: hidden;
background: var(--main-color);
}
#worksList .box a p.photo img{
position: absolute;
left: 0;
top: 0;
transition: all 0.3s ease 0s;
object-fit: cover;
width: 100%;
height: 100%;
}
#worksList .box a:hover p.photo img {
transform: scale(1.05, 1.05);
opacity: 0.5;
}
#worksList .box p.type{
margin: 0;
padding: 0;
font-size: 0.85rem;
line-height: 1.6;
}
#worksList .box h3{
margin: 0 0 10px;
padding: 0;
font-size: 1.75rem;
line-height: 1.6;
font-weight: 700;
color: var(--black-color);
text-align: left;
border: 0;
}
#worksList .box ul.tag{
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
}
#worksList .box ul.tag li{
margin: 2px 5px 2px 0;
padding: 5px 12px;
font-size: 0.75rem;
line-height: 1.0;
color: #979797;
border: solid 1px #979797;
border-radius: 200px;
}



/*  +++++++++++++++++++++++++ reason +++++++++++++++++++++++++ */

#reasonList{
margin: 60px 0 0;
padding: 0;
display: flex;
justify-content: space-between;
}
#reasonList .box{
margin: 0;
padding: 0;
width: 31.66%;
}
#reasonList .box h3{
margin: 0 0 20px;
padding: 80px 0;
font-size: 1.625rem;
line-height: 1.8;
color: #FFF;
text-align: center;
border-radius: 8px;
position: relative;
border: 0;
}
#reasonList .box:nth-of-type(1) h3{
background: url("../images_2025/reason_bg_01.webp") no-repeat center center / cover;
}
#reasonList .box:nth-of-type(2) h3{
background: url("../images_2025/reason_bg_02.webp") no-repeat center center / cover;
}
#reasonList .box:nth-of-type(3) h3{
background: url("../images_2025/reason_bg_03.webp") no-repeat center center / cover;
}
#reasonList .box h3::before{
margin: 0;
padding: 0;
content: "";
display: inline-block;
width: 60px;
height: 60px;
position: absolute;
left: 50%;
top: 0;
transform: translate(-50%,-50%);
background: var(--main-color);
border-radius: 50%;
}
#reasonList .box h3::after{
margin: 0;
padding: 0;
content: "";
display: inline-block;
position: absolute;
left: 50%;
top: 0;
transform: translate(-50%,-50%);
font-size: 26px;
color: #FFF;
line-height: 1.0;
font-family: 'Outfit', sans-serif;
font-weight: 300;
}
#reasonList .box:nth-of-type(1) h3::after{
content: "01";
}
#reasonList .box:nth-of-type(2) h3::after{
content: "02";
}
#reasonList .box:nth-of-type(3) h3::after{
content: "03";
}
#reasonList .box p{
margin: 0;
padding: 0;
font-size: 1.0rem;
line-height: 1.8;
color: #9b9b9b;
}



/*  +++++++++++++++++++++++++ voice +++++++++++++++++++++++++ */

#voiceList {
margin: 0;
padding: 0;
position: relative;
}
#voiceList .swiper {
width: 83.33%;
}
#voiceList .swiper-slide {
margin: 0;
padding: 0;
background: #FFF;
box-shadow: 7.071px 7.071px 27px 0px rgba(0, 0, 0, 0.05);
border-radius: 5px;
display: flex;
}
#voiceList .swiper-slide .photo {
margin: 0;
padding: 0;
width: 50%;
border-radius: 5px 0 0 5px;
position: relative;
}
#voiceList .swiper-slide.vol01 .photo {
background: url("../images_2025/voice_photo_vol01.webp") no-repeat center center / cover;
}
#voiceList .swiper-slide .photo p.catch {
margin: 0;
padding: 0;
white-space: nowrap;
font-size: 1.65rem;
line-height: 1.4;
color: #FFF;
position: absolute;
top: 30px;
left: 0;
}
#voiceList .swiper-slide .photo p.catch span {
margin: 3px 0;
padding: 3px 10px;
display: inline-block;
background: var(--main-color);
font-weight: 700;
}
#voiceList .swiper-slide .txtBox {
margin: 0;
padding: 50px;
width: 50%;
display: flex;
flex-direction: column;
box-sizing: border-box;
}
#voiceList .swiper-slide .txtBox > *:last-child{
margin-bottom: 0;
}
#voiceList .swiper-slide .txtBox h3{
margin: 0 0 20px;
padding: 0;
font-size: 1.75rem;
line-height: 1.8;
font-weight: 700;
color: var(--black-color);
}
#voiceList .swiper-slide .txtBox p{
margin: 0 0 20px;
padding: 0;
font-size: 1.0rem;
line-height: 1.8;
}
#voiceList .swiper-slide .txtBox p.number{
margin: 0 0 20px;
padding: 0 0 20px;
font-size: 2.25rem;
line-height: 1.0;
position: relative;
color: var(--main-color);
}
#voiceList .swiper-slide .txtBox p.number::before{
margin: 0;
padding: 0;
content: "";
display: inline-block;
background: var(--main-color);
width: 40px;
height: 2px;
position: absolute;
left: 0;
bottom: 0;
}

/* 右矢印 */
#voiceList .swiper-button-next {
background-image: url('../images_2025/btn_next.webp');
background-size: contain;
background-repeat: no-repeat;
width: 100px;
height: 100px;
right: 0;
transform: translateX(50%);
}
/* 左矢印 */
#voiceList .swiper-button-prev {
background-image: url('../images_2025/btn_prev.webp');
background-size: contain;
background-repeat: no-repeat;
width: 100px;
height: 100px;
left: 0;
transform: translateX(-50%);
}
#voiceList .swiper-button-next::after,
#voiceList .swiper-button-prev::after {
content: '';
}
#voiceList .swiper-button-next,
#voiceList .swiper-button-prev {
display: block;
}
#voiceList .swiper-pagination {
display: none;
}



/*  +++++++++++++++++++++++++ service +++++++++++++++++++++++++ */

#serviceSummaryBox{
margin: 0 0 60px;
padding: 0;
display: flex;
justify-content: space-between;
}
#serviceSummaryBox .detail{
margin: 0;
padding: 0;
width: 52.5%;
}
#serviceSummaryBox .detail > *:last-child{
margin-bottom: 0;
}
#serviceSummaryBox .detail p{
margin: 0 0 20px;
padding: 0;
font-size: 1.0rem;
line-height: 2.0;
}
#serviceSummaryBox .detail p.ico{
margin: 0 0 10px;
padding: 2px 25px 3px;
font-size: 1.25rem;
line-height: 1.6;
color: #FFF;
display: inline-block;
background: var(--main-color);
border-radius: 200px;
}
#serviceSummaryBox .detail p.resultsNumber{
margin: 0 0 20px;
padding: 0;
font-size: 1.75rem;
line-height: 1.0;
font-weight: 700;
}
#serviceSummaryBox .detail p.resultsNumber strong{
font-size: 1.8em;
color: var(--main-color);
font-weight: 700;
line-height: 1.0;
}
#serviceSummaryBox .detail p.resultsNumber strong .number{
font-size: 1.8em;
font-weight: 500;
line-height: 1.0;
}

#serviceSummaryBox .detail p.resultsNumber strong .number.en {
  display: inline-block;
  font-variant-numeric: tabular-nums;
  font-weight: bold;
  font-size: 3rem;
  letter-spacing: 0.05em;
  transition: transform 0.2s ease-out;
}

#serviceSummaryBox .detail h3{
margin: 0 0 20px;
padding: 0;
font-size: 1.75rem;
line-height: 1.8;
font-weight: 700;
color: var(--black-color);
text-align: left;
border: 0;
}
#serviceSummaryBox p.pct{
margin: 0;
padding: 0;
width: 43.33%;
}
#serviceList{
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
}
#serviceList .box{
margin: 0;
padding: 60px 30px;
width: 25%;
box-sizing: border-box;
}
#serviceList .box:nth-of-type(1){
background: url("../images_2025/service_bg_hp.webp") no-repeat center center / cover;
}
#serviceList .box:nth-of-type(2){
background: url("../images_2025/service_bg_consulting.webp") no-repeat center center / cover;
}
#serviceList .box:nth-of-type(3){
background: url("../images_2025/service_bg_cms.webp") no-repeat center center / cover;
}
#serviceList .box:nth-of-type(4){
background: url("../images_2025/service_bg_other.webp") no-repeat center center / cover;
}
#serviceList .box p.number{
margin: 0 0 10px;
padding: 0;
text-align: center;
font-size: 1.75rem;
font-weight: 500;
line-height: 1.0;
color: #FFF;
}
#serviceList .box h3{
margin: 0 0 30px;
padding: 0 0 20px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
font-size: 1.5rem;
line-height: 1.6;
color: #FFF;
position: relative;
border: 0;
}
#serviceList .box h3::before{
margin: 0;
padding: 0;
content: "";
display: inline-block;
background: #FFF;
width: 40px;
height: 2px;
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
}
#serviceList .box ul li{
margin: 0;
padding: 0 0 0 20px;
font-size: 1.0rem;
line-height: 1.6;
color: #FFF;
text-indent: -20px;
}
#serviceList .box ul li+li{
margin-top: 5px;
}
#serviceList .box ul li::before{
margin: 0 4px 0 0;
padding: 0;
content: "";
display: inline-block;
background: url("../images_2025/point_01.webp") no-repeat center center / contain;
width: 16px;
height: 16px;
position: relative;
top: 2px;
}


/*  +++++++++++++++++++++++++ charge +++++++++++++++++++++++++ */

#planList{
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
}
#planList .box{
margin: 0;
padding: 40px;
width: 31.66%;
background: #FFF;
box-shadow: 9.899px 9.899px 16px 0px rgba(133, 133, 133, 0.1);
border-radius: 8px;
box-sizing: border-box;
}
#planList .box h3{
margin: 0 0 20px;
padding: 0;
font-size: 1.75rem;
line-height: 1.8;
text-align: center;
color: var(--black-color);
border: 0;
}
#planList .box p{
margin: 0;
padding: 0;
font-size: 1.0rem;
line-height: 1.8;
}
#planList .box p.price{
margin: 0 0 20px;
padding: 0;
font-size: 2.0rem;
line-height: 1.0;
text-align: center;
font-weight: 700;
color: var(--main-color);
}
#planList .box p.price strong{
font-size: 2.6em;
}
#planList .box ul.btnBox{
margin-top: 30px;
}
#planList .box ul.btnBox li{
min-width: 0;
width: 100%;
font-size: 1.0rem;
}


/*  +++++++++++++++++++++++++ news +++++++++++++++++++++++++ */

#newsList{
margin: 0;
padding: 0;
}



/*  +++++++++++++++++++++++++ indexTxtBox +++++++++++++++++++++++++ */

#indexTxtBox{
border-top: solid 1px #f3f3f3;
background: url("../images_2025/pct_line.webp") no-repeat center bottom;
}
#indexTxtBox > .inner{
padding: 60px 0 200px !important;
}
#indexTxtBox h2{
margin: 0 0 10px;
padding: 0;
font-size: 1.25rem;
line-height: 1.6;
font-weight: 700;
text-align: left;
}
#indexTxtBox *+h2{
margin-top: 60px;
}
#indexTxtBox p{
margin: 0;
padding: 0;
font-size: 0.85rem;
line-height: 2.0;
}




/*  +++++++++++++++++++++++++ contact +++++++++++++++++++++++++ */

#contact .cvBox{
margin: 0;
padding: 0;
width: 100%;
display: flex;
justify-content: space-between;
}
#contact .cvBox .box{
margin: 0;
padding: 0;
width: 38.33%;
}
#contact .cvBox .box:nth-of-type(2){
width: 56.66%;
}
#contact .cvBox h3 {
margin: 0 0 20px;
padding: 0;
font-size: 1.5rem;
line-height: 1.6;
color: #FFF;
text-align: center;
font-weight: 700;
border: 0;
}
#contact .cvBox p.tel {
margin: 0;
padding: 0;
font-size: 2.875rem;
line-height: 1.0;
color: #FFF;
text-align: center;
font-weight: 700;
}
#contact .cvBox p.tel a {
color: #FFF !important;
text-decoration: none;
}
#contact .cvBox p.tel svg {
margin: 0 5px 0 0;
padding: 0;
width: 28px;
height:36px;
fill: #FFF;
position: relative;
top: 2px;
}
#contact .cvBox p.tel span.ss {
margin: 10px 0 0;
padding: 0;
font-size: 1.0rem;
line-height: 1.0;
font-weight: 500;
display: block;
}
#contact .cvBox ul.cvBtnBox {
margin: 0;
padding: 0;
display: flex;
justify-content: space-between;
width: 100%;
}
#contact .cvBox ul.cvBtnBox li {
margin: 0;
padding: 0;
/* width: 48%; */
width: 100%;
background: #FFF;
border-radius: 200px;
text-align: center;
font-size: 1.125rem;
line-height: 1.4;
}
#contact .cvBox ul.cvBtnBox li a {
margin: 0;
padding: 20px 0;
display: block;
color: var(--cv-color);
text-decoration: none;
}
#contact .cvBox ul.cvBtnBox li a svg {
margin: 0 5px 0 0;
padding: 0;
width: 25px;
height:18px;
fill: var(--cv-color);
position: relative;
top: 2px;
}



/*  +++++++++++++++++++++++++ footer +++++++++++++++++++++++++ */

#footer{
background: #282828;
}
#footer > .inner{
margin: 0 auto;
padding: 120px 0;
box-sizing: border-box;
width: 90%;
max-width: 1200px;
text-align: left;
}
#footer p.catch{
margin: 0 auto 60px;
padding: 0;
text-align: center;
width: 80%;
max-width: 550px;
}
#footer #footerContents{
margin: 0;
padding: 0;
width: 100%;
display: flex;
justify-content: space-between;
}
#footer #footerContents .detail{
margin: 0;
padding: 0;
width: 350px;
}
#footer #footerContents .detail a{
color: #FFF !important;
}
#footer #footerContents .detail p{
margin: 0;
padding: 0;
font-size: 0.85rem;
line-height: 1.8;
color: #FFF;
}
#footer #footerContents .detail p.logo{
margin-bottom: 30px;
max-width: 320px;
}
#footer #footerContents .detail svg.ico_pin{
margin: 0 3px 0 0;
width: 12px;
height:18px;
fill: #FFF;
vertical-align: middle;
}
#footer #footerContents .detail ul.snsBox {
margin: 20px 0;
}
#footer #footerContents .detail p#copy {
font-size: 0.75rem;
color: #7c7c7c;
}
#footer #footerContents .detail p#copy a {
color: #7c7c7c !important;
text-decoration: none;
}
#footer #footerContents .detail p{
margin: 0;
padding: 0;
font-size: 0.85rem;
line-height: 1.8;
color: #FFF;
}
#footer #footerContents #footerSitemapBox{
margin: 0;
padding: 0;
width: calc(100% - 410px);
display: flex;
}
#footer #footerContents #footerSitemapBox .box{
margin: 0;
padding: 0 20px;
width: 25%;
border-left: solid 1px #3f3f3f;
box-sizing: border-box;

}
#footer #footerContents #footerSitemapBox .box li{
margin: 10px 0 0;
padding: 0;
font-size: 1.0rem;
line-height: 1.6;
color: #FFF;
white-space:nowrap;
}
#footer #footerContents #footerSitemapBox .box li+li{
margin-top: 20px;
}
#footer #footerContents #footerSitemapBox .box li a{
color: #FFF;
text-decoration: none;
}

#footer #footerContents #footerSitemapBox .box li li{
margin: 0;
padding: 0;
font-size: 0.85rem;
line-height: 1.6;
color: #8f8f8f;
}
#footer #footerContents #footerSitemapBox .box ul li+li{
margin-top: 5px;
}
#footer #footerContents #footerSitemapBox .box li li a{
color: #8f8f8f;
text-decoration: none;
}


/*  +++++++++++++++++++++++++ formAssets +++++++++++++++++++++++++ */

.formAssets .inputTxt {
margin: 2px 0;
font-size: 1.0rem;
border: solid 1px #ccc;
border-radius: 5px;
padding: 10px;
box-sizing: border-box;
vertical-align: middle;
}
.formAssets select.inputTxt {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background: url(../images_2025/point_select.webp) #FFF no-repeat center right;
background-size: contain;
padding: 2px 25px 2px 10px;
box-sizing: border-box;
line-height: 35px;
vertical-align: middle;
}
.formAssets select.inputTxt option {
margin: 0;
padding: 0;
}
.formAssets ul.list {
margin: 0;
padding: 0;
}
.formAssets ul.list li {
margin: 0 10px 0 0;
padding: 0;
display: inline-block;
font-size: 1.2rem;
}
.formAssets ul.list li.bl {
margin: 0 0 2px;
display: block;
}
.formAssets input[type="radio"],
.formAssets input[type="checkbox"] {
margin: 0 3px 0 0;
vertical-align: middle;
}
.formAssets ul#sendBox{
margin: 40px 0;
padding: 0;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}
.formAssets ul#sendBox li{
margin: 0;
padding: 0;
}
.formAssets ul#sendBox li+li{
margin-left: 20px;
}
.formAssets ul#sendBox li input[type="submit"],
.formAssets ul#sendBox li input[type="button"] {
margin: 0;
padding: 15px 100px;
-webkit-appearance: none;
font-size: 1.0rem;
font-weight: 700;
color: #FFF !important;
background: var(--black-color);
border: 0;
border-radius: 200px;
appearance: button;
box-sizing: border-box;
cursor: pointer;
width: 100%;
}
.formAssets ul#sendBox li input.btnBack {
background-color: #505050;
padding: 15px 30px;
}



/*  +++++++++++++++++++++++++  引き継ぎ +++++++++++++++++++++++++ */

.fontLss {
font-size: 1em !important;
}
.fontLs {
font-size: 1.125em !important;
}
.fontLm {
font-size: 1.25em !important;
}
.fontLx {
font-size: 1.375em !important;
}
.fontLxx {
font-size: 1.625em !important;
}
.fontX {
font-size: 2.5rem !important;
}
ul.listNote li{
padding: 0 0 .6em 1em;
text-indent: -1em;
}
#Company #map {
margin: 0;
padding: 0;
width: 100%;
height: 400px;
}
.column h3 {
position:relative;
}


/*  +++++++++++++++++++++++++  common by bucho +++++++++++++++++++++++++ */

.boxBlue{
background:var(--main-color);
color:#FFF;
padding:1.6em 2.4em;
border-radius:10px;
margin:0 0 3em;
}
.boxBlue h4{
font-size:1.375rem;
font-weight:bold;
margin:0 0 1em;
}
.flexPC .box{
padding:2em;
border-radius:10px;
}
ul.flexPC li{
padding:1em 1em 1em 2em!important;
text-indent:-.4em!important;
border-radius:10px;
}
ul.flexPC ul{
display:block;
}
ul.flexPC ul li{
padding: .4em 0 0 1em!important;
width: auto;	text-indent:-1em!important;
margin:0!important;
}


ul.flexPC ul li::before{
display:none!important;
}
.flexPC .box h4{
font-weight:bold;
color:var(--main-color);
}
.three li, .two li,.three p, .two p{
font-size:1rem!important;
}
.three ul, .two ul,.three p, .two p{
margin:1em 0 0!important;
}
ul.flexPC ul,
.three ul li ul{
margin: 0 !important;
}
.flexPC .box figure{
text-align:center;
}
.ju{
justify-content:space-between;
}
/*
.column h3::after{
content:"";
background:#FFF;
position:absolute;
width:2em;
height:2px;
bottom:1em;
left:calc(50% - 1em)}*/


.contents.column h3 span{
font-size:2.5rem;
display:block}


.contents.column figure img{
display:block;
margin-left:auto;
margin-right:auto;
}
.contents.column .inner{
padding:60px;
border-radius:10px;
background:#FFF}
.contents.column h4{
color:var(--main-color);
font-size:1.5rem;
font-weight:bold;
margin:0 0 1em}
.contents.column p{
font-size:1rem}
.contents.column h5{
font-weight:bold;
display:flex;
align-items:center;
color:var(--main-color);
font-size:1.375rem;
border-top:1px solid var(--main-color);
padding:.8em 0;
margin:2em 0 0;
}
.contents.column h5 span{
font-size:.875rem;
margin: 0 1em 0 0;
display:block;
width:80px;
line-height:80px;
color:var(--main-color);
border:1px solid var(--main-color);border-radius:100px;
text-align:center;
}
.contents.column p.catchB{
font-size:1.313rem;
}


/*  +++++++++++++++++++++++++ privacy +++++++++++++++++++++++++ */

#Privacy h4{
font-size: 1.375rem;
font-weight: bold;
margin: 2em 0 .4em;
}



/*  +++++++++++++++++++++++++  FAQ +++++++++++++++++++++++++ */

#FAQ svg {
fill: transparent;
display: block;
margin-right: 10px;
}
#FAQ h3{
margin: 3em 0 1em;
font-size: 2.5rem;
text-align: center;
}
#FAQ h3 span{
position: relative;
display: inline-block;
padding: 0 2em;
}
#FAQ h3 span::after,
#FAQ h3 span::before{
content: "";
position: absolute;
top: 50%;
transform: translateY(-50%);
height: 2px;
background: var(--main-color);
width: 1.4em;
}
#FAQ h3 span::after{left: 0;
}
#FAQ h3 span::before{right: 0;
}
#FAQ h4{
font-size: 1.375rem;
padding: 0 0 1em;
display: flex;
border: 0;
}
#FAQ  dl{
line-height: 2em;
padding: 2em;
border-radius:10px;
background: var(--gray-color);
margin:0 0 3em}
#FAQ  dt{
position: relative;
display: inline-block;
font-weight: bold;
padding: 0 0 .6em;
font-size: 1.25rem;
color: var(--main-color)}


/*  +++++++++++++++++++++++++  SDGs +++++++++++++++++++++++++ */
.SDGs h3{
color: #000;
line-height: 1;
font-size: 2.5rem;
}


.SDGs h3	span{
color: var(--main-color);
font-size: 1rem;
}



.SDGs h4{
font-size: 1.75rem;
color: var(--main-color);
padding:1em 0;
border-top: 1px solid var(--main-color);
margin: 2em 0 .8em;
border-left: 0;
}


.SDGs  .boxFLEX{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.SDGs  .boxFLEX	.box{
padding: 0 0 2em;
width: 48%;
}
.SDGs  .boxFLEX	.box	p{
font-size: 1rem;
margin: 0 0 1em}
.SDGs  .boxFLEX	ul.point01 li{
font-size: 1rem;
}
.SDGs  .boxFLEX	.box img
{width: 50%;
display: block;
margin: auto;
}
.SDGs  .boxFLEX	 ul.listNote li{
font-size: .875rem;
}
.SDGs  .boxFLEX	 h5{font-size: 1.375rem;
margin: 1em 0;
border-radius:10px;
padding: .4em .8em;
background:var(--gray-color);
}
.SDGs  .fontLxx{font-size: 1.313rem;
font-weight: bold;
}
.SDGs .bg01 .listFLEX{
padding: 0 0 2em;
display: flex;
justify-content: center;
}
.SDGs .bg01 h5{
margin: 2em 0 1em;
font-weight: bold;
font-size: 1.375rem;
padding: .4em 1em;
border-radius:10px;
background: #FFF;
}
.SDGs .bg01  .listFLEX li{
padding: 0 .6em;
}
/*  +++++++++++++++++++++++++  SERVICE +++++++++++++++++++++++++ */
#ServiceIntro h3{
font-size:2rem;
}
#ServiceIntro p strong{
display:block;
font-size:1.5rem;
padding: .6em 0 1em;
margin:0 0 1.5em;
position:relative;
}
#ServiceIntro p strong::after{
position:absolute;
bottom:0;
height:2px;
content:"";
left:calc(50% - 1.5em);
width:3em;
background:#cc0000;
}
#ServiceIntro p strong, .redB{
color:#cc0000;
font-weight:bold;
}
#serviceCo h3{
font-size:2rem;
}
#serviceLIST{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}
#serviceLIST .box{
background:#FFF;
border-radius:10px;
padding:1.4em;
margin:1.5em 0 0;
box-sizing: border-box;
}
#serviceLIST .box.hp{
width:100%
}
#serviceLIST .box h4{
font-size:1.375rem;
text-align:center;
color: var(--main-color);
font-weight:bold;
margin:.6em 0;
padding: 0;
border: 0;
}
#serviceLIST .box p{
font-size:1rem;
}
#serviceLIST .box p strong{
color: var(--black-color);
font-weight:bold;
font-size:1.063rem;
}
#serviceLIST .box figure{
width:50%;
margin:2em auto;
display:block;
}
/**/
.btnShosai a {
position: relative;
display: flex;
justify-content: space-around;
align-items: center;
margin: 0 auto;
max-width: 230px;
padding: 10px 0px 10px 25px;
font-family: "Noto Sans Japanese";
line-height: 1.8;
text-decoration: none;
color: #333;
transition: 0.3s ease-in-out;
font-weight: 500;
}
.btnShosai a:before, .btnShosai a:after {
content: "";
position: absolute;
display: block;
top: 50%;
z-index:-1
}
.btnShosai a:before {
width: 0.5rem;
height: 0.5rem;
left: 1.1rem;
border-top: solid 2px #333;
border-right: solid 2px #333;
z-index: 2;
transform: translateY(-50%) rotate(45deg);
transition: all 0.3s;
}
.btnShosai a:after {
left: 0;
background: #eee;
z-index: 1;
width: 3rem;
height: 3rem;
border-radius: 4rem;
transform: translateY(-50%);
transition: all 0.5s;
}
.btnShosai a span {
position: relative;
transition: all 0.3s;
z-index: 3;
}
.btnShosai a:hover span {
color: #fff;
}
.btnShosai a:hover:before {
left: 2.5rem;
border-top: solid 2px #fff;
border-right: solid 2px #fff;
}
.btnShosai a:hover:after {
right: 0;
width: 100%;
background: #0041a2;
}


/*  +++++++++++++++++++++++++  HP +++++++++++++++++++++++++ */

.contents p.catchB{
color: var(--black-color);
font-size:1.375rem;
font-weight:bold;
}
.blueB{
color:var(--main-color);
font-weight:bold;
}
strong.redB{
background: -webkit-gradient(
linear,
left top,
left bottom,
color-stop(50%, transparent),
color-stop(50%, #fff462)
);
background: linear-gradient(transparent 50%, rgba(255, 244, 98, 0.8) 50%);
}
.listCHECK {
padding: 2em 0;
margin: 0;
}
.listCHECK > li {
position: relative;
padding: .2em 0 .2em 2em;
margin: 0;
font-size: 1.125rem;
text-align:left;
}
.listCHECK > li::before,
.listCHECK > li::after {
position: absolute;
top: 1em;
height: 1em;
content: "";
}
.listCHECK > li::before {
left: 0px;
transform: translateY(-50%);
width: 1em;
border: 1px solid #3388dd;
}
.listCHECK > li::after {
left: 0.5em;
transform: translateY(-75%) rotate(45deg);
width: 0.5em;
border-bottom: 3px solid #3388dd;
border-right: 3px solid #3388dd;
}
.listCHECK > li + li {
margin: 1em 0px 0px;
}
.checkHP{
text-align:center;
}
.checkHP .listCHECK{
display:inline-block;
}
#hpCo h3{
text-align:left}


/*  +++++++++++++++++++++++++  Consluting +++++++++++++++++++++++++ */
#consulIntro small{

font-size:small!important;
}
.column {
padding:80px 0;
}
.contents #subnavi.service ul{
align-items: stretch;
}
.contents #subnavi.service ul li a{
display: flex;
height:5.4em;
align-items: center;
justify-content: center;
}


/*****************************************************************

updateCo

******************************************************************/

.updateBox {
margin: 0;
}
.updateBox p.photo {
text-align: center;
}
.swiper-container.gallery-thumbs {
margin: 50px 0 30px;
}
.gallery-thumbs .swiper-wrapper {
letter-spacing: -0.4em;
width: auto;
height: 110px;
display: block;
margin: 0 0 0 0;
text-align: center;
transform: translate3d(0px, 0, 0) !important;
}
.gallery-thumbs .swiper-slide {
display: inline-block;
letter-spacing: normal;
vertical-align: bottom;
margin: 0 10px;
width: 110px !important;
background-size: 100% auto !important;
opacity: 1;
}
.gallery-thumbs .swiper-slide a {
display: block;
width: 110px;
height: 110px;
}
.gallery-thumbs .swiper-slide-thumb-active {
opacity: 1;
}
.gallery-thumbs #swiper01.swiper-slide.swiper-slide-thumb-active {
background: url(../service/cms/img/update_btn01_on.png) left top no-repeat !important;
background-size: 100% auto !important;
}
.gallery-thumbs #swiper02.swiper-slide.swiper-slide-thumb-active {
background: url(../service/cms/img/update_btn02_on.png) left top no-repeat !important;
background-size: 100% auto !important;
}
.gallery-thumbs #swiper03.swiper-slide.swiper-slide-thumb-active {
background: url(../service/cms/img/update_btn03_on.png) left top no-repeat !important;
background-size: 100% auto !important;
}
.gallery-thumbs #swiper04.swiper-slide.swiper-slide-thumb-active {
background: url(../service/cms/img/update_btn04_on.png) left top no-repeat !important;
background-size: 100% auto !important;
}
.gallery-thumbs #swiper05.swiper-slide.swiper-slide-thumb-active {
background: url(../service/cms/img/update_btn05_on.png) left top no-repeat !important;
background-size: 100% auto !important;
}
#updateCo h3 {
margin: 0;
text-align: center;
}
#updateCo p {
text-align: center !important;
}
/*****************************************************************

promotion

******************************************************************/
.promo.checkHP p{
text-align:left;
}
.gray li,
.gray .box{
background:var(--gray-color);
}
/*****************************************************************

management/

******************************************************************/
#managamentIntro .flexPC{
justify-content:space-between;
}
#managamentIntro .box h4{
font-size:1.313rem;
margin:1em 0 0;
}
#managamentIntro h3{
border-top:1px dotted #CCC;
padding:1.6em 0 0;
margin:2em 0 .6em;
}
#managamentIntro h3:nth-of-type(1){
border:0
}
#attractIntro .box figure,
#seoIntro .box figure,
#managamentIntro .box figure{
text-align:center;
background:#FFF;
border-radius:10px;
}
#attractIntro .box figure,
#seoIntro .box figure{
background:transparent
}
#attractIntro .box{
margin-bottom:2em
}
/*****************************************************************

SEO

******************************************************************/
#seoIntro .flexPC .box{
padding:2em;
border-radius:10px;
margin-bottom:2em;
}



/*  +++++++++++++++++++++++++ contactPage +++++++++++++++++++++++++ */

#contactSummary .box h3 {
font-size: 1.25rem;
}
#contactSummary p.boxLine {
padding: 1.5em;
background: var(--main-color);
color:#FFF;
clear: both;
border-radius:10px;
margin:3em 0;
}
#contactPage .stepBarBox {
width: 100%;
margin: 55px 0;
}
#contactPage .stepBar {
display: flex;
position: relative;
text-align: center;
}
#contactPage .stepBar li {
list-style: none;
position: relative;
width: 33.333%;
padding:0;
margin:0;
font-weight: 900;
}
#contactPage .stepBar li:after {
background: #dee2e7;
content: "";
width: calc(100% - 72px);
height: 1px;
position: absolute;
left: calc(-50% + 36px);
top: 50%;
}
#contactPage .stepBar li:first-child:after {
display: none;
}
#contactPage .stepBar li span {
background: #e5e5e5;
color: #fff;
display: inline-block;
width: 72px;
height: 72px;
line-height: 72px;
border-radius: 50%;
}
#contactPage .stepBar .visited:after {
background: #1b3e65;
}
#contactPage .stepBar .visited span {
background: #1b3e65;
}

input[type="checkbox"] {
display: none; /* checkboxを非表示にする */
}

select.new {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 1px solid #a6a6a6;
background-color: #fafbfd;
border-radius: 8px;
background-image: url(../images_2025/select_flow.webp);
background-position: right top;
background-repeat: no-repeat;
background-size: 16px 35px;
height: 35px;
padding: 0px 6px;

/*Firefox用*/
text-indent: 0.01px;
text-overflow: “”;
}

/*select.new option {
line-height: 35px;
}*/

/*IE対応*/
select::-ms-expand {
display: none;
}
#contactPage .naiyolist {
-js-display: flex;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
width: 99%;
margin: 0;
position: relative;
}
#contactPage .naiyolist::after {
content: "";
display: block;
width: 32%;
}
#contactPage .naiyolist li {
width: 32%;
margin-bottom: 10px;
font-size: 0.85rem;
}
#contactPage .naiyolist li span.ss {
font-size: 0.65rem;
}
#contactPage label {
display: block;
padding: 12px 0 12px 35px;
border-radius: 5px;
cursor: pointer;
background: var(--gray-color);
-js-display: flex;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
box-sizing: border-box;
height: 100%;
align-items: center;
}
#contactPage label:hover {
text-decoration: none;
}
#contactPage .checkbox,
#contactPage .radio {
z-index: -1;
position: absolute;
}
#contactPage label.CheckBoxLabelClass {
background-image: url("../contact/img/check_off.png");
background-repeat: no-repeat;
background-size: 18px 21px;
background-position: 12px 45%;
font-weight: 900;
}
#contactPage label.CheckBoxLabelClass.checked {
background-color: #c0392b;
color: #fff;
background-image: url("../contact/img/check_on.png");
}
#contactPage .normal tr th {
width: 25%;
}
#contactPage .normal tr td #zip {
margin-bottom: 15px;
}
#contactPage .normal tr th .hissu {
display: inline-block;
text-align: right;
float: right;
font-size: 11px;
background: #c0392b;
color: #fff;
padding: 1px 15px;
line-height: 1.6em;
border-radius: 30px;
}
#contactPage input[type="text"],
#contactPage textarea {
padding: 14px 20px;
background-color:var(--gray-color);
border: 0;
border-radius: 3px;
box-sizing: border-box;
font-size: 16px;
}
#contactPage #btnCheck input {
padding: 15px 0px;
line-height: 1em;
box-sizing: border-box;
width: 250px;
border: 3px solid #3e3e3e;
text-align: center;
display: block;
margin: 0px auto;
color: #3e3e3e;
background: #fff;
outline: none;
cursor: pointer;
}
#btnSent ul {
text-align: center;
}
#btnSent li {
margin: 0 10px;
display: inline-block;
}
#btnSent input {
outline: none;
padding: 15px 0px;
line-height: 1em;
box-sizing: border-box;
width: 250px;
border: 3px solid #3e3e3e;
text-align: center;
display: block;
margin: 0px auto;
color: #3e3e3e;
background: #fff;
cursor: pointer;
}
#btnSent input.send {
color: #D50F0F;
border-color: #D50F0F;
}
#contactPage table.normal {
margin: 0 0 20px 0;
padding: 0;
}
#contactPage table.normal tr {
border-top: 1px solid #dfdfdf;
}
#contactPage table.normal th,
#contactPage table.normal td {
padding: 15px 0;
font-size: 1rem;
line-height: 1.6;
vertical-align: top;
text-align: left;
}
#contactPage table.normal th {
white-space: nowrap;
font-weight: 900;
padding-right: 30px;
}
#contactPage table.normal.border tr {
border-top: none;
}
#contactPage table.normal.border th,
#contactPage table.normal.border td {
padding: 15px 18px;
vertical-align: middle;
border: 1px solid #dfdfdf;
}
#contactPage table.normal.border th {
background-color: var(--gray-color);
}
#contactPage ol li::before{
display:none;
}


/**/
#contactSummary .flexPC .box{
text-align:center;
}

.mailerr,.mail_chkerr,.error{
font-size:0.85em;
color:#FF0000;
}
#contactSummary .box{
background: #FFF;
padding: 1.5em 1em;
border-radius:10px;
}
#captcha div{
margin:auto;
}
#contactPage.confirm .flexPC{
padding: 2em 0;
}


/*  +++++++++++++++++++++++++ onlin +++++++++++++++++++++++++ */
#online .flexPC {
padding:1em 0 3em;
}
#online .flexPC .box {
background:var(--gray-color);
padding:1.5em;
border-radius:10px;
}
#online .flexPC .box h4{
text-align:center;
color: var(--main-color);
font-size: 1.313rem;
font-weight:bold;
margin:0 0 1em 0;
padding:0;
}
#online h4{
font-size:1.25rem;
color: #000033;
margin:0 0 1em;
padding:0 0 0 1em;
position:relative;
border: 0;
}
#online h4::after{
content:"";
position:absolute;
left:0;
top:.688em;
width:.6em;
height:3px;
background:#000033;
}
#online .flexPC .box h4::after{
display:none;
}
#online .flexPC .box p{
margin:0
}
#online .boxine{
border:5px solid #f2f2f2;
padding:1.4em 2em;
border-radius:10px;
}
#online .boxine ul li{
padding:.4em 0 .4em 1em;
text-indent:-1em;
}
/**/
#onlineFlow .step {
display: flex;
gap: 20px;
margin-bottom: 30px;
align-items: flex-start;
position: relative;
}
#onlineFlow .step::before {
content:"";
position: absolute;
left: 25px;
top: 50px;
bottom: -30px;
width: 2px;
background: var(--main-color);
opacity:.4;
}
#onlineFlow .step:last-child::before {
display: none;
}
#onlineFlow .step .number {
width: 50px;
height: 50px;
background: var(--main-color);
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
font-weight: bold;
flex-shrink: 0;
}
#onlineFlow .step .Inn {
flex: 1;
background: white;
padding: 20px 25px;
border-radius:10px;
}
#onlineFlow.hp .step .Inn {
background: var(--gray-color);
}
#onlineFlow .step .Inn h4 {
font-size: 1.313rem;
margin-bottom: .6em;
color: #333;
font-weight: bold;
}
#onlineFlow .step .Inn p {
font-size:1rem;
margin:0
}
#onlineFlow .step .Inn a {
color: #0066cc;
text-decoration: none;
}
#onlineFlow .step .Inn a:hover {
text-decoration: underline;
}


/*  +++++++++++++++++++++++++ Agency +++++++++++++++++++++++++ */

#Agency .boxBlue p{
margin:0;
}
#Agency .box h4{
text-align:center;
border: 0;
}

/* +++++++++++++++++++++++++  HP +++++++++++++++++++++++++  */

#hpIntro h3{
font-size:1.875rem;
}
#hpIntro h3{
font-size:1.375rem;
}
#hpCo .box h4{
margin:.8em;
text-align:center;
}
#hpCo .box h5{
text-align:center;
font-weight:bold;
font-size:1.25rem;
color:#000033;
}
#hpCo .box.MR{
border:3px solid var(--main-color);
background:rgba(22,129,228,.04);
}
#hpCo .box.DM{
border:3px solid #ccc;
}
#hpCo .box.DM h4{
color:#dd0000;
}
/**/

#hpType h4{
font-size:1.375rem;
text-align:center;
padding:0 0 1.6em;
position:relative;
font-weight:bold;
margin:1em 0;
color:#000033;
}
#hpType h4::after{
content:"";
position:absolute;
height:2px;
width:4em;
bottom:.2em;
background:#000033;
left:calc(50% - 2em);
}
#hpType  .box{
padding:2em 4em;
margin:0 0 1.5rem;
border-radius:10px;
background:#FFF;
}
/**/
#onlineFlow.hp .flexPC{
text-align:center;
justify-content:center;
}
#onlineFlow.hp .flexPC.ju{
justify-content:flex-start;
}
/**/

#onlineFlow.hp .flexPC h5{
margin: 0 0 20px;
padding: 0;
font-size: 1.45rem;
line-height: 1.6;
color: var(--main-color);
text-align: center;
font-weight: 700;
}
#onlineFlow.hp .flexPC .btn a{background: var(--cv-color);
color: #FFF;padding: .4em 1.2em;
display: inline-block;
text-decoration: none;
border-radius:50px;
font-size:1.25rem;
font-weight:bold;
}
#onlineFlow.hp .flexPC .btn svg{
margin: 0 5px 0 0;
padding: 0;
width: 16px;
height:12px;
fill: #FFF;
vertical-align: middle;
position: relative;
top: -1px;
}
#onlineFlow.hp .flexPC .txt{
text-align:left;
}
#onlineFlow.hp .flexPC  ul.listNote{
padding-top:2em;
}
#onlineFlow .step .Inn p.blueB{
font-size:1.25rem;
margin:0 0 1em;
}



/* +++++++++++++++++++++++++++++++++++++++++  media PC +++++++++++++++++++++++++++++++++++++++++  */


@media print, screen and  (min-device-width: 768px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none!important;
}
/* #headerWrap{
	height:120px;
} */

#wrapper{
	padding:120px 0 0}
.flexPC{
display:flex;
flex-wrap:wrap;
}
.contents #subnavi.service{
width:1200px;
}.contents #subnavi ul{
rid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
#serviceLIST .box.hp h4{
font-size:1.75rem;
}
#serviceLIST .box.hp .flexPC {
justify-content:space-between;
}
#serviceLIST .box.hp .flexPC figure{
width:400px;
margin:0;
}
#serviceLIST .box.hp .flexPC .txt{
width:688px;
}
#serviceLIST .box{
width:32%;
}
.contents #subnavi.service li{
font-size:.875rem;
}
#promoIntro .point01{
display:flex;
flex-wrap:wrap;
}
#hpType h3{
font-size:1.75rem
}
#promoIntro .point01 li{
margin:0 1.6em .8em 0;
}
/**/
.two .box{
width:48.76%;
}
.three li,
.three .box{
width:31.68%;
}
/**/
#consulIntro .flexPC{
flex-wrap:nowrap;
}#consulIntro .flexPC p{
width:56%;
}#consulIntro .flexPC figure{
width:40%;
}
/**/
#contactSummary .pointBox{
display:flex;
justify-content:space-between;
}
#contactSummary .pointBox .box{
width:30%;
}#contactSummary .pointBox .box p,
#contactSummary .flexPC p{
font-size:1rem;
}
#contactSummary .flexPC{
justify-content:space-between;

justify-content:center;
}
#contactSummary .flexPC .box{
width:32%;
margin:0 2em;
}
#contactPage.confirm .flexPC{
display:inline-flex;
flex-direction:row-reverse;
}
#contactPage.confirm .flexPC .btnSend,
#contactPage.confirm .flexPC .back{
margin:0 1.6em;
}
#contactPage.finish p{
margin:0 auto 2em;
width:700px;
}
/**/
#online .flexPC{
justify-content:space-between;
}
#online .flexPC .box{
width:32%;
}

/**/
#online .flexPC .box p{
font-size:1rem;
}
/**/

#onlineFlow.hp .flexPC .txt{
width:760px;
}
/* 閉じタグ */


}








/*  +++++++++++++++++++++++++ worksSecond +++++++++++++++++++++++++ */

#worksSecond ul.listCat {
margin: 60px 0 30px;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#worksSecond ul.listCat li {
margin: 0;
padding: 0;
font-size: 1.0rem;
line-height: 1.0;
width: 15%;
box-sizing: border-box;
border: 1px solid var(--black-color);
border-radius: 200px;
text-align: center;
}
#worksSecond ul.listCat li a {
margin: 0;
padding: 15px 0;
display: block;
color: var(--black-color);
text-decoration: none;
background: #FFF;
border-radius: 200px;
box-sizing: border-box;
height: 100%;
}
#worksSecond ul.listCat li.current a {
background: var(--black-color);
color: #FFF;
}
#worksSecond #worksIndex {
margin: 0;
padding: 0;
width: 100%;
display: flex;
flex-wrap: wrap;
}
#worksSecond #worksIndex .box {
margin: 0 2% 0 0;
padding: 0;
width: 32%;
}
#worksSecond #worksIndex .box:nth-child(3n) {
margin-right: 0;
}
#worksSecond #worksIndex .box:nth-child(n+4) {
margin-top: 4%;
}
#worksSecond #worksIndex .box p {
margin: 0;
padding: 0;
font-size: 1.0rem;
line-height: 1.6;
font-weight: 700;
text-align: center;
}
#worksSecond #worksIndex .box a {
color: #000;
}
#worksSecond #worksIndex .box .thm {
border: 1px solid #ccc;
margin: 0 0 10px;
}
#worksSecond #worksIndex .box img {
width: 100%;
height: auto;
}
#worksSecond #worksIndex .box:hover a {
text-decoration: underline;
}

/* ------ works detail --- */

#worksDetail {
margin: 0 0 60px;
padding: 0;
position: relative;
box-sizing: border-box;
}
#worksDetail table {
margin: 0 auto;
width: 100%;
}
#worksDetail th,
#worksDetail td {
font-size: 1.0rem;
line-height: 1.6;
padding: 12px 15px;
border: 1px solid #ccc;
vertical-align: middle;
}
#worksDetail th {
white-space: nowrap;
font-weight: bold;
background-color: #f3f3f3;
}
#worksDetail td ul {
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
}
#worksDetail td li {
margin: 0 calc(5% / 4) 0 0;
padding: 8px 0;
width: 19%;
font-size: 1.0rem;
line-height: 1.6;
color: #9f9f9f;
text-align: center;
background: #ececec;
border-radius: 5px;
}
#worksDetail td li:nth-child(5n) {
margin-right: 0;
}
#worksDetail td li:nth-child(n+6) {
margin-top: calc(5% / 4);
}
#worksDetail td li.current {
background: var(--black-color);
color: #fff;
}
#worksDetail td a {
text-decoration: underline;
}
#worksDetail td a:hover {
color: #ccc;
}
#worksDetail ul.slider {
margin: 0 auto 60px;
padding: 0;
width: 800px;
}
#worksDetail ul.slider li img {
width: 100%;
}
/**/
.contents #faq-pickup {
	padding: 60px 0 0;
	display:flex;
	justify-content:center;
	text-align:center;
}

.contents #faq-pickup .faq-container {	display:flex;
}
.contents #faq-pickup .faq-item{
	margin: 0 0 0 40px;
}
.contents #faq-pickup h2{
	margin:0;
	font-size:1.313rem;
	display:flex;
	align-items:center;
	border:1px solid var(--main-color);
	padding: 2em;
	color:var(--main-color);

	
}
.contents #faq-pickup h3{
color:var(--main-color);
font-weight:bold;
font-size:1.25rem;
	padding: .8em 2em;
	background:#FFF;
	border-radius:60px;
	margin: 0 0 .8em 0;
	position:relative;
}
.contents #faq-pickup p{
	margin:1em 0 0}
.contents #faq-pickup h3::after{
	content:"";
	  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-top: 20px solid #fff;
  border-bottom: 0;
		position:absolute;
		bottom:-18px;    left: 50%;
    transform: translateX(-50%);
}

.contents #faq-pickup p+h3{
	margin-top:.8em}