/*------------------------------------------------------------
BODY BASIC
------------------------------------------------------------*/
body{
color:#4d4d4d;
font-size:3.5vw;
line-height:1.75;
width:100%;
overflow:hidden;
font-feature-settings:'palt';
}

#container{
}

#top{
padding-top:16vw;
}


/*------------------------------------------------------------
RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:none; }
.sponly{ display:block; }


/*------------------------------------------------------------
HEADER
------------------------------------------------------------*/

.t-only{ display:block; }

header{
width:100%;
height:16vw;
position:fixed;
top:0;
left:0;
z-index:999;
background:#f0f0f0;
}
.header-inner{
display:flex;
justify-content:space-between;
align-items:center;
padding:3vw;
}
.site-logo{
width:43.00vw;
height:9.90vw;
position:relative;
}
.site-logo img{
width:100%;
}

.site-logo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}


.kv-head,
.pc-head,
.p-head{
display:none;
}

.p-header{
width:100%;
height:16vw;
background:#f0f0f0;
z-index:999;
}


/*------------------------------------------------------------
DRAWER MENU
------------------------------------------------------------*/
#menuBtn{
position:fixed;
right:3vw;
top:5vw;
width:6vw;
height:6vw;
cursor:pointer;
z-index:9999;
}
#menuBtn span{
display:block;
position:absolute;
height:.5vw;
width:100%;
background:#4d4d4d;
left:0;
transition:all 0.2s ease-in-out;
}

#menuBtn span:nth-child(1){
top:0;
}
#menuBtn span:nth-child(2){
top:2.75vw;
}
#menuBtn span:nth-child(3){
top:5.5vw;
}

.active#menuBtn span:nth-child(1){
top:2.2vw;
transform:rotate(45deg);
background:#fff;
}
.active#menuBtn span:nth-child(2){
width:0;
left:50%;
}

.active#menuBtn span:nth-child(3){
top:2.2vw;
transform:rotate(-45deg);
background:#fff;
}

#menuBox{
display:none;
width:100%;
background:rgba(11, 117, 225, .95);
height:100vh;
position:fixed;
top:0;
left:0;
box-sizing:border-box;
z-index:9998;
}

#menuBox.active{
display:block;
}

.menu-inner{
transform:translateY(-10vw);
transition:all 0.3s;
}

.menu-inner.active{
transform:translateX(0);
display:block;
}
.menu-logo-area{
padding:3vw;
}
.menu-logo{
width:43.00vw;
height:9.90vw;
position:relative;
}
.menu-logo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

.menu-wrapper{
height:calc(100vh - 26vw);
overflow:auto;
}

.d-menu{
width:70vw;
margin:0 auto;
}
.d-menu li{
position:relative;

}

.d-menu li a{
padding:4vw 0;
display:block;
color:#fff;
font-size:4vw;

}


.spmenu-acc{
width:70vw;
margin:0 auto;
}
.spmenu-acc dt{
padding:4vw 0;
color:#fff;

font-size:4vw;
position:relative;
}
.spmenu-acc dt::before{
content:'';
width:5vw;
height:.5vw;
background:#fff;
position:absolute;
top:6.75vw;
right:0;
transition:all .2s;
}
.spmenu-acc dt::after{
content:'';
width:.5vw;
height:5vw;
background:#fff;
position:absolute;
top:4.5vw;
right:2.3vw;
transition:all .2s;
}
.spmenu-acc dt.open::before{
transform:rotate(90deg);
opacity:0;
}
.spmenu-acc dt.open::after{
content:'';
transform:rotate(90deg);
}




.spmenu-acc dd{
display:none;
}

.d-submenu{
margin:0 2vw 0 4vw !important;
}
.d-submenu li{
position:relative;

}

.d-submenu li a{
padding:2vw 0 !important;
display:block;
color:#fff;
font-size:4vw;
}


.lang-sw{
margin-top:6vw;
display:flex;
justify-content:center;
}
.lang-sw li{
padding:0 3vw;
border-right:1px solid #fff;
}
.lang-sw li:last-child{
border:0;
}
.lang-sw li a{
color:#fff;
font-weight:500;

}





/*------------------------------------------------------------
KV
------------------------------------------------------------*/

#kv{
  position: relative;
  width: 100%;
  height: 56.25vw; 
  overflow: hidden;
  z-index: -1; /* 背景に配置 */
}

.video-container {
  position: absolute; /* kv内で相対的に配置 */
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;        /* 16:9比率 */
  transform: translate(-50%, -50%);
  z-index: 0;
}

.video-container video {
  width: 100%;
  height: 100%;
  pointer-events: none;
}


/*------------------------------------------------------------
TOPPAGE CONTENT
------------------------------------------------------------*/


#index1{
position:relative;
padding:0 0 20vw;
height:auto;
}

.i1-inner{
width:100vw;
margin:0 auto;
}
.i1-cont{
width:86vw;
margin:20vw 0 0 10vw;

}
.i1-cont h2{
font-size:6vw;
line-height:1.5;
margin-bottom:1em;
font-weight:400;
}
.i1-cont p{
font-size:3.5vw;
}

.bg-type{
width:100%;
white-space:nowrap;
overflow:hidden;
font-size:16vw;
line-height:1.3;
color:#f1f1f1;
position:absolute;
top:10vw;
left:0;
z-index:-1;
}


