@charset "UTF-8";


/* common
==========================================================*/

body { font-size: 14px; line-height: 2; font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; margin:0; padding: 0; letter-spacing:1px; color:#000; -webkit-text-size-adjust: 100%; }
@media screen and (max-width: 1100px){
    body { font-size: 13px; }
} 
@media screen and (max-width: 800px){
    body { font-size: 12px; }
}   
    
a { text-decoration: none; color: #000; outline: none; -webkit-transition: all .3s; transition: all .3s; }
header a,
footer a,
.worksdatawrap a,
.worksclose a{ cursor: pointer;}
a *,
a:after,
.trans03,
.trans03:after{-webkit-transition: all .3s; transition: all .3s; }
a:hover{ text-decoration: none; -webkit-transition: all .3s; transition: all .3s; }
img { -ms-interpolation-mode: bicubic; max-width: 100%; height: auto; max-width: 100%; height: auto; vertical-align: bottom;}
video { vertical-align: bottom; }
:focus { outline: 0; }
* { box-sizing: border-box}

.tellink { pointer-events: none;}
.sp-show,
.show-1000 { display: none;}
@media screen and (max-width: 800px){
    .tellink { pointer-events: auto;}
    .sp-show { display: block;}
    .sp-hide { display: none;}
}
    
.flex { display: flex; flex-wrap: wrap; }
.flex-nowrap { display: flex; }
.flex-jcs {display: flex; justify-content: space-between; flex-wrap: wrap; }
.flex-jca { display: flex; justify-content: space-around; flex-wrap: wrap; }
.flex-center {display: flex; justify-content: center; align-items: center; flex-wrap: wrap; }
.flex-aic { display: flex; align-items: center; flex-wrap: wrap; }
.flex-jcc { display: flex; justify-content: center; flex-wrap: wrap; }
.overhidden{ overflow: hidden;}

.centerposi { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); /* Safari用 */ transform: translate(-50%, -50%); }
.centertate { position: absolute; top: 50%; -webkit-transform: translateY(-50%); /* Safari用 */ transform: translateY(-50%); } 
.centeryoko,
.centeryoko-pc{ position: absolute; left: 50%; -webkit-transform: translateX(-50%); /* Safari用 */ transform: translateX(-50%); }
@media screen and (max-width: 800px){
    .centeryoko-pc{ position:inherit; left: 0; -webkit-transform: translateX(0); transform: translateX(0); }   
}

.inner1300max{ max-width: 1300px; width: 100%; margin: 0 auto; }
.inner1200max{ max-width: 1200px; width: 100%; margin: 0 auto; }
.inner1200 { max-width: 1200px; width: calc(100% - 80px); margin: 0 auto; }
.inner1080 { max-width: 1080px; width: calc(100% - 80px); margin: 0 auto; }
.inner1060 { max-width: 1060px; width: calc(100% - 80px); margin: 0 auto; }
.inner800 { max-width: 800px; width: calc(100% - 80px); margin: 0 auto; }
@media screen and (max-width: 800px){
    .inner1200,
    .inner1080,
    .inner1060,
    .inner800{ width: calc(100% - 40px); }
}

.poppins{font-family: 'Poppins', sans-serif; font-weight: 600; letter-spacing: 0.1em; }
.noto{ font-family: 'Noto Sans JP', sans-serif; font-weight: 500; }
.wg300{ font-weight: 300;}

.fs11{ font-size: 11px; }
.fs13{ font-size: calc(13em / 14);}
.fs15{ font-size: calc(15em / 14);}
.fs16{ font-size: calc(16em / 14);}
.fs17{ font-size: calc(17em / 14);}
.fs18{ font-size: calc(18em / 14);}
.fs19{ font-size: calc(19em / 14);}
.fs20{ font-size: calc(20em / 14);}
.fs24{ font-size: calc(24em / 14);}
.fs25{ font-size: calc(25em / 14);}
.fs30{ font-size: calc(30em / 14);}
.fs35{ font-size: calc(35em / 14);}
.fs36{ font-size: calc(36em / 14);}
.fs40{ font-size: calc(40em / 14);}
.fs45{ font-size: calc(45em / 14);}
.fs50{ font-size: calc(50em / 14);}
.fs55{ font-size: calc(55em / 14);}
.fs70{ font-size: calc(70em / 14);}
.fs75{ font-size: calc(75em / 14);}
@media screen and (max-width: 800px){
    .fs24{ font-size: calc(24em / 16);}
    .fs25{ font-size: calc(25em / 16);}
    .fs30{ font-size: calc(30em / 16);}
    .fs35{ font-size: calc(35em / 16);}
    .fs36{ font-size: calc(36em / 16);}
    .fs40{ font-size: calc(40em / 16);}
    .fs45{ font-size: calc(45em / 16);}
    .fs50{ font-size: calc(50em / 16);}
    .fs55{ font-size: calc(55em / 16);}
    .fs70{ font-size: calc(70em / 16);}
    .fs75{ font-size: calc(75em / 16);}
}

.bg-w { background: #fff;}
.bg-gr{ background: #EEE;}
.bg-bl{ background: #1E50FF;}
.bg-lb{ background: #f5f8fb;}
.bg-re{ background: #FF1D25;}
@keyframes bggrad-bl{
  0% { background:#3EA3F6; }
  50% {background:#BBCBFE;}
  100% { background:#3EA3F6;}
}
@keyframes bggrad-re{
  0% { background:#F0814D; }
  50% {background:#2c4e97;}
  100% { background:#F0814D;}
}

.fc-w,
.fc-w a{ color: #fff;}
.fc-bl,
.fc-bl a{ color: #1E50FF;}
.fc-lb,
.fc-lb a{ color: #6997ff;}
.fc-re,
.fc-re a{ color: #FF1D25;}

#wrapper { width: 100%; position: relative; overflow: hidden;}

.after,
.before{ position: relative;} 
.after:after,
.before:before { content: ""; position: absolute; }
.sticky { position: sticky;}

.delighter { top: 50px; position: relative; animation:delighter2 1s forwards;}
.delighter.started { animation:delighter 1s forwards; }
@keyframes delighter {
    0% { top: 50px; opacity: 0;}
    100% { top: 0; opacity: 1;}
}
@keyframes delighter2 {
    0% { top: 0; opacity: 1;}
    100% { top: 50px; opacity: 0; }
}

@media screen and (max-width: 1000px){
    .br-none-1000 br { display: none;}
}
@media screen and (max-width: 800px){
    .br-none-800 br { display: none;}
}





/* header
==========================================================*/

.load { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 99999; background: #fff; animation: load 2s forwards; }
.load .centerposi { max-width: 160px; width: 25%;}
@keyframes load {
    0% { z-index: 99999; opacity: 1;}
    60% { opacity: 1; }
    99% { z-index: 99999; }
    100% { z-index: -10; opacity: 0; } 
}
header { width: 100%;position: fixed; top: 0; left: 0; z-index: 10; background: #fff; }
.headlogo { width: 500px; margin-left: 25px;  }
.head-r { }
.head-r a { height: 80px; display: flex; align-items: center; justify-content: center;}
.gnavul { }
.gnavul li { margin-right: 35px;}
.gnavul li:last-child { margin-right: 0 !important;}
.headsearch { width: 80px; height:80px; cursor: pointer;}
.headsearch div { width: 20px; }
.headsearch img { vertical-align: middle}
.headsearchwrap { width: 240px; padding: 20px; box-sizing: content-box; top: 100%; right: 0; display: none; position: absolute;}
.headsearchwrap form {}
.headsearchwrap input#s { width: 180px; height: 40px; padding: 0 10px;}
.headsearchwrap input#sbtn { width: 60px; height: 40px; background: #1e50ff; color: #fff; border: none; }
.headrecruit { }
.headrecruit a { width: 220px; background: linear-gradient(30deg, #1e50ff, #379aff); }
@media screen and (max-width: 1200px){
    .headlogo { width: 500px; margin-left: 10px;} 
    .head-r a { height: 60px;}
    .gnavul li { margin-right: 15px;}
    .headsearch { width: 60px; height: 60px;}
    .headsearch div { width: 15px; }
    .headrecruit a { width: 110px;}
}
@media screen and (max-width: 800px){
    header { background: none; display: block;}
    .headlogo { left: 10px; top: 5px; /*width:138px;*/ position: fixed; margin: 0; z-index: 99}
    .head-r { padding-top: 80px; display: block;}
    .headrecruit { width: 180px; margin: 20px auto 0;}
    .headrecruit a { width: 100%;}
    .headsearch { position: fixed; top: 0; right: 60px; background: #f5f5f5}
    .headsearchwrap { width:calc(100vw - 40px); padding: 20px; top: 60px; right: 0; position: fixed; }
    .headsearchwrap input#s { width: calc(100% - 60px);}
    .gnavul { width: 100%; text-align: center; flex-direction: column; align-items: center; justify-content: center; font-size: calc(20em / 14);}
    .gnavul li { width: 100%; margin: 0;}
    .gnavul li a { width: 100%;}
}

@media screen and (min-width: 801px){
    #menu { display: block;}
    .navInner { display: none; }
}
@media screen and (max-width: 800px){
    #menu { width: 100%; height: 100%; right: 0; top: 0; display: none; position: fixed; background: #fff; -webkit-overflow-scrolling: touch; overflow-scrolling: touch; z-index: 9901 !important; }
    #menu.mobile {
      display: block;
    }
    .navInner { width: 40px; height: 40px; top: 10px; right: 10px; z-index: 9999; cursor: pointer; position: fixed;}
    .menu-trigger { width: 100%; height: 100%; line-height: inherit; cursor: pointer; position: relative; display: inline-block; transition: all .3s; }
    .menu-trigger span { width: 30px; height: 1px; left: 5px; display: inline-block; transition: all .3s; position: absolute; background: #000;  }
    .menu-trigger span:nth-of-type(1) { top: 10px; }
    .menu-trigger span:nth-of-type(2) { top: 20px; }
    .menu-trigger span:nth-of-type(3) { top: 30px; }
    .menu-trigger:not(.active):hover span:nth-of-type(1) { top: 11px; }
    .menu-trigger:not(.active):hover span:nth-of-type(3) { top: 29px; }
    .menu-trigger.active span {}
    .menu-trigger.active span:nth-of-type(1) { transform: translateY(10px) rotate(-45deg); }
    .menu-trigger.active span:nth-of-type(2) { display: none; }
    .menu-trigger.active span:nth-of-type(3) { transform: translateY(-10px) rotate(45deg); }
}

    



/* footer
==========================================================*/

.contactwrap { padding: 120px 0 100px; line-height: 1; background: url('../images/common/iStock-636724910 (1).jpg') no-repeat center center; background-size: cover; }
.contactmid { font-size: 80px; margin-bottom: -0.5em; position: relative; z-index: 2}
.contactbtnwrap { }
.contactbtnwrap a{ width: 50%; height: 330px; padding-top: 100px; }
.contactbtnwrap a:nth-child(1){ background: rgba(30,80,255,0.7);}
.contactbtnwrap a > .fs18{ margin-bottom: 50px; }
.contactbtnwrap a > .fs40{ margin-bottom: 25px;}
.contactbtnwrap a > .fs13{}
.contactbtnwrap a:nth-child(2){ background: rgba(255,47,88,0.7); }
.contactbtnwrap .yajiwrap { padding-right: 60px; display: inline-block; position: relative; }
.contactbtnwrap .yajiwrap .fs40{}
.yaji { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #fff; position: relative;}
.yaji.color-bl,
.yaji.color-bl:after{ border-color: #1e50ff; }
.yaji.color-black,
.yaji.color-black:after{ border-color: #000; }
.yaji:after { width: 8px; height: 8px; left: calc(50% - 8px); top: calc(50% - 4px); border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); content: ""; position: absolute; }
.contactbtnwrap .yajiwrap .yaji { position: absolute; right: 0; top: calc(50% - 20px); }
a:hover .yaji{ background: #fff; }
a:hover .yaji:after{ border-color: #000; }
a:hover .yaji.color-bl{ background: #1e50ff; }
a:hover .yaji.color-bl:after{ border-color: #fff; }
a:hover .yaji.color-black{ background: #000; }
a:hover .yaji.color-black:after{ border-color: #fff; }
.contactbtnwrap a:nth-child(2):hover .yaji:after { border-color: #FF2F58;}
@media screen and (max-width: 800px){
    .contactwrap { padding: 60px 0 50px; }
    .contactmid { font-size: 60px; margin-bottom: -0.15em;}
    .contactbtnwrap { margin-bottom: -10px; }
    .contactbtnwrap a{ width: 100%; height: 180px; padding-top: 0; display: flex; flex-direction: column; justify-content: center; align-items: center;}
    .contactbtnwrap a > .fs18{ margin-bottom: 25px; }
    .contactbtnwrap a > .fs40{ margin-bottom: 15px;}
    .yaji { width: 30px; height: 30px;}
    .contactbtnwrap .yajiwrap { padding-right: 50px;}
    .contactbtnwrap .yajiwrap .yaji { top: calc(50% - 15px); }
}
@media screen and (max-width: 450px){
    .contactmid { font-size: 45px;}
    .contactbtnwrap a{ height: 160px; }
    .contactbtnwrap a > .fs18{ margin-bottom: 15px; }
    .contactbtnwrap a > .fs40{ font-size: 30px; letter-spacing: 0.02em; }
    .contactbtnwrap .yajiwrap { padding-right: 0; display: block; }
    .contactbtnwrap .yajiwrap .yaji { margin: 15px auto 0; position: inherit; right: 0; top: 0; } 
}


footer { padding: 80px 80px 50px; position: relative; }
.pagetop { top: 110px; right: 40px; position: absolute; flex-direction: column;}
.pagetopyaji { width: 26px; height: 26px; margin-bottom: 15px; border-radius: 50%; border: 1px solid #000; position: relative;}
.pagetopyaji:after {width: 6px; height: 6px; left: calc(50% - 4px); top: calc(50% - 2px); content: ""; border-top: 1px solid #000; border-left: 1px solid #000; -webkit-transform: rotate(45deg); transform: rotate(45deg); content: ""; position: absolute;  }
.pagetop:hover .pagetopyaji { background: #000;}
.pagetop:hover .pagetopyaji:after { border-color: #fff; }
.pagetopimg { width: 8px;}
.foot-t { margin-bottom: 40px;}
.footlogo{ width: 400px; }
.footmenuwrap{ margin-top: 30px; }
.footmenuul { width: 450px; margin-bottom: -35px;}
.footmenuul li { width: 150px; margin-bottom: 35px;}
.footmenuul li a { display: block;}
.foot-m{ margin-bottom: 100px;}
.foot-m .fs13{ margin-bottom: 5px;}
.foot-m .fs11{}
.foot-b{ line-height: 1}
.foot-b-l { margin-right: 25px;}
.footcopy { margin-right: 25px;}
.foot-bul {}
.foot-bul li{ border-left: 1px solid #000;}
.foot-bul li a{ padding: 0 25px; display: block;}
.foot-b-r{}
.foot-b-rul { margin-left: -25px;}
.foot-b-rul li{ margin-left: 25px; }
.foot-b-rul li img { height: 40px; width: auto;}
@media screen and (max-width: 1300px){
    .footlogo{ width: 300px; }
    .foot-b-l { flex-direction: column-reverse; }
    .foot-bul { margin-bottom: 25px;}
    .foot-bul li:last-child{ border-right: 1px solid #000; }
}
@media screen and (max-width: 1000px){
    footer { padding: 60px 20px 30px; text-align: center;}
    .pagetop { top: inherit; bottom: 15px; right: 10px;}
    .pagetopyaji { width: 22px; height: 22px; margin-bottom: 10px;}
    .foot-t { display: block; margin-bottom: 40px; }
    .footlogo{ width: 250px; margin: 0 auto;}
    .footmenuwrap{ margin: 50px auto; max-width: 400px; }
    .footmenuul { justify-content: center; width: auto; margin-left: -35px; margin-bottom: -20px;}
    .footmenuul li { width: auto; margin-left: 35px; margin-bottom: 20px;}
    .foot-m{ margin-bottom: 50px; }
    .foot-m .fs13{ margin-bottom: 5px; }
    .foot-m .fs11{}
    .foot-b{ flex-direction: column;}
    .foot-b-l { margin-right: 0;}
    .footcopy { margin-right: 0; line-height: 1.5; }
    .foot-bul { margin-bottom: 10px; justify-content: center; }
    .foot-bul li { margin-bottom: 15px; }
    .foot-bul li a{ padding: 5px 20px; }
    .foot-b-r{}
    .foot-b-rul { margin-top: 40px;}
    .foot-b-rul li img { height: 30px;}
}
@media screen and (max-width: 650px){
    .footlogo{ width:200px;}
    .foot-t { margin-bottom: 30px; }
    .foot-m{ margin-bottom: 30px; }
    .foot-bul { padding: 10px 0; margin-bottom: 30px; display: block; }
    .foot-bul li { width: 100%; border: none !important; }
    .foot-bul li:last-child { margin-bottom: 0; }
}





/* index
==========================================================*/

.indmainwrap{ padding-left: 80px;}
.indmainwrap:after{ bottom: 0; left: 0; width: 80px; height: 55%; animation: bggrad-bl 15s infinite; }
#indmainslide { }
.slide-item { width: 100%; height: 100%; overflow: hidden; }
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{ animation: zoomUp 10s linear 0s 1 normal both; }
.swiper-slide02 { transform: scale(1.1); }
.swiper-slide02.swiper-slide-active .slide-img,

.swiper-slide02.swiper-slide-duplicate-active .slide-img,
.swiper-slide02.swiper-slide-prev .slide-img{ animation: zoomOut 10s linear 0s 1 normal both; }
.slide-img{ width: 100%; height: 100%; background-size: cover !important;}
.slide-img01 { background: url(../images/index/main04.jpg) no-repeat 40% center;}
.slide-img02 { background: url(../images/index/main05.jpg) no-repeat center;}
.slide-img03 { background: url(../images/index/main07.jpg) no-repeat center;}
.indmaintxtwrap{ bottom: 110px; left: 180px; z-index: 9; line-height: 1.3; position: absolute;}
.indmaintxtjp { margin-bottom: 30px; }
.indmaintxtjpen  { }
.indmainscroll{ position: absolute; bottom: 0; left: 0; z-index: 10; }
.indmainscroll a{ width: 80px; padding-bottom: 55px;}
.indmainscroll a:after{ width: 1px; height: 0; bottom: 50px; left: 50%; background: #fff; animation: indmainscroll 1.5s infinite; z-index: 11;}
.indmainscroll a:hover:after {}
@keyframes indmainscroll {
    0%  { height: 0; bottom: 50px; }
    100%{ height: 50px; bottom: 0; }
}
.indmainscroll a div { width: 10px; }
.indmainnews{ max-width: 660px; width: 70%; position: absolute; bottom: 0; right: 0; z-index: 9;}
.indmainnews a.flex-aic{ height: 60px; line-height: 60px; padding-left: 40px;}
.indmainnews a div:nth-child(1){ width: 70px; }
.indmainnews a div:nth-child(2){ width: 90px; }
.indmainnews a div:nth-child(3){ width: calc(100% - 70px - 90px - 60px); overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}
.indmainnews .yaji { width: 26px; height: 26px; right: 20px; top: calc(50% - 13px); position: absolute;}
.indmainnews .yaji:after { width: 4px; height: 4px; left: calc(50% - 4px); top: calc(50% - 2px); }
@media screen and (max-width: 1100px){
    .indmaintxtwrap{left: 120px;}
}   
#indmainslide{ height: 100vh;}
@media screen and (max-width: 800px){
    .indmainwrap{ padding-left: 40px; margin-top: 60px;}
    #indmainslide{ max-height: 100vw; height: calc(100vh - 60px); }
    .indmainwrap:after{width: 40px;}
    .indmaintxtwrap{ bottom: 100px; left: 70px;}
    .indmaintxtjp { margin-bottom: 30px; }
    .indmainscroll a{ width: 40px;}
    .indmainnews{ max-width: inherit; width: calc(100% - 40px); background: #f5f5f5;}
    .indmainnews a.flex-aic{ padding-left: 15px;height: 50px; line-height: 50px; }
    .indmainnews a div:nth-child(1){ width: 55px; }
    .indmainnews a div:nth-child(2){ width: 75px; }
    .indmainnews a div:nth-child(3){ width: calc(100% - 55px - 75px - 35px); }
    .indmainnews .yaji {width: 20px; height: 20px; top: calc(50% - 10px); right: 10px;}
}
@media screen and (max-width: 550px){
    .indmaintxtjp { font-size: 10.5vw; }
    .indmaintxtjpen  { font-size: 3.2vw; }
}
@media screen and (max-width: 400px){
    .indmaintxtwrap{ left: 17vw; }
    .indmaintxtjp { margin-bottom: 5vw; } 
}   

@keyframes zoomUp {
  0% { transform: scale(1);}
  100% { transform: scale(1.1);}
}
@keyframes zoomOut {
  0% { transform: scale(1.1);}
  100% { transform: scale(1); }
}

.commonbtn{ padding: 0 30px; display: inline-block; height: 50px; line-height: 50px; border-radius: 25px;}
.border-w { border: 1px solid #fff;}
.commonbtn.bg-bl:hover { background: #ff7b6a;}
.commonbtn:after { right: 25px; top: calc(50% - 4px); width: 8px; height: 8px; border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
a.commonbtn:hover:after,
a:hover div.commonbtn:after{ right: 20px; }
.commonbtn p { margin-right: 15px; }

.indabout{ background: url(../images/common/bg.png) no-repeat center calc(100% + 50px); background-size: calc(100% - 50px) auto; }
.indabout .inner1300max{ padding: 300px 0 180px;}
.indabouttxtwrap { z-index: 2}
.indaboutmiden { margin-bottom: 100px; line-height: 1;}
.indaboutmidjp { margin-bottom: 50px; line-height: 1.6;}
.indabouttxt { margin-bottom: 60px;}
.indabouttxt p{ margin-bottom: 40px;}
.indaboutimg { top: 170px; right: 0; width: calc(650 / 1300 * 100%); }
@media screen and (max-width: 800px){
    .indabout{ background: url(../images/common/bg.png) no-repeat center 60%; background-size: calc(100% - 20px) auto; }
    .indabout .inner1300max{ padding: 60px 0;}
    .indaboutmiden { margin-bottom: 30px;}
    .indaboutmidjp { margin-bottom: 25px; }
    .indabouttxt { margin-bottom: 30px;}
    .indabouttxt p{ margin-bottom: 20px;}
    .indaboutimg { top: 0; width: 40%; }
    .indaboutimg01 { width: 100%; margin-bottom: 30px; }
    .indaboutimg02 { width: 100%; margin-top: 30px; }
}
@media screen and (max-width: 650px){
    .indaboutmidjp br { display: none}
}
@media screen and (max-width: 550px){
    .indabouttxt p br { display: none}
}    
    
.indservice{ padding: 100px 0 180px;  animation: bggrad-bl 15s infinite;}
.indservice .inner1200max{}
.indserviceul{}
.indserviceul li{ margin-bottom: 110px; padding-top: 250px;}
.indserviceul li:last-child { margin-bottom: 0 !important;}
.indserviceul li:nth-child(2n) { flex-direction: row-reverse; }
.indservicetxtwrap{ padding: 80px 70px; width: calc(680 / 1200 * 100%); position: relative; z-index: 2; background: #fff; }
.indservicemiden { margin-bottom: 40px; line-height: 1;}
.indservicemidjp { margin-bottom: 40px; line-height: 1.6}
.indservicetxt { margin-bottom: 40px;}
.indserviceimg{ width: 50%; top: 0; right: 0;}
.indserviceul li:nth-child(2n) .indserviceimg { left: 0; }
@media screen and (max-width: 1100px){
    .indservicetxtwrap{ padding: 60px 40px;}
    .indservicemidjp br { display: none;}  
}
@media screen and (max-width: 800px){
    .indservice{ padding: 0 0 90px;}
    .indserviceul li{ margin-bottom: 55px; padding-top: 30vw;}
    .indservicetxtwrap{ padding: 40px 20px; width: calc(900 / 1200 * 100%); }
    .indservicemiden { margin-bottom: 20px;}
    .indservicemidjp { margin-bottom: 20px;}
    .indservicetxt { margin-bottom: 20px;}
    .indserviceimg{ width: 40%;}
}
@media screen and (max-width: 550px){
    .indservicetxtwrap{ width: 90%; }
    .indservicetxt br { display:none;}
}   

.indnews{ padding: 150px 0;}
.indnews .inner1080 {}
.indnewsmid { line-height: 1}
.indnewsulwrap{ width: calc(100% - 280px); }
.indnewsul{ margin-top: -60px; line-height: 1}
.indnewsul li{ border-bottom: 1px solid #ccc;}
.indnewsul li > a{ padding: 60px 0; }
.indnewsul li > a:after { width: 10px; height: 10px;  right: 20px; top: calc(50% - 5px); border-radius: 50%; background: #1e50ff; }
.indnewsul li > a:hover:after { width: 24px; height: 24px; right: calc(20px - 6px); top: calc(50% - 12px); background: #ff7b6a; }
.indnewsdate { width: 130px;}
.idnnewsbtnwrap{ margin-top: 20px; /*margin-top: -100px;*/}
.idnnewsbtnwrap .commonbtn { padding: 0 40px; }
@media screen and (max-width: 1100px){
    .indnewsulwrap{ width: calc(100% - 240px); }  
}
@media screen and (max-width: 800px){
    .indnews{ padding: 75px 0 60px;}
    .indnewsmid { margin-bottom: 60px;}
    .indnewsulwrap{ width: 100%; }
    .indnewsul{ margin-top: -30px;}
    .indnewsul li a{ padding: 30px 0; }
    .indnewsul li a:after { width: 6px; height: 6px; right: 20px; top: calc(50% - 5px); }
    .indnewsul li a:hover:after { width: 12px; height: 12px; right: calc(20px - 3px); top: calc(50% - 8px); }
    .indnewsdate { width: 100px;}
    .indnewstxt { width: calc(100% - 100px - 50px); }
    .idnnewsbtnwrap{ margin-top: 40px;}
}

.indrecruit{ padding: 20px; }
.indrecruit a{ display: block;}
.indrecruit a:hover { }
.indrecruitimg { background: url(../images/index/indrecruit_sab.jpg) no-repeat center; background-size: 100%;-webkit-transition: all 0.6s; transition: all 0.6s; }
.indrecruit a:hover .indrecruitimg { background-size: 105%; }
.indrecruit a .centerposi{ margin-top: 20px; width: 100%;}
.indrecruittxt { max-width: 690px; width: 60%; margin: 0 auto 20px;}
@media screen and (max-width: 800px){
    .indrecruit{ padding: 5px; }
    .indrecruit a .centerposi{ margin-top: 0;}
    .indrecruitimg { background-image: url(../images/index/indrecruit-sp_sab.jpg); }
    .indrecruit a:hover .indrecruitimg { background-size: 103%; }
    .indrecruit .commonbtn{ height: 40px; line-height: 40px; border-radius: 20px;}
}




/* news
==========================================================*/

.mainwrap{ margin-top: 80px; height: 450px; background-size: cover; line-height: 1}
.mainwrap.news{ background-image: url(../images/news/newsmain.jpg); }
.mainwrap.about{ background-image: url(../images/about/aboutmain.jpg); }
.mainwrap.service{ background-image: url(../images/service/romeo-a-P6q0i_zGwrk-unsplash.jpg);background-position-y:40% ; }
.mainwrap.partner{ background-image: url(../images/partner/partnermain.jpg); }
.mainwrap.partner{ background-image: url(../images/partner/partnermain.jpg); }
.mainwrap.recruit{ background-image: url(../images/news/newsmain.jpg); }/*武田追加*/
.mainnowrap { height: 320px; background: linear-gradient(135deg, #bbd8ff, #45a4f6);  }
.ttlen { margin-bottom: 30px;}
.ttlen.noto { line-height: 1.2;}
.ttljp { font-weight: bold;}
@media screen and (max-width: 1200px){
    .mainwrap{ margin-top: 60px; height: 350px;}
    .mainnowrap { height: 280px;}
}  
@media screen and (max-width: 800px){
    .mainwrap{ height: 225px;}
    .mainnowrap { height: 180px;}
    .ttlen { margin-bottom: 15px;}
}
@media screen and (max-width: 500px){
    .mainwrap{ height: 180px;}
    .mainnowrap { height: 32vw;}
    .ttlen.poppins { font-size: 11vw;}
    .ttlen.noto { font-size: 6.5vw; letter-spacing: 0;}
    .ttljp.poppins { font-size: 3vw; }
}

.newspickwrap{}
.newspickwrap .inner1080{ }
.newspickwrap .inner1080 > a { padding-top: 200px; position: relative; z-index: 2; display: block; }
.newspickmid { margin-bottom: 90px; line-height: 1;}
.newspickimgwrap{top: 110px; max-width: 630px; width: 70%; right: 0; position: absolute; z-index: -1;}
.newspickimgwrap:after { content:""; display: block; padding-top: 60.3%; }
.newspickimg{ overflow: hidden; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
.newspickimg > div { width: 100%; }
a:hover .newspickimg > div { width: 105%;}
.newsdatewrap{ padding-bottom: 30px; line-height: 1;}
.newsdatewrap:after { width: 20px; height: 3px; background: #1e50ff; left: 0; bottom: 0; }
.newsdatewrap .fs20{ margin-right: 20px; margin-bottom: 5px}
.newsdatewrap .fs18{}
.catout ul { margin-left: -10px; margin-bottom: -5px; display: flex; flex-wrap: wrap; }
.catout ul li { margin-bottom: 5px; margin-left: 10px;}
.catout ul li a { padding-left: 1em; position: relative; }
.catout ul li a:after { content: "#"; position: absolute; top: calc(50% - 0.5em); left: 0;}
.indnewstxt { width: calc(100% - 130px - 60px); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.newspicktxtwrap {width: calc(880 / 1080 * 100%); padding: 20px; padding-left: 0; background: #fff;  }
.newspicktxt{ height: calc(30em / 14 * 2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media screen and (max-width: 800px){
    .newspickwrap .inner1080 a{ padding-top: 50px;}
    .newspickmid { margin-bottom: 30px;}
    .newspickimgwrap{ margin-bottom: 30px; top: 0; max-width: inherit; width: 100%; position: inherit}
    .newsdatewrap{ margin-bottom: 20px; }
    .newsdatewrap .fs18{}
    .newspicktxtwrap {width:100%; padding: 0;}
}  
    
.newslistwrap{ padding-top: 100px;}
.newslistmid { margin-bottom: 20px;}
.newslistcatul { margin-bottom: 70px; margin-left: -20px; line-height: 1}
.newslistcatul li { margin-left: 20px; margin-bottom: 20px; }
.newslistcatul li a{ padding-left: 1em; position: relative;}
.newslistcatul li.current-cat a { color: #1E50FF; }
.newslistcatul li a:after { content: "#"; position: absolute; top: 0; left: 0;}
.newslistcatul li.active a { pointer-events: none; color: #6997ff;}

.newslistul{ margin-bottom: 50px; margin-left: -50px; }
.newslistulbottom { margin:-50px 0 50px; }
.newslistul > li { width: calc(100% / 3 - 50px); margin-left: 50px; margin-bottom: 50px; box-shadow: 2px 2px 10px rgba(0,0,0,0.15); }
.newslistul > li a{ display: block;}
.newslistimgwrap {position: relative; width: 100%; }
.newslistimgwrap:after { content:""; display: block; padding-top: 87.5%; }
.newslistimg{ overflow: hidden; position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
.newslistimg > div { width: 100%; }
.newslistul > li a:hover .newslistimg > div { width: 105%;}
.newslisttxtwrap{ padding: 30px 20px 80px; position: relative; background: #fff}
.newslistdatewrap{ margin-bottom: 20px;}
.newslistdatewrap .poppins{ line-height: 1.2; margin-right: 20px; margin-bottom: 5px;}
.newslistdatewrap .noto{ line-height: 1;}
.newslisttxt { line-height: 1.6; max-height: calc(3em * 1.6); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.newslisttxtwrap .yaji { width: 30px; height: 30px; bottom: 25px; right: 30px; position: absolute;}
.newslisttxtwrap .yaji:after { width: 6px; height: 6px; left: calc(50% - 6px); top: calc(50% - 3px);  }
.newslistul > li a:hover .yaji { background: #ff1d25; border-color: #ff1d25; }
@media screen and (max-width: 1100px){
    .newslistul{ margin-bottom: 50px; margin-left: -30px; }
    .newslistul > li { width: calc(100% / 3 - 30px); margin-left: 30px; margin-bottom: 30px; }  
} 
@media screen and (max-width: 800px){
    .newslistwrap{ padding-top: 80px;}
    .newslistcatul { margin-bottom: 30px;}
    .newslistul{ margin-bottom: 30px; margin-left: -20px; }
    .newslistulbottom { margin:-30px 0 30px; }
    .newslistul > li { width: calc(100% / 2 - 20px); margin-left: 20px; margin-bottom: 20px; }
    .newslisttxtwrap{ padding: 20px 15px 45px; }
    .newslistdatewrap{ margin-bottom: 15px;}
    .newslistdatewrap .poppins{ margin-right: 10px;}
    .newslistdatewrap .noto{}
    .newslisttxtwrap .yaji { width: 30px; height: 30px; bottom: 10px; right: 15px;}
} 
@media screen and (max-width: 450px){
    .newslistul > li { width: 100%; }
}
    
.paginationwrap{ padding-bottom: 100px;}
.paginationwrap .prev { margin-right: 60px;}
.paginationwrap .next { margin-left: 60px; }
.pnyaji a { width: 40px; height: 40px; border-radius: 50%; border: 1px solid #1e50ff; display: block; position: relative;}
.pnyaji a:after { width: 8px; height: 8px; left: calc(50% - 8px); top: calc(50% - 4px); border-top: 1px solid #1e50ff; border-right: 1px solid #1e50ff; -webkit-transform: rotate(45deg); transform: rotate(45deg); content: ""; position: absolute; }
.pnyaji.prev a:after{ left: calc(50% - 4px); border: none; border-bottom: 1px solid #1e50ff; border-left: 1px solid #1e50ff; }
.pnyaji a:hover { background: #1e50ff;}
.pnyaji a:hover:after { border-color: #fff;}
.paginationwrap .pagination{ margin-left: -30px;}
.pagination * { display: inline-block; margin-left: 30px;}
.pagination .current{ color: #1e50ff;}
.pagination a.inactive{}
@media screen and (max-width: 800px){
    .paginationwrap{ padding-bottom: 60px;}
    .paginationwrap .prev { margin-right: 0;}
    .paginationwrap .next { margin-left: 0;}
    .paginationwrap .pagination{ margin-left: -20px;}
    .pagination * { display: inline-block; margin-left: 20px;}
}  
    
.newspostwrap{ padding: 100px 0;}
.newspostwrap .inner800{}
.newsttl { margin: 20px 0 40px; line-height: 1.5; }
.newstxtwrap{ text-align: center; }
.newstxtwrap * { text-align: left;}
.newstxtwrap h2,
.newstxtwrap h3,
.newstxtwrap h4,
.newstxtwrap h5{ margin-bottom: 30px; line-height: 1.5;}
.newstxtwrap h2{font-size: calc(30em / 14);font-family: 'Noto Sans JP', sans-serif; font-weight: 500;}
.newstxtwrap h3{font-size: calc(24em / 14);font-family: 'Noto Sans JP', sans-serif; font-weight: 500;}
.newstxtwrap h4{font-size: calc(20em / 14);font-family: 'Noto Sans JP', sans-serif; font-weight: 500;}
.newstxtwrap h5{ font-size: calc(13em / 14); color: #666; text-align: justify}
.newstxtwrap p{ margin-bottom: 30px; text-align: justify}
.newstxtwrap p.txc { text-align: center}
.newstxtwrap img{  margin-bottom: 20px; }
.newstxtwrap a{ margin-bottom: 60px; padding: 0 40px; height: 50px; line-height: 50px; border-radius: 25px; color: #fff;  background: #1e50ff; display: inline-block; position: relative; }
.newstxtwrap a:after { width: 8px; height: 8px; right: 20px; top: calc(50% - 4px); border-top: 1px solid #fff; border-right: 1px solid #fff; -webkit-transform: rotate(45deg); transform: rotate(45deg); content: ""; position: absolute; }
.newstxtwrap a:hover:after { right: 15px; }
.newstxtwrap a:hover { background: #ff7b6a;}
.newsfieldwrap{}
.newsfield{ display: flex; justify-content: space-between;}
.newsfield:nth-child(2n){ flex-direction: row-reverse;}
.newsfield-img,
.newsfield-itxt{ width: calc(50% - 30px);}

.newsrelate { padding: 80px 0 100px; background: #e9ecf1; }
.newsrelate .inner1080{}
.newsrelatemid { margin-bottom: 50px; }
.newsrelate .newslistul{}
@media screen and (max-width: 800px){
    .newspostwrap{ padding: 50px 0;}
    .newsttl { margin: 10px 0 20px; }
    .newstxtwrap h2,
    .newstxtwrap h3,
    .newstxtwrap h4,
    .newstxtwrap h5{ margin-bottom: 20px;}
    .newstxtwrap h2{ font-size: calc(30em / 16);}
    .newstxtwrap p{ margin-bottom: 20px; }
    .newstxtwrap img{  margin-bottom: 10px; }
    .newstxtwrap a{ margin-bottom: 40px; padding: 0 30px; height: 40px; line-height: 40px; border-radius: 20px; }
    .newstxtwrap a:after { width: 6px; height: 6px; right: 15px; top: calc(50% - 3px); }
    .newstxtwrap a:hover:after { right: 10px; }
    .newsfield-img,
    .newsfield-itxt{ width: calc(50% - 15px);}
    .newsrelate { padding: 40px 0 50px; }
    .newsrelatemid { margin-bottom: 30px; }
} 
@media screen and (max-width: 450px){
    .newsfield{ display: block;}
    .newsfield-img,
    .newsfield-itxt{ width: 100%;}
}




/* about
==========================================================*/

.aboutbgwrap { background: url(../images/common/bg.png) no-repeat top -75px right -55px; background-size: 744px auto;}
.aboutnavwrap{ padding-top: 110px;}
.aboutnavul{ margin-left: -30px;}
.aboutnavul li{ border-top: 1px solid #1e50ff; border-bottom: 1px solid #1e50ff; width: calc(100% / 3 - 30px); margin-left: 30px; }
.aboutnavul li:nth-child(n+4) { border-top: none; }
.aboutnavul li a.flex-jcs.flex-aic{ height: 90px;}
.aboutnavul li a p{}
.aboutnavul li a .yaji{ width: 38px; height: 38px; }
.aboutnavul li a .yaji:after { top: calc(50% - 6px); left:  calc(50% - 5px); border-bottom: 1px solid #1e50ff; border-top: none; }
@media screen and (max-width: 1100px){
    .aboutbgwrap { background: url(../images/common/bg.png) no-repeat top -7vw right -5vw; background-size: 70% auto;}
    .aboutnavul li{ width: calc(100% / 2 - 30px); } 
    .aboutnavul li:nth-child(n+3) { border-top: none; }
}  
@media screen and (max-width: 800px){
    .aboutnavwrap{ padding-top: 55px;border-bottom: 1px solid #1e50ff;}
    .aboutnavul li{ width:100%; border-bottom: none; border-top: 1px solid #1e50ff !important;}
    .aboutnavul li a.flex-jcs.flex-aic{ height: 50px;}
    .aboutnavul li a .yaji{ width: 20px; height: 20px; }
    .aboutnavul li a .yaji:after { width: 4px; height: 4px; top: calc(50% - 3px); left: calc(50% - 3px);} 
}  
    
.about01wrap{ padding: 100px 0 120px; background: url(../images/common/bg.png) no-repeat center; background-size: 1250px 1015px; }
.about01wrap .inner1080{}
.about01mid{ margin-bottom: 60px;}
.about01lrwrap{ margin-bottom: 100px; flex-wrap: nowrap;}
.about01lrwrap:nth-child(2n-1){ flex-direction: row-reverse;}
.about01img{ width: 440px; }
.about01txtwrap{ width: calc(100% - 440px - 80px); line-height: 3;}
.about01txtwrap p { margin-bottom: 60px; white-space: nowrap; }
.about01txtwrap p:last-child { margin-bottom: 0 !important;}
p.about01bottomtxt{ line-height: 3;}
.show-1200 { display: none}
@media screen and (max-width: 1200px){
    .show-1200 { display: block}
    .about01wrap{ background-size: 105% auto; }
    .about01img{ width: 350px; }
    .about01txtwrap{ width: calc(100% - 350px - 60px); line-height: 2.5;}
}
@media screen and (max-width: 1000px){
    .about01txtwrap p { margin-bottom: 40px; white-space: pre-wrap; } 
    .about01txtwrap p br { display: none;}
}
@media screen and (max-width: 800px){
    .about01wrap{ padding: 50px 0 60px; }
    .about01mid{ margin-bottom: 30px;}
    .about01lrwrap{ margin-bottom: 50px; display: block;}
    .about01img{ margin-bottom: 30px; width: 100%; height: 70vw; overflow: hidden; position: relative;}
    .about01img img { left: 0; bottom: -11vw; position: absolute; display: block;}
    .about01txtwrap{ width: 100%;line-height: 2;}
    .about01txtwrap p { margin-bottom: 30px;}
    p.about01bottomtxt{ line-height: 2.5;}
}
@media screen and (max-width: 400px){
    .about01txtwrap,
    p.about01bottomtxt{ font-size: 4vw}
}   

.about02wrap{}
.about02wrap > div {  padding: 150px 0; animation: bggrad-re 15s infinite; }
.about02wrap .inner1080{}
.about02midtop{ margin-bottom: 80px;}
.about02midjp { margin-bottom: 20px; line-height: 1.5;}
.about02miden { margin-bottom: 100px; font-style: italic;}
.about02img{ margin-bottom: 80px;}
.about02txtwrap {}
p.about02mid{ width: 350px; }
.about02txt{ width: calc(100% - 350px);}
.about02txt .poppins {margin-top: 20px; font-style: italic;}
@media screen and (max-width: 1100px){
    p.about02mid{ margin-bottom: 20px; width: 100%; }
    .about02txt{ width: 100%;}
} 
.show-900 { display: none}
@media screen and (max-width: 900px){
    .show-900 { display: block;}
    .about02midjp { margin-left: 0.5em; }
}
@media screen and (max-width: 800px){
    .about02wrap > div{ padding: 75px 0; }
    .about02midtop{ margin-bottom: 40px;}
    .about02midjp { margin-bottom: 10px;}
    .about02miden { margin-bottom: 50px;}
    .about02img{ margin-bottom: 40px;}
    .about02txt br { display: none}
}
@media screen and (max-width: 500px){
    .about02midjp { font-size: 6vw;}
    .about02miden { font-size: 5vw;}
}   

.about03wrap{ padding: 150px 0 100px; }
.about03wrap .inner1080{}
.companylrwrap { margin-bottom: 130px; }
.companylrwrap:last-child { margin-bottom: 0 !important;}
.company-l { padding: 30px 0; width: calc(250 / 1080 * 100%); }
.company-r { width: calc((1080 - 250) / 1080 * 100%); }
.companydl {}
.companydl dt,
.companydl dd { padding: 30px 0; border-bottom: 1px solid #999; }
.companydl dt { width: 180px; }
.companydl dd { width: calc(100% - 180px); }
.companydl dd.flex { margin-left: -20px; }
.companydl dd.flex p { margin-left: 20px;}
a.commaplink { margin-top: 10px; line-height: 1; align-items: flex-end;}
a.commaplink p { text-decoration: underline;}
a.commaplink:hover p { text-decoration: none;}
a.commaplink div { margin-left: 10px; width: 11px; }
.compartnerul { margin-bottom: -30px;}
.compartnerul li { margin-bottom: 30px; }
.compartnerul li .compartnerimg { width: 70px; margin-right: 20px; }
.compartnerul li p { width: calc(100% - 90px);}
@media screen and (max-width: 800px){
    .about03wrap{ padding: 75px 0 50px; }
    .companylrwrap { margin-bottom: 65px; }
    .companylrwrap:last-child { margin-bottom: 0 !important; }
    .company-l { margin-bottom: 30px; padding: 0; width: 100%; }
    .company-r { width: 100%; }
    .companydl { border-top: 1px solid #999;}
    .companydl dt{ padding: 20px 0 5px; border: none; }
    .companydl dd { padding: 0 0 20px;}
    .companydl dt { width: 100%; }
    .companydl dd { width: 100%; }
    .compartnerul { margin-bottom: -15px;}
    .compartnerul li { margin-bottom: 15px; }
    .compartnerul li .compartnerimg { width: 60px; margin-right: 15px; }
    .compartnerul li p { width: calc(100% - 75px); line-height: 1.5;}
}

.about04wrap { padding: 130px 0 170px;}
.about04wrap .inner1080{}
.aboutsubmidjp { margin-bottom: 20px; line-height: 1.4;}
p.aboutsubmiden{ line-height: 1;}
.organizationimg{ margin-top: 50px; padding: 0 40px; }
@media screen and (max-width: 1000px){
    .organizationimg{ padding: 0; }
}
@media screen and (max-width: 800px){
    .about04wrap { padding: 60px 0;}
    .organizationimg{ max-width: 400px; margin: 25px auto 0; }
}

.about05wrap{ padding: 140px 0 160px;}
.about05wrap .inner1080{}
.aboutsubmidjp{}
.aboutsubmiden{}
.historydl { margin-top: 60px;}
.historydl:after { width: 1px; height: calc(100% - (2em - 5px) * 2 - 50px); background: #999; top: calc(2em - 5px); left: 0;}
.historydl dt,
.historydl dd { padding-bottom: 20px; margin-bottom: 30px;}
.historydl dt { padding-left: 35px;}
.historydl dt:after { left: -5px; top: calc(1em - 5px); width: 10px; height: 10px; background: #1e50ff; border-radius: 50%; z-index: 2 }
.historydl dd { width: calc(100% - 240px); border-bottom: 1px solid #999; }
@media screen and (max-width: 1100px){
    .historydl dd { width: calc(100% - 180px); }  
}
@media screen and (max-width: 800px){
    .about05wrap{ padding: 70px 0 80px;}
    .historydl { margin-top: 30px;}
    .historydl:after { width: 1px; height: calc(100% - (2em - 5px) * 2 - 50px); background: #999; top: calc(2em - 5px); left: 0; }
    .historydl dt { width: 100%; padding-bottom: 0; margin-bottom: 0; padding-left: 20px; }
    .historydl dd {width: calc(100% - 20px); margin-left: 20px; margin-bottom: 20px; } 
    .historydl:after { height: calc(100% - 12em);}
}   
    
.about06wrap { padding-bottom: 160px;}
.about06wrap .inner1080{}
.accessdl { margin-top: 80px; }
.accessdl > dt{}
.accessdl > dd{ max-width: 830px; width: calc(100% - 220px); margin-bottom: 120px}
.accessdl > dd:last-child { margin-bottom: 0 !important;}
.accessindl{}
.accessindl dt,
.accessindl dd{padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid #999;}
.accessindl dt:nth-last-child(2),
.accessindl dd:last-child{border-bottom: none; padding-bottom: 0; margin-bottom: 0;}
.accessindl dt{ width: 140px; }
.accessindl dd{ width: calc(100% - 140px);}
.mapwrap{ margin-top: 20px;}
.mapwrap iframe{ width: 100%; height: 320px;}
@media screen and (max-width: 1100px){
    .accessindl dt{ width: 100px; }
    .accessindl dd{ width: calc(100% - 100px);}
}
@media screen and (max-width: 800px){
    .about06wrap { padding-bottom: 80px;}
    .accessdl { margin-top: 40px; }
    .accessdl > dt{ margin-bottom: 20px;}
    .accessdl > dd{ width:100%; margin-bottom: 60px}
    .accessindl dt,
    .accessindl dd{padding-bottom: 20px; margin-bottom: 20px; }
    .accessindl dt{ width: 100%; padding-bottom: 0; margin-bottom: 0; border: none; }
    .accessindl dd{ width: 100%;}
    .mapwrap iframe{height: 50vw;}
}





/* partner
==========================================================*/

.partnerwrap{ padding: 100px 0 150px;}
.partnertxt{ margin-bottom: 100px;}
@media screen and (max-width: 800px){
    .partnerwrap{ padding: 50px 0 75px;}
    .partnertxt{ margin-bottom: 50px;}
}





/* contact
==========================================================*/

select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; outline: none; background: transparent; }

.formwrap{ padding: 100px 0;}
.formmid { margin-bottom: 50px; font-weight: bold;}
.contactdl.flex{}
.contactdl dt,
.contactdl dd { margin-bottom: 40px;}
.contactdl dt{ width: 170px; font-weight: bold;}
.contactdl dt span { padding-left: 5px; }
.contactdl dd{ width: calc(100% - 170px);}
.contactdl input[type="text"] { width: 100%; height: 40px; padding: 0 10px; background: #e9ecf1; border: none; border-radius: 0; outline: none; }
.contactdl ::placeholder { font-size: 11px; color: #888;  font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif;  }
.contactdl .selectwrap { height: 40px; position: relative; background: #e9ecf1; }
.contactdl .selectwrap:after { width: 18px; height: 18px; right: 15px; top: calc(50% - 9px); border-radius: 50%; border: 1px solid #000; }
.contactdl .selectwrap:before { right: calc(15px + 8px); top: calc(50% - 2px); width: 4px; height: 4px; border-bottom: 1px solid #000; border-right: 1px solid #000; -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.contactdl select { width: 100%; height: 40px; color: #888; padding: 0 10px; position: absolute; top: 0; left: 0; z-index: 2}
.yubinwrap { margin-bottom: 20px;}
span.yobintxt {}
.contactdl .yubinwrap .yubinarea { width: 110px; margin-left: 5px;}
#yubinbtn { width: 110px; height: 30px; margin-left: 15px; border: 1px solid #000; border-radius: 4px; background: #fff;}
.contactdl dd p { margin-bottom: 20px;}
.contactdl textarea { padding: 10px; height: 200px; width: 100%; -webkit-appearance: none; -moz-appearance: none; appearance: none; resize: none;  border: 0; outline: none; background: transparent; background: #e9ecf1; }
.formpritxt { margin-bottom: 30px; font-weight: bold; letter-spacing: 0;}
.formpritxt a { text-decoration: underline;}
.error_box{ margin-top: 30px; padding: 20px; border: 1px solid #000; display: none; }
.submitbtn{ margin-top: 30px;}
.submitbtn button{ padding: 0 50px; font-weight: bold; border: none; cursor: pointer; outline: none; appearance: none;pointer-events: none; opacity: 0.5;}
.submitbtn button.active { opacity: 1; pointer-events: auto; }
.submitbtn button.active:hover { -webkit-transition: all .3s; transition: all .3s; }
.error_box { color: #f00; border-color: #f00;}
@media screen and (max-width: 800px){
    .formwrap{ padding: 50px 0;}
    .formmid { margin-bottom: 25px;}
    .contactdl dt{ width: 100%; margin-bottom: 10px;}
    .contactdl dt span { padding-left: 5px; }
    .contactdl dd{ width: 100%; margin-bottom: 20px;}
    .yubinwrap { margin-bottom: 10px;}
    .contactdl .yubinwrap .yubinarea { width: 90px;}
    #yubinbtn { width: 90px; height: 30px; margin-left: 10px;}
    .formpritxt { margin-bottom: 20px;}
} 
    
/* ラジオボタン03 */
input[type=checkbox] { display: none; }
.radio03 { box-sizing: border-box; cursor: pointer; display: inline-block; padding: 10px 30px; position: relative; width: auto; }
.radio03::before { background: #eee; border-radius: 50%; content: ''; display: block; height: 16px; left: 5px; margin-top: -8px; position: absolute; top: 50%; width: 16px; }
.radio03::after { background: #eee; border-radius: 50%; content: ''; display: block; height: 10px; left: 8px; margin-top: -5px; opacity: 0; position: absolute; top: 50%; transform: scale3d(.3,.3,1); width: 10px; }
input[type=checkbox]:checked + .radio03::before { }
input[type=checkbox]:checked + .radio03::after { background: #1e50ff; opacity: 1; transform: scale3d(1,1,1); }

.thanksmid { margin-bottom: 30px;}
.thankstxt { }
.thankstxt p { margin-bottom: 20px;}
@media screen and (max-width: 800px){
    .thankstxt p br { display: none}
}




/* service
==========================================================*/

.servicenavmid{ margin-bottom: 60px; line-height: 1.5;}
.servicewrap{}
.servicewrap section { padding: 240px 0 120px; }
.servicewrap section:nth-child(2n) .inner1080 { flex-direction: row-reverse; }
@media screen and (max-width: 800px){
    .servicenavmid{ margin-bottom: 30px;}
    .servicewrap section { padding: 50px 0; }
    .servicewrap .inner1080 { flex-direction: column !important;}
} 
@media screen and (max-width: 500px){
    .servicenavmid{ font-size: 8vw;}
}    
    
.service01wrap{ }
.service01txtwrap{ width: calc(420 / 1080 * 100%); position: relative; }
.servicemidsubwrap{ top: -120px; left: -10px; position: absolute; line-height: 1; font-style: italic; align-items: baseline;}
.servicemidsubwrap p:nth-child(1) { font-size: 100px; margin-right: 20px; color: #fff; text-shadow: #6997ff 1px 0px,  #6997ff -1px 0px,#6997ff 0px -1px, #6997ff 0px 1px,#6997ff 1px 1px , #6997ff -1px 1px,#6997ff 1px -1px, #6997ff -1px -1px,#6997ff 1px 1px,  #6997ff -1px 1px,#6997ff 1px -1px, #6997ff -1px -1px,#6997ff 1px 1px,  #6997ff -1px 1px,#6997ff 1px -1px, #6997ff -1px -1px;}
.bg-lb .servicemidsubwrap p:nth-child(1) { color: #f5f8fb;}
.servicemid { line-height: 1.4; margin-bottom: 30px;}
.servicetxt{ text-align: justify;}
.servicetxt p { margin-bottom: 20px;}
.servicetxt p:last-child { margin-bottom: 0;}
.servicetxt a { color: #1E50FF; text-decoration: underline;}
.service01img{ width: calc(600 / 1080 * 100%); }
@media screen and (max-width: 1100px){
    .servicemidsubwrap{top: -100px; }
    .servicemidsubwrap p:nth-child(1) { font-size: 80px;}
    .servicemidsubwrap p:nth-child(2) { font-size: 15px; }
    .servicemid { font-size: 30px;}
    .servicemid br { display: none}
}
@media screen and (max-width: 800px){
    .service01wrap{ }
    .service01txtwrap{ width: 100%;}
    .servicemidsubwrap { margin: 20px 0 15px; top: 0; position: inherit; }
    .servicemidsubwrap p:nth-child(1) { font-size: 50px; margin-right: 10px; }
    .servicemidsubwrap p:nth-child(2) { font-size: 13px; }
    .servicemid { margin-bottom: 20px;}
    .service01img{ max-width: 500px; width: 100%; margin: 40px auto 0; } 
}   

.service02wrap{ }
.servicetxtwrap{ width: calc(480 / 1080 * 100%); position: relative;}
.serviceimg{ width: calc(535 / 1080 * 100%);}
.servicetab{ margin-top: 40px; width: 100%; border-top: 1px solid #ccc; color: #666; }
.servicetab th,
.servicetab td{ padding: 15px 0; border-bottom: 1px solid #ccc;}
.servicetab th { width: 115px;}
.servicebtnwrap.flex{ margin-top: 40px;}
.servicebtnwrap .commonbtn{}
.serviceimg02,
.serviceimg03{width: calc(535 / 1080 * 100%);}*//*2023/05/10 margin-Left:-200px を消去 武田変更*/
/*.serviceimg02{margin-left: -200px;}*//*2023/05/10 武田変更*/
.serviceimg03{margin-right: -200px;}
@media screen and (max-width: 1200px){
    .serviceimg02,
    .serviceimg03{width: calc(535 / 1080 * 100% + 100px); margin-left: -100px;}
    .serviceimg02{margin-left: -100px;}
    .serviceimg03{margin-right: -100px;}
}
@media screen and (max-width: 800px){
    .service02wrap{ }
    .servicetxtwrap{ width: 100%; margin-bottom: 30px; }
    .serviceimg{ width:100%; }
    .servicetab{ margin-top: 20px; }
    .servicetab th { width: 100px;}
    .servicebtnwrap.flex{ margin-top: 30px;}
    .serviceimg02,
    .serviceimg03{width: 100%; margin: 0;}
}

#litypop { }
.serviceflowrap{ padding: 100px 0; max-width: 1400px; width: 100vw; max-height: 1000px; height: 100vh; position: relative; overflow: scroll;}
.lity-close,
.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited { width: 46px; height: 62px; position: absolute; right: 60px; top: 60px; z-index: 9999999; background: url(../images/common/close.png) no-repeat center; background-size: cover; font-size: 0;}
.serviceflowmidwrap { margin-bottom: 60px; line-height: 1.5; }
.serviceflowmid{ margin-right: 60px;}
.serviceflowmidtxt{}
.serviceflowimg{}
@media screen and (max-width: 1400px){
    .lity-close,
    .lity-close:hover,
    .lity-close:focus,
    .lity-close:active,
    .lity-close:visited { right: 20px; top: 25px;}   
}
@media screen and (max-width: 1000px){
    .serviceflowmidwrap { display: block;}
    .serviceflowmidtxt{ margin-top: 20px;}
}
@media screen and (max-width: 800px){
    .serviceflowrap{ padding: 60px 0 40px;}
    .serviceflowmid{ margin-right: 30px; }
    .serviceflowmidtxt br{ display: none; }
    .lity-close,
    .lity-close:hover,
    .lity-close:focus,
    .lity-close:active,
    .lity-close:visited { width: calc(46px * 0.7); height: calc(62px * 0.7);right: 10px; top: 15px; }
    .serviceflowmidwrap { margin-bottom: 30px; line-height: 1.5; }
    .serviceflowmid{ margin-right: 0;}
    .serviceflowmidtxt{}
    .serviceflowimg{}
    .flowimgul{ margin-left: -20px;}
    .flowimgul li { width: calc(100% / 3 - 20px); margin-left: 20px; margin-bottom: 20px; }
}
@media screen and (max-width: 600px){
    .flowimgul li { width: calc(100% / 2 - 20px);}
}




/* privacy
==========================================================*/

.privacywrap { padding: 100px 0 120px}
.privacycatch{ padding-bottom: 50px; margin-bottom: 50px; position: relative;}
.privacycatch:after { width: 30px; height: 3px; background: #1e50ff; bottom: 0; left: 0; }
.privacydl{}
.privacydl dt { margin-bottom: 15px; line-height: 1.5;}
.privacydl dd{ margin-bottom: 40px;}
.privacybottom {}
.privacybottom .flex p{ padding-left: 2em; margin-left: 1em; position: relative}
.privacybottom .flex p:after { content: "／"; position: absolute; top: 0; left: 0;}
.privacybottom .flex p:first-child { padding: 0; margin: 0;}
.privacybottom .flex p:first-child:after { display: none}

.privacy02wrap{ padding: 120px 0 150px;}
.privacy02mid{  padding-top: 30px; margin-bottom: 40px; line-height: 1.5; }
.privacy02mid:after {width: 30px; height: 3px; background: #1e50ff; top: 0; left: 0;}
.privacy02mid p { font-size: 11px; }
.privacy02dl { margin-bottom: 80px;border-top: 1px solid #ccc;}
.privacy02dl:last-child { margin-bottom: 0 !important;}
.privacy02dl dt, 
.privacy02dl dd { padding: 20px 0; border-bottom: 1px solid #ccc;}
.privacy02dl dt { width: 200px;}
.privacy02dl dd { width: calc(100% - 200px);}
@media screen and (max-width: 1100px){
    .privacy02mid { display: block;}
    .privacy02mid p { margin-top: 10px;}
    .privacydl br{ display: none;}
}
@media screen and (max-width: 800px){
    .privacywrap { padding: 50px 0 60px}
    .privacycatch{ padding-bottom: 25px; margin-bottom: 25px;}
    .privacycatch:after { width: 20px; height: 2px; }
    .privacydl dt { margin-bottom: 10px; }
    .privacydl dd{ margin-bottom: 30px;}
    .privacybottom .flex { display: block;}
    .privacybottom .flex p{ padding-left:0; margin-left:0; }
    .privacybottom .flex p:after { display: none}

    .privacy02wrap{ padding: 60px 0 75px;}
    .privacy02mid{  padding-top: 20px; margin-bottom: 30px;}
    .privacy02mid:after {width: 20px; height: 2px;}
    .privacy02dl { margin-bottom: 40px;}
    .privacy02dl dt { width: 100%; padding-bottom: 0; border: none; font-weight: bold}
    .privacy02dl dt br { display: none}
    .privacy02dl dd { width: 100%; padding-top: 0;}
}

.privacytab { margin-top: 30px; border-top: 1px solid #ccc; border-right: 1px solid #ccc;}
.privacytab th,
.privacytab td { padding: 10px 20px; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; vertical-align: middle; }
.pl1em { padding-left: 1em}
.privacytab02 { margin-left: -1em; }
.privacytab02 > tbody > tr > td { padding-bottom : 20px; }
@media screen and (max-width: 800px){
    .privacytab { margin-top: 20px; border-right: none}
    .privacytab th,
    .privacytab td { padding: 10px 0; border-left: none; }
    .privacytab th:first-child,
    .privacytab td:first-child { border-right: 1px solid #ccc; padding-right: 10px;}
    .privacytab th:nth-child(2),
    .privacytab td:nth-child(2) { padding-left: 10px;}
    .pl1em { padding-left: 0}
}

/*武田追加分 2023/05/11*/
@media screen and (min-width: 1480px){
    .footermenue{
        display: flex;
        flex-direction: row;
        justify-content:space-evenly;
        min-width:900px;
    }
    }
    .listmenue li:first-child{
        font-weight: 600;
    }
    .contactaddress li:first-child{
        font-weight: 600;
    }
    @media screen and (max-width: 1480px){
        .footermenue{
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            flex-direction: row;
            justify-content:space-evenly;
            
        }
        .footlogo{ 
            width: 250px; margin: 0 auto;
        }
        .contactaddress{
            margin-bottom: 30px;
        }
        footer{
            text-align: center;
        }
    }
    .telephone a{
        color: #1e50ff;
        font-size: 22px;
        font-weight: 700;
    }
    .contactaddress{
        margin-top: 30px;
    }
    .centercopy{
    flex-direction: column;
    }
    .inner1300max{
        overflow: hidden;
    }
    .inner1080{
        clear: both;
    }
    @media screen and (min-width: 800px){
    .contact-hide a{ width: 100%; height: 330px; padding-top: 100px !important; }

    }

.translation-list{
    display: flex;
    justify-content: left;
    align-self: flex-end;
}
.translation-list li:first-child{
    border-right: #CCC solid 1px;
}
.translation-list li{
    padding: 0 20px;
}
.headlogo{
    display: flex;
    justify-content: left;
    align-items: center;
}
.translation{
    width: 500px;
    align-self: flex-end;
}