#index2{
width:92vw;
margin:0 auto;
padding:0 0 20vw;
}

#index2 h2{
font-size:10vw;

line-height:1.2;
margin-bottom:1em;
}
#index2 h2 span{
display:block;
font-family:'Noto Sans JP';
font-size:3.5vw;
line-height:1.2;
}


.top-prd{
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}
.top-prd li{
width:44vw;
position:relative;
}
.top-prd li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

.p-wrap{
background:#f1f1f1;
padding:4vw;
margin-bottom:2vw;
transition:all .2s;
}

.top-prd li:hover .p-wrap{
background:#ebf1f7;
}

.p-type{
color:#0b75e1;
font-size:6vw;
}
.p-thumb{
display:flex;
justify-content:center;
align-items:center;
text-align:center;
width:30vw;
margin:7vw auto 9vw;
height:30vw;
}

.p-det{
display:flex;
justify-content:space-between;
}
.p-size{
width:14vw;
display:flex;
}
.p-size li{
width:6vw;
height:6vw;
}
.size-m{
width:6vw;
height:6vw;
background:#8cafff;
border-radius:50%;
color:#fff;
font-size:3vw;
line-height:6vw;
margin-right:1vw;
text-align:center;
}
.size-l{
width:6vw;
height:6vw;
background:#989898;
border-radius:50%;
color:#fff;
font-size:3vw;
line-height:6vw;
text-align:center;
}

.p-link{
width:6vw;
height:6vw;
border:2px solid #989898;
position:relative;
border-radius:50%;
display:block;
}
.p-link::after{
content:'';
width:1vw;
height:1vw;
border-right:2px solid #989898;
border-bottom:2px solid #989898;
transform:rotate(-45deg);
position:absolute;
top:1.8vw;
right:2vw;
}
.p-desc{
font-size:3.5vw;
font-weight:500;
margin-bottom:4vw;
}



#index3{
padding:0 0 20vw;
}

#index3 h2{
width:92vw;
margin:0 auto;
font-size:10vw;

line-height:1.2;
margin-bottom:1em;
}
#index3 h2 span{
display:block;
font-family:'Noto Sans JP';
font-size:3.5vw;
line-height:1.2;
margin-top:1em;
}

.banner-wrapper {
overflow: hidden;
position: relative;
height: 74.1vw;
padding:0;
}

.banner-wrapper a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:10;
}

.banner-track {
display: flex;
animation: scrollLeft 30s linear infinite;
width: max-content;
}
.banner-item {
flex: 0 0 auto;
width: 37.1vw;
height: 74.2vw;
background:linear-gradient(-45deg, rgba(34,82,136,.64) 0%, rgba(67,94,148,.5) 33%, rgba(85,150,157,.2) 66%, rgba(85,150,157,.05) 100%);
}
.banner-item img {
width: 100%;
height: 100%;
object-fit: cover;
}

@keyframes scrollLeft {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}


#index4{
padding:0 0 20vw;
}

#index4 h2{
width:92vw;
margin:0 auto;
font-size:10vw;

line-height:1.2;
margin-bottom:1em;
}
#index4 h2 span{
display:block;
font-family:'Noto Sans JP';
font-size:3.5vw;
line-height:1.2;
}


#index5{
width:92vw;
margin:0 auto;
padding:0 0 20vw;
}

#index5 h2{
font-size:10vw;

line-height:1.2;
margin-bottom:.5em;
}

.feed{
border-top:1px solid #b2b2b2;
}

.feed li{
padding:4vw 2vw;
border-bottom:1px solid #b2b2b2;
position:relative;
}

.feed-info{
font-size:3.2vw;
line-height:1.5;
display:flex;
margin-bottom:4vw;
gap:0 4vw;
align-items:center;
}

.feed-cat{
width:34vw;
color:#0B75E1;
display:inline-block;
padding:1vw 6vw;
border:1px solid #0B75E1;
border-radius:4vw;
text-align:center;
}


.feed-date{
width:18vw;
white-space:nowrap;
}
.feed-ttl{
font-size:3.6vw;
line-height:5vw;
}

.feed-link{
display:flex;
justify-content:flex-end;
margin-bottom:15px;
}
.feed-link a{
padding-left:10vw;
position:relative;
font-size:3.5vw;
line-height:8vw;
color:#4d4d4d;
}
.feed-link a::before{
content:'';
width:8vw;
height:8vw;
background:url(img/arrow-circle-gray.svg) no-repeat;
background-size:8vw;
position:absolute;
top:0;
left:0;
}
.feed-link a:hover{
color:#0B75E1;
}
.feed li:hover .feed-ttl{
color:#0B75E1;
}

.feed li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}


/*------------------------------------------------------------
PAGE ABOUT
------------------------------------------------------------*/
#page-about{
width:100vw;
padding:25vw 0 12vw;
}

.head-about{
width:100%;
position:relative;
margin-bottom:25vw;
}
.head-about-img{
width:100.00vw;
height:52.08vw;
background:url(img/about01.jpg) no-repeat center center;
background-size:cover;
}

.head-about-ttl{
width:100%;
padding:0 0;
margin:4vw 0 0;
}
.head-about-ttl h2{
width:auto;
font-size:15vw;
line-height:18vw;

white-space:nowrap;
text-align:center;
margin-bottom:6vw;
}
.head-about-ttl h2 span{
display:block;
font-size:6vw;
line-height:1.2;
font-family:'Noto Sans JP';
}
.head-about-ttl p{
margin:0 auto;
padding:0 5vw;
font-size:3.5vw;
line-height:1.5;
}


.about-cont01{
width:100vw;
position:relative;
margin:0 0 20vw;
}
.about-cont01-img{
width:100.00vw;
height:52.08vw;
background:url(img/about02.jpg) no-repeat center;
background-size:cover;
}
.about-cont01-txt{
}
.about-cont01-txt-inner{
margin-bottom:10vw;
}

.about-cont01-txt h3{
font-size:15vw;
line-height:18vw;

text-align:center;
margin:0 0 6vw;
}
.about-cont01-txt h3 span{
display:block;
font-size:6vw;
line-height:1.2 !important;
font-weight:normal;
}

.about-md-sub{
font-size:6vw;
line-height:1;
text-align:center;
margin:0 0 10vw;
}
.about-md-sub span{
color:#0B75E1;
}
.about-cont01-txt p{
width:90vw;
margin:0 auto;
font-size:3.5vw;
line-height:1.5;
}


.about-cont02{
width:100%;
margin:0 auto 25vw;
}
.about-cont02 h2{
font-size:15vw;
line-height:1em;
margin-bottom:7vw;

text-align:center;
}

.about-cont02-img{
width:100.00vw;
height:35vw;
background:url(img/about03.jpg) no-repeat center center;
background-size:cover;
margin-bottom:4.6vw;
}

.office-list{
max-width:92vw;
margin:0 auto;
}
.office-list li{
width:92vw;
font-size:3.5vw;
line-height:1.5;
margin-bottom:20vw;
}

.office-img{
padding:4vw 0;
}

.office-txt{
padding:4vw;
margin-bottom:10vw;
}

.office-list li h3{
font-size:6vw;
line-height:1;
margin-bottom:10vw;
}
.office-list li p{
margin-bottom:1.5em;
}

.page-link a{
color:#4d4d4d;
position:relative;
display:inline-block;
padding-right:10vw;
line-height:8vw;
}
.page-link a::after{
content:'';
width:8vw;
height:8vw;
background:url(img/arrow-circle-gray.svg) no-repeat;
background-size:8vw;
position:absolute;
right:0;
top:0;
}

.office-thumb{
width:92vw;
height:40vw;
background:#f0f0f0;
}



.about-cont03{
width:100%;
}

.about-cont03 h2{
width:92vw;
margin:0 auto 8vw;
font-size:15vw;

line-height:1.2;
}
.about-cont03 h2 span{
display:block;
font-size:6vw;
}

.history-wrap{
width:100.00vw;
height:41.2vw;
background:url(img/history-line.jpg) no-repeat center bottom;
background-size:100vw;
}

.his-list{
width:100vw;
margin:0 auto;
position:relative;
}

.his-list li:nth-child(1){
width:11.79vw;
height:44.97vw;
position:absolute;
top:0;
left:0;
}

.his-list li:nth-child(2){
width:9.79vw;
height:22.85vw;
position:absolute;
top:17.46vw;
left:7.66vw;
}
.his-list li:nth-child(3){
width:11.79vw;
height:40.31vw;
position:absolute;
top:0;
left:13.32vw;
}
.his-list li:nth-child(4){
width:9.79vw;
height:22.78vw;
position:absolute;
top:17.46vw;
left:21.19vw;
}
.his-list li:nth-child(5){
width:9.79vw;
height:22.78vw;
position:absolute;
top:17.46vw;
left:32.18vw;
}
.his-list li:nth-child(6){
width:9.79vw;
height:20.65vw;
position:absolute;
top:17.46vw;
left:43.10vw;
}
.his-list li:nth-child(7){
width:9.79vw;
height:22.85vw;
position:absolute;
top:17.46vw;
left:54.10vw;
}
.his-list li:nth-child(8){
width:11.79vw;
height:40.31vw;
position:absolute;
top:0;
left:59.96vw;
}
.his-list li:nth-child(9){
width:11.79vw;
height:40.31vw;
position:absolute;
top:0;
left:72.35vw;
}
.his-list li:nth-child(10){
width:9.79vw;
height:22.92vw;
position:absolute;
top:17.46vw;
left:79.21vw;
}
.his-list li:nth-child(11){
width:9.79vw;
height:22.72vw;
position:absolute;
top:17.46vw;
left:90.14vw;
}


.md-scroll{
display:none;
}
.sp-scroll{
position:relative;
font-size:2.5vw;
line-height:5vw;
margin-bottom:2vw;
text-align:right;
padding-right:10vw;

}
.sp-scroll::after{
content:'';
width:5vw;
height:1.4vw;
position:absolute;
top:1.6vw;
right:3.5vw;
background:url(img/arrow-border-right.svg) no-repeat;
background-size:5vw;
}

.twrap{
overflow-x:scroll;
padding-bottom:2vw;
}
.hisT{
width:auto;
width:231.77vw;
position:relative;
z-index:2;
}
.hisT::after{
content:'';
width:100%;
height:6vw;
background:#98B4C9;
position:absolute;
bottom:-2vw;
left:0;
z-index:-1;
}


.hisT td{
white-space:nowrap;
vertical-align:bottom;
padding:0 1vw;
}
.his01sp,
.his03sp,
.his08sp,
.his09sp{
width:21.38vw;
height:73.07vw;
}
.his02sp,
.his04sp,
.his05sp,
.his07sp,
.his10sp,
.his11sp{
width:17.75vw;
height:41.43vw;
}
.his06sp{
width:17.75vw;
height:37.44vw;
margin-bottom:3.99vw;
}

/*------------------------------------------------------------
PAGE PRODUCT
------------------------------------------------------------*/
#page-product{
width:92vw;
margin:0 auto;
padding:25vw 0 30vw;
}


.prd-ttl{
font-size:4vw;
line-height:8vw;
margin-bottom:5vw;
}
.prd-ttl span{
font-size:3.5vw;
font-family:'Noto Sans JP';
}

.prd-dtl-lx{
position:relative;
margin-bottom:25vw;
}
.prd-dtl-sp,
.prd-dtl-msb,
.prd-dtl-gp2{
position:relative;
margin-bottom:15vw;
}

.prd-txt{
margin-bottom:10vw;
}
.prd-name{
font-size:16vw;
line-height:1;
margin-bottom:10vw;
}
.prd-copy{
font-size:5vw;
margin-bottom:5vw;
}
.prd-desc{
font-size:3.5vw;
line-height:2;
margin-bottom:10vw;
}
.dl-btn a{
display:block;
background:url(img/dl-btn.svg) no-repeat;
background-size:48.31vw;
width:48.31vw;
height:13.29vw;
}



.prd-img-lx,
.prd-img-sp,
.prd-img-msb,
.prd-img-gp2{
width:80vw;
margin:0 auto;
}

.prd-mov-wrap{
width:92vw;
margin:0 auto 20vw;
position:relative;
}

.prd-mov{
width:100%;
height:0;
padding:0 0 56.25%;
position:relative;
}

.prd-mov iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}



.prd-point{
width:92vw;
margin:0 auto 20vw;
}
.prd-point li{
padding-left:23vw;
height:30vw;
display:flex;
align-items:center;
position:relative;
font-size:17.6px;
margin-bottom:10vw;
}
.prd-point li:nth-child(1),
.prd-point li:nth-child(3){
}
.prd-point li:nth-child(2){
margin-left:5vw;
}

.p-bal{
width:30vw;
height:30vw;
background:rgba(61,95,150,.3);
border-radius:50%;
text-align:center;
display:flex;
flex-direction: column;
align-items:center;
justify-content:center;
color:#fff;
font-size:4vw;
position:absolute;
top:0;
left:0;
}
.p-bal span{
font-size:10vw;
line-height:1.2;
}

.pp-ttl{
font-weight:500;
font-size:4vw;
margin-bottom:2vw;
}
.pp-desc{
font-size:3vw;
line-height:1.5;
}


.prd-bnr{
width:92vw;
margin:0 auto 10vw;
}

.prd-data{
width:92vw;
margin:0 auto;
}
.prd-dataT{
width:100%;
border-collapse: separate;
border-spacing: 1vw;
table-layout:fixed;
}
.prd-dataT thead th{
text-align:center;
font-size:3vw;
border-bottom:.8vw solid #4d4d4d;
font-weight:500;
}

.prd-dataT thead th:nth-child(1){
width:26%;
}
.prd-dataT thead th:nth-child(2),
.prd-dataT thead th:nth-child(3){
width:37%;
}

.prd-dataT tbody th{
text-align:left;
font-size:3vw;
line-height:1.5;
font-weight:500;
padding:2vw;
}

.prd-dataT tbody tr:nth-child(odd){
background:#ebf0f0;
}

.prd-dataT tbody td{
text-align:center;
font-size:3vw;
line-height:1.5;
padding:2vw;
word-break:break-word;
}

/*------------------------------------------------------------
PAGE FUNCTION
------------------------------------------------------------*/

#page-function{
width:92vw;
margin:0 auto;
padding:25vw 0 30vw;
}

h2.page-func-ttl{
font-size:10vw;
line-height:13vw;
margin-bottom:1em;
}
h2.page-func-ttl span{
display:inline-block;
font-size:3.5vw;
font-family:'Noto Sans JP';
font-weight:500;
margin-left:1em;
}



.func-list{

}

.func-list li{
display:flex;
justify-content:space-between;
padding:5vw 0;
}

.func-img{
width:26vw;
display:flex;
justify-content:center;
text-align:center;
}
.func-txt{
width:60vw;
display:flex;
flex-direction:column;
justify-content:center;
}

.func-list li h3{
text-align:left;
font-size:4.5vw;
color:#647bb9;
margin-bottom:.5em;
font-weight:600 !important;
}
.func-list li p{
font-size:3.5vw;
margin:0;
}



#custom{
width:100%;
background:rgba(235,240,240,.75);
position:relative;
padding:12vw 0 6vw;
isolation: isolate;
}

.page-custom-inner{
width:92vw;
margin:0 auto;
}



.custom-list{
}
.cus-box-l{
width:100%;
padding-bottom:6vw;
border-bottom:1px solid #0B75E1;
}
.cus-box-c{
width:100%;
padding:6vw 0;
border-bottom:1px solid #0B75E1;
}
.cus-box-r{
width:100%;
padding:6vw 0;
}

.cus-thumb{
position:relative;
margin:0 auto 4vw;
text-align:center;
}
.cus-name{
width:100%;
font-size:5vw;
color:#fff;
font-weight:500;
position:absolute;
bottom:6vw;
text-align:center;
}

.cus-data{
}
.cus-data li{
padding:4vw 0;
border-bottom:2px dotted #96b4c8;
}
.cus-data li:last-child{
border:0;
}
.cus-data-ttl{
font-size:4vw;
line-height:1;
margin-bottom:1em;
color:#647bb9;
font-weight:600;
text-align:center;
}
.cus-data-desc{
margin:0 auto;
}



.cus-type{
font-size:24vw;
line-height:1;
font-weight:normal;
color:#ebf0f0;
position:absolute;
bottom:2.6vw;
right:0;
z-index:-1;
mix-blend-mode: multiply;
}



#option{
width:100%;
position:relative;
padding:12vw 0 20vw;
}
.opt-list{
width:92vw;
margin:0 auto;
display:flex;
justify-content:center;
gap:4vw;
flex-wrap:wrap;
}

.opt-list li{
width:44vw;
height:auto;
border-radius:1.6vw;
background:rgba(235,240,240,.75);
display:flex;
justify-content:center;
text-align:center;
align-items:center;
flex-direction:column;
padding:4vw;
}

.opt-ttl{
color:#647bb9;
font-size:4.5vw;
line-height:1;
margin-bottom:.5em;
font-weight:600;
}

.opt-type{
font-size:20vw;
line-height:1;
color:#ebf0f0;
position:absolute;
bottom:11vw;
left:0;
z-index:2;
mix-blend-mode: multiply;

font-weight:normal;
}


/*------------------------------------------------------------
PAGE APPLICATION
------------------------------------------------------------*/
#page-app{
padding:25vw 0 30vw;
}

#page-app h2{
width:92vw;
margin:0 auto;
font-size:10vw;
line-height:13vw;

margin-bottom:5vw;
}


.app-head{
padding:10vw 0 8vw;
text-align:center;
position:relative;
}
.app-head::after{
content:'';
background:#f2f2f2;
width:100%;
height:60vw;
position:absolute;
top:0;
left:0;
z-index:-1;
}


.app-head h3{
text-align:center;
font-size:7vw;
line-height:1;
margin-bottom:.8em;
}
.app-head h3 span{
color:#0b75e1;
}

.disp-type{
width:92vw;
height:24.80vw;
background:url(img/disp-type-bg.svg) no-repeat center top;
background-size:92vw;
margin:0 auto;
display:flex;
justify-content:space-between;
padding:4.38vw 1.75vw;
}

.disp-type li{
padding:0 4.38vw;
height:15.78vw;
border-right:0.09vw solid #666;
text-align:center;
font-size:2.4vw;
}
.disp-type li:last-child{
border:0;
}
.disp-img{
height:11.39vw;
margin-bottom:1.75vw;
}



.img-disp{
width:28.82vw;
height:15.37vw;
margin:5.57vw auto 0.38vw;
position:relative;
left:-0.38vw;
}

.app-exp{
width:100.00vw;
height:305.60vw;
margin:0 auto;
position:relative;
background:url(img/app-line-dots-sp.svg) no-repeat center top;
background-size:100vw;
}


.app-exp svg {
  width: 100%;
  height: auto;
  display: block; /* インラインの隙間を防ぐ */
}
.svg-background-sp {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: auto;
  z-index: 0;
  pointer-events: none; /* 背景がクリックを妨げないように */
}
.svg-background-sp svg {
  height:305.6vw;
  width: auto;
}
.svg-background-md,
.svg-background-pc {
display:none;
}


.disp-ttl{
font-size:3.02vw;
line-height:1;
margin-bottom:1.78vw;
font-weight:500;
color:#809bc5;
}


.disp01{
width:60.44vw;
height:17.78vw;
position:absolute;
top:32.00vw;
left:7.11vw;
z-index:10;
display:flex;
justify-content:space-between;
}
.disp-bal01{
width:17.78vw;
height:17.78vw;
}

.disp-txt01{
width:41.07vw;
display:flex;
flex-direction:column;
}
.disp-box01{
font-size:2.13vw;
line-height:3.20vw;
width:41.07vw;
height:10.67vw;
display:flex;
align-items:center;
background:rgba(235,240,240,.75);
padding:0 1.78vw;
}



.disp02{
width:39.11vw;
height:33.42vw;
position:absolute;
top:51.38vw;
left:7.11vw;
z-index:10;
}

.disp-bal02{
width:17.78vw;
height:17.78vw;
position:absolute;
top:0;
right:0;
}
.disp-txt02{
width:38.49vw;
height:33.07vw;
display:flex;
flex-direction:column;
padding-top:14.67vw;
}
.disp-box02{
font-size:2.13vw;
line-height:3.20vw;
width:38.49vw;
height:13.16vw;
display:flex;
align-items:center;
background:rgba(235,240,240,.75);
padding:0 1.78vw;
}



.disp03{
width:38.49vw;
height:33.42vw;
position:absolute;
top:57.07vw;
left:54.49vw;
z-index:10;
}
.disp-bal03{
width:17.78vw;
height:17.78vw;
position:absolute;
top:0;
left:50%;
margin-left:-8.89vw;
}
.disp-txt03{
width:38.49vw;
height:17.42vw;
display:flex;
flex-direction:column;
padding-top:19.00vw;
}
.disp-box03{
font-size:2.13vw;
line-height:3.20vw;
width:38.49vw;
height:13.16vw;
display:flex;
align-items:center;
background:rgba(235,240,240,.75);
padding:0 1.78vw;
}


.disp04{
width:38.49vw;
height:31.73vw;
position:absolute;
top:97.07vw;
left:54.22vw;
z-index:10;
}

.disp-bal04{
width:17.78vw;
height:17.78vw;
position:absolute;
top:0;
right:0;
}
.disp-txt04{
width:38.49vw;
height:31.73vw;
display:flex;
flex-direction:column;
padding-top:14.22vw;
}
.disp-box04{
font-size:2.13vw;
line-height:3.20vw;
width:38.49vw;
height:13.33vw;
display:flex;
align-items:center;
background:rgba(235,240,240,.75);
padding:0 1.78vw;
}


.disp05{
width:40.00vw;
height:32.62vw;
position:absolute;
top:89.51vw;
left:10.49vw;
z-index:10;
}
.disp-bal05{
width:17.78vw;
height:17.78vw;
position:absolute;
top:0;
right:4.98vw;
}
.disp-txt05{
width:40.00vw;
height:32.62vw;
display:flex;
flex-direction:column;
padding-top:14.67vw;
}
.disp-box05{
font-size:2.13vw;
line-height:3.20vw;
width:40.00vw;
height:13.33vw;
display:flex;
align-items:center;
background:rgba(235,240,240,.75);
padding:0 1.78vw;
}

.disp06{
width:38.49vw
height:37.51vw;
position:absolute;
top:126.76vw;
left:6.76vw;
z-index:10;
}
.disp-bal06{
width:17.78vw;
height:17.78vw;
position:absolute;
top:0;
left:50%;
margin-left:-8.89vw;
}
.disp-txt06{
width:38.49vw
height:37.51vw;
display:flex;
flex-direction:column;
padding-top:20vw;
}
.disp-box06{
font-size:2.13vw;
line-height:3.20vw;
width:38.49vw;
height:13.33vw;
display:flex;
align-items:center;
background:rgba(235,240,240,.75);
padding:0 1.78vw;
}

.disp07{
width:40.44vw;
height:37.16vw;
position:absolute;
top:134.93vw;
left:52.18vw;
z-index:10;
}
.disp-bal07{
width:17.78vw;
height:17.78vw;
position:absolute;
top:0;
left:0;
}
.disp-txt07{
width:40.44vw;
height:37.16vw;
display:flex;
flex-direction:column;
padding-top:20vw;
}
.disp-box07{
font-size:2.13vw;
line-height:3.20vw;
width:38.49vw;
height:13.33vw;
display:flex;
align-items:center;
background:rgba(235,240,240,.75);
padding:0 1.78vw;
}


.disp08{
width:38.49vw;
height:34.67vw;
position:absolute;
top:170.93vw;
left:58.76vw;
z-index:10;
}
.disp-bal08{
width:17.78vw;
height:17.78vw;
position:absolute;
top:0;
left:-17.24vw;
}
.disp-txt08{
width:38.49vw;
height:34.67vw;
display:flex;
flex-direction:column;
padding-top:16.71vw;
}
.disp-box08{
font-size:2.13vw;
line-height:3.20vw;
width:38.49vw;
height:13.33vw;
display:flex;
align-items:center;
background:rgba(235,240,240,.75);
padding:0 1.78vw;
}



.disp09{
width:22.22vw;
height:25.42vw;
position:absolute;
top:204.44vw;
left:12.44vw;
z-index:10;
}
.disp-bal09{
width:19.56vw;
height:19.56vw;
position:absolute;
top:0;
left:0;
}
.disp-txt09{
width:22.22vw;
height:25.42vw;
display:flex;
flex-direction:column;
padding-top:20.89vw;
}


.disp10{
width:24.89vw;
height:30.22vw;
position:absolute;
top:209.16vw;
left:46.84vw;
z-index:10;
}
.disp-bal10{
width:24.89vw;
height:24.89vw;
position:absolute;
top:0;
left:0;
}
.disp-txt10{
width:24.89vw;
height:30.22vw;
display:flex;
flex-direction:column;
padding-top:27.56vw;
text-align:center;
}



.disp11{
width:45.69vw;
height:19.56vw;
position:absolute;
top:237.33vw;
left:48.00vw;
z-index:10;
}
.disp-bal11{
width:19.56vw;
height:19.56vw;
position:absolute;
top:0;
right:0;
}
.disp-txt11{
width:45.69vw;
height:19.56vw;
display:flex;
align-items:center;
}


.disp12{
width:44.44vw;
height:19.56vw;
position:absolute;
top:251.73vw;
left:38.84vw;
z-index:10;
}
.disp-bal12{
width:19.56vw;
height:19.56vw;
position:absolute;
top:0;
left:0;
}
.disp-txt12{
width:44.44vw;
height:19.56vw;
display:flex;
justify-content:flex-end;
align-items:end;
}

.disp13{
width:27.11vw;
height:19.56vw;
position:absolute;
top:247.47vw;
left:7.02vw;
z-index:10;
}
.disp-bal13{
width:19.56vw;
height:19.56vw;
position:absolute;
top:0;
left:0;
}
.disp-txt13{
width:27.11vw;
height:19.56vw;
display:flex;
justify-content:flex-end;
align-items:end;
}


.disp14{
width:22.22vw;
height:27.73vw;
position:absolute;
top:281.78vw;
left:12.62vw;
z-index:10;
}
.disp-bal14{
width:22.22vw;
height:22.22vw;
position:absolute;
top:0;
left:0;
}
.disp-txt14{
width:22.22vw;
height:27.73vw;
text-align:center;
padding:23.56vw 0 0;
}


.disp15{
width:35.56vw;
height:41.96vw;
position:absolute;
top:286.22vw;
left:56.27vw;
z-index:10;
}
.disp-bal15{
width:35.56vw;
height:35.56vw;
position:absolute;
top:0;
left:0;
}
.disp-txt15{
width:35.56vw;
height:41.96vw;
text-align:center;
padding:36.89vw 0 0;
}



/*------------------------------------------------------------
PAGE Q&A
------------------------------------------------------------*/

#page-qa{
width:92vw;
margin:0 auto;
padding:25vw 0;
}
#page-qa h2{
font-size:10vw;
line-height:13vw;

margin-bottom:5vw;
}

.qa dt{
border:1px solid #b3b3b3;
font-size:4vw;
line-height:6vw;
padding:3vw 10vw 3vw 5vw;
position:relative;
margin-bottom:3vw;
}
.qa dt::before{
content:'';
width:1vw;
height:6vw;
background:#b3b3b3;
position:absolute;
top:3vw;
left:2vw;
}
.qa dt::after{
content:'';
width:6vw;
height:6vw;
background:url(img/icon-plus.svg) no-repeat;
background-size:6vw;
position:absolute;
top:3vw;
right:3vw;
}
.qa dt.open::after{
content:'';
width:6vw;
height:1.5vw;
background:url(img/icon-minus.svg) no-repeat;
background-size:6vw;
position:absolute;
top:5.5vw;
right:3vw;
}

.qa dd{
display:none;
font-size:3.5vw;
line-height:1.75;
margin-bottom:10vw;
}



/*------------------------------------------------------------
PAGE DOWNLOADS
------------------------------------------------------------*/
#page-dl{
width:92vw;
margin:0 auto;
padding:25vw 0 30vw;
}
#page-dl h2{
font-size:10vw;
line-height:13vw;

margin-bottom:5vw;
}
#page-dl h2 span{
font-size:3.5vw;
font-weight:normal;
display:block;
}

.dl-desc{
font-size:4vw;
line-height:5.5vw;
margin:0 0 15vw;
}

.dl-desc2{
font-size:4vw;
line-height:5.5vw;
margin:0 0 10vw;
}
.dl-list{
}
.dl-list li{
position:relative;
margin-bottom:10vw;
}
.dl-list li:nth-child(1){
width:50vw;
}
.dl-list li:nth-child(2){
width:75vw;
}
.dl-img{
margin:0 0 3vw;
}
.dl-img img{
border:1px solid #ccc;
}

.dl-ttl{
font-size:4.5vw;
line-height:1.75;
}
.dl-list li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

#page-dl h3{
font-size:6.4vw;
font-weight:500;
line-height:1;
padding:0 0 6.4vw 4.8vw;
border-bottom:2px solid #b3b3b3;
position:relative;
margin: 0 0 6.4vw;
}
#page-dl h3::before{
content:'';
width:1.6vw;
height:5.4vw;
background:#b3b3b3;
position:absolute;
top:.6vw;
left:0;
}

.chk-wrap{
font-size:4.2vw;
line-height:9.6vw;
margin-bottom:12vw;
}
.form-cap{
}

.form-info{
width:100%;
border:1px solid #b3b3b3;
display:flex;
font-size:4vw;
line-height:1.5;
padding:4vw;
margin:0 auto 6vw;
}

.form-info span{
color:#0B75E1;
}


.input-wrap{
margin:0 0 5vw;
align-items:center;
}
.input-item{
width:270px;
display:flex;
font-size:4vw;
align-items:flex-start;
}
.req{
color:#0B75E1;
margin-right:.5em;
}
.non-req{
color:transparent;
margin-right:.5em;
}
.input-form{
width:100%;
font-size:4vw;
}


#page-dl input[type="text"],
#page-dl input[type="email"]{
width:100%;
background:#f2f2f2;
font-size:4vw;
line-height:1.5;
padding:2vw;
border:0;
box-sizing:border-box;
}



.pp-chk{
display:flex;
justify-content:center;
margin:10vw 0;
flex-wrap:wrap;
}


.pp-chk a{
color:#0B75E1;
text-decoration:underline;
}


.formBtn {
display:flex;
justify-content:center;
align-items:center;
}
.formBtn li {
display:inline-block;
margin:0 2vw;
}

.mw_wp_form_input .sbmBtn input {
background:#4d4d4d;
color:#fff;
width:40vw;
height:12vw;
overflow:hidden;
border:none;
cursor:pointer;
transition:all 0.2s;
-webkit-appearance: none;
}
.mw_wp_form_confirm .sbmBtn input {
background:#4d4d4d;
color:#fff;
width:40vw;
height:12vw;
overflow:hidden;
border:none;
cursor:pointer;
transition:all 0.2s;
-webkit-appearance: none;
}
.backBtn input {
background:#999;
color:#fff;
width:20vw;
height:12vw;
overflow:hidden;
border:none;
cursor:pointer;
margin-right:2vw;
-webkit-appearance: none;
}


.mw_wp_form_confirm .form-info,
.mw_wp_form_confirm .form-cap{ display:none; }

.mw_wp_form_confirm .chk-wrap{
margin:0 0 6.4vw;

}
.mw_wp_form_confirm .req,
.mw_wp_form_confirm .non-req{
color:transparent;
width:0;
margin:0;
}
.mw_wp_form_confirm .dl-desc2{
margin-bottom:15vw;
}



.mwform-tel-field input[type="text"] {
width:25% !important;
-webkit-appearance: none;
}


/*------------------------------------------------------------
PAGE CONTACT
------------------------------------------------------------*/
#page-contact{
width:92vw;
margin:0 auto;
padding:25vw 0 30vw;
}
#page-contact h2{
font-size:72px;
font-size:10vw;
line-height:13vw;

margin-bottom:5vw;
}
#page-contact h2 span{
font-size:3.5vw;
font-weight:normal;
display:block;
}

#page-contact h3{
font-size:6.4vw;
font-weight:500;
line-height:1;
padding:0 0 6.4vw 4.8vw;
border-bottom:2px solid #b3b3b3;
position:relative;
margin: 0 0 6.4vw;
}
#page-contact h3::before{
content:'';
width:1.6vw;
height:5.4vw;
background:#b3b3b3;
position:absolute;
top:.6vw;
left:0;
}


#page-contact input[type="text"],
#page-contact input[type="email"]{
width:100%;
background:#f2f2f2;
font-size:4vw;
line-height:1.5;
padding:2vw;
border:0;
box-sizing:border-box;
}


#page-contact textarea{
width:100%;
background:#f2f2f2;
height:50vw;
padding:2vw;
border:none;
-webkit-appearance:none;
box-sizing:border-box;
}

.pp-error{
width:100%;
display:block;
text-align:center;
}



/*------------------------------------------------------------
CATEGORY ARCHIVE
------------------------------------------------------------*/
#cat{
width:92vw;
margin:0 auto;
padding:25vw 0 30vw;
}

#cat h2{
font-size:10vw;
line-height:13vw;

margin-bottom:5vw;
}
#cat h2 span{
margin-left:1em;
font-size:3.5vw;
font-weight:normal;
display:inline-block;
}


/*------------------------------------------------------------
POST SINGLE
------------------------------------------------------------*/
#single{
width:92vw;
margin:0 auto;
padding:25vw 0 30vw;
}

#single h2{
font-size:10vw;
line-height:13vw;

margin-bottom:5vw;
}
#single h2 span{
margin-left:1em;
font-size:3.5vw;
font-weight:normal;
display:inline-block;
}

.post-ttl-area{
border-top:1px solid #b2b2b2;
padding:4vw 2vw;
border-bottom:1vw solid #b2b2b2;
margin-bottom:8vw;
}

.post-info{
font-size:3.2vw;
line-height:1.5;
display:flex;
margin-bottom:4vw;
gap:0 4vw;
align-items:center;
}


.post-date{
width:18vw;
white-space:nowrap;
}
.post-cat{
width:34vw;
color:#0B75E1;
display:inline-block;
padding:1vw 6vw;
border:1px solid #0B75E1;
border-radius:4vw;
text-align:center;
}

.post-ttl{
font-size:4vw;
line-height:1.5;
}
.post-content{
font-size:3.5vw;
line-height:1.75;
margin-bottom:12vw;
}
.post-content p{
margin-bottom:1.5em;
}
.post-content img{
margin:1em 0;
}



.paging{
display:flex;
justify-content:space-between;
font-size:3.5vw;
align-items:center;
position:relative;
}

.prevP{
position:relative;
width:30vw;
height:8vw;
padding-left:10vw;
margin:0 2vw;
display:flex;
align-items:center;
}
.nextP{
width:30vw;
padding-right:10vw;
text-align:right;
position:relative;
height:8vw;
margin:0 2vw;
display:flex;
align-items:center;
justify-content:flex-end;
}

.prevP::before{
content:'';
width:8vw;
height:8vw;
background:url(img/arrow-circle-gray-l.svg) no-repeat;
background-size:8vw;
position:absolute;
top:0;
left:0;
}
.nextP::before{
content:'';
width:8vw;
height:8vw;
background:url(img/arrow-circle-gray.svg) no-repeat;
background-size:8vw;
position:absolute;
top:0;
right:0;
}


.non-post{
width:30vw;
margin:0 2vw;
}
.go-arc{
width:30vw;
height:8vw;
padding-left:10vw;
position:relative;
margin:0 2vw;
display:flex;
align-items:center;
position:absolute;
margin:0 20px;
top:0;
left:50%;
transform:translate(-50%, 0);
}
.go-arc::before{
content:'';
width:8vw;
height:8vw;
background:url(img/arrow-circle-gray-l.svg) no-repeat;
background-size:8vw;
position:absolute;
top:0;
left:0;
}

.prevP a,
.nextP a,
.go-arc a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}



/*------------------------------------------------------------
FOOTER
------------------------------------------------------------*/
footer{
background:#f0f0f0;
}
.footer-inner{
padding:10vw 0;
width:92vw;
margin:0 auto;
}
.f-logo{
position:relative;
width:24vw;
margin:0 auto;
}
.f-logo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}


.copy{
border-top:1px solid #cacaca;
text-align:center;
font-size:2.5vw;
line-height:10vw;
height:10vw;
width:auto;
}




