@charset "UTF-8";

/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
:root{
  scroll-padding-top: 120px;
}
html {font-size: 62.5%;scroll-behavior: smooth;}
body{  
  font-size: 1.6rem;
}
object {pointer-events: none;}
.sp {display: none !important;}
a[href^="tel:"] {pointer-events: none;}
a {
    text-decoration: none;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}
.pcFlex{display: flex;}
.pcFlex.half{
 justify-content: space-between;
}
.pcFlex.half >*{
 width: 48%;
}
.img_r {overflow: hidden;}
.img_r>img {float: right;
    width: 33%;
    margin-left: 15px;
    margin-bottom: 15px;
}
p,li,dt,dd,th,td,input{
  font-size: 1.6rem;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 1.6rem;
}

section{
  padding: 100px 0;
}
section p:not(:last-child){
  margin-bottom: 1.5em;
}

/*タイトル
========================================== */
.h2Tit{
 font-size: 3.6rem;
}
.h2Tit .en{
 font-size: 2rem;
 line-height: 1.2;
}
.h3Tit {
 font-size: min(5.5vw,3rem);
	margin-bottom: 40px;
}
.h4Tit {
	/*font-size: min(4.8vw,2.4rem);*/
	font-size: min(2.3vw,2.4rem);
	margin-bottom: 20px;
}
.h5Tit {  
	/*font-size: min(4vw,2rem);*/
	font-size: min(1.8vw,2rem);
	margin-bottom: 20px;
}
.h6Tit{
	/*font-size: min(3.6vw,1.8rem);*/
	font-size: min(1.6vw,1.8rem);
	margin-bottom: 20px;
}

/*
　テキスト
========================================== */
.leadTxt{
  font-size: min(1.6vw, 2.2rem);
}
.note,
.note li{
  font-size: 1.5rem !important;
}
.pcCenter{
	text-align: center;
}
.column3,
.column4{
 display: flex;
 flex-flow: row wrap;
 gap:40px 40px;
}
.column3 >li,
.column3 > div{
 width: calc((100% - 40px*2)/3);
}
.column4 >li{
 width: calc((100% - 40px*3)/4);
}
.column2{
 display: flex;
 flex-flow: row wrap;
 gap: 40px min(3.3vw, 40px);
}
.column2 > li,
.column2 > div{
 width: calc((100% - 40px)/2);
}

/*
　ボタン,リンク
========================================== */
.btnWrap{
 margin-top: 40px;
}

/*装飾
========================================== */
.line{
	display: inline;
  background: linear-gradient(transparent 76%, var(--green) 76%);
}


/* =======================================
  ページャー
========================================== */
/*-- pageNavi --*/
.pageNavi{
	gap:0 1.5%;
 margin-top: 80px;
}
.pageNavi .current,
.pageNavi .inactive,
.pageNavi a{
	font-size: 1.8rem;
	width: 40px;
	height: 40px;
}
/*-- pager --*/
.pager{
	margin-top: 50px;
}
.pager a{
font-size: 1.6rem;
  width: 200px;
}

/* =======================================
	header
========================================== */
header{
	height: 112px;
}
header > div{
 position: relative;
 align-items: center;
 padding: 0 0 0 min(3.8vw, 50px);
}
header #logo{
	width: min(13vw, 200px);
}
#top header:not(.fixed) #logo{
}
header #logo img{
	width: 200px;
}

/* =======================================
	gnavi
========================================== */
.gnavi{
}
#gnaviList{
 flex: 1;
 justify-content: flex-end;
 align-items: center;
 /*gap: 0 min(2.19vw,30px);*/
 gap: 0 min(1.8vw,30px);
}
#gnaviList li {
	font-size: min(1.7vw,1.7rem);
}
#gnaviList li a{
 display: block;
 padding: 10px 0;
	color: var(--base) ;
}
#gnaviList > li > a{
 display:flex;
 align-items: center;
 white-space: nowrap;
 min-height: 32px;
}
#gnaviList li a:hover{
 opacity: .7;
}

#gnaviList .hasSub{
 position: relative;
 padding: 10px 0;
}

.gnavi .hasSub:hover .sub{
	display: block;
	visibility: visible;
}


#gnaviList .sub{
	display: none;
	visibility: hidden;
	position: absolute;
 top: calc(100% - 1px);
 left: 50%;
 transform: translate(-50%, 0);
	z-index: 2;
	transition: all 0.6s ease-in-out;
 background: rgba(255,255,255,.8);
 min-width:100px;
}
#gnaviList .hasSub:hover .sub{
	display: block;
	visibility: visible;
}
#gnaviList .sub li{
	font-size: min(1.0vw,1.4rem);
}
#gnaviList .sub li + li{
 border-top: 1px #fff solid;
}
#gnaviList .sub li a{
	display: block;
	padding: 8px 15px 10px;
 background: var(--Lyellow);
 color: var(--base);
 text-align: center;
	white-space: nowrap;
}
#gnaviList .sub li span{
 display: block;
 font-size: 80%;
}
#gnaviList .sub li a:hover{
 opacity: .7;
}

#gnaviList .contact a{
  width: min(17.5vw, 228px);

}

/* =======================================
	main
========================================== */
main .roundBox{
  padding: 70px min(8.3%, 94px) 90px;
}

/* =======================================
	footContact
========================================== */
#footContact .pcFlex{
 gap:0 min(11.6%,140px);
}
#footContact .txts{
 width: 40%;
 max-width: 473px;
}
#footContact .txts .catch{
 margin-bottom: 12px;
 font-size: 20px;
}
#footContact .txts p{
 font-size: 18px;
}
#footContact ul{
 width: 45%;
 max-width: 487px;
}
/* =======================================
	footer
========================================== */
footer a:hover{
	opacity: .7;
}
#footBottom{
	padding-bottom: 35px;
}
.footerLeft{
	width: 350px;
}
#footerLogo {
 font-size: 15px;
}
#footerLogo img{
 margin-top: 8px;
 width: 200px;
}
#footerRight{
 width: min(calc(100% - 350px),512px);
 gap:0 min(3vw,40px);
}
.footerNavi >li{
 margin-bottom: 20px;
 font-size: 16px;
 font-weight: 700;
 line-height: 1.4;
}
.footerNavi li ul li{
 margin-top: 15px;
 font-size: 14px;
 font-weight: 500;
 line-height: 1.3;
}
.footerNavi li ul li a::before{
 content: "-";
}
.footerNavi .policy{
 font-size: 14px;
}

footer .copy{
}
#pageTop{
	right: min(7.14vw,4vw);
	bottom: 73px;
}


/* =======================================
	pgs common
========================================== */
/*-- mainTitle --*/
.mainTitle{
	padding-top: 263px;
	padding-bottom: 155px;
}
.mainTitle h2{
	font-size: min(4.9vw,4.5rem);
	margin-bottom: 40px;
}

/*-- .btn --*/
.pgs .btn:not(.inline){
	height: 72px;
	padding: 0 36px;
	width: min(100%,332px);
}
.pgs .btn::after{
	right: 36px;
}

/*-- title --*/
.pgs .h3Tit{
	font-size: min(5.5vw,4rem);
}

/*----*/

.secLead p{
 font-size: 2rem;
}

.leadBox{
	margin-bottom: 90px;
}
.leadBox .h3Tit{
	margin-bottom: 33px;
}
.leadBox p{
	font-size: 2.4rem;
	text-align: center;
}

/*-- table --*/
.basicTable > dt,
.basicTable >div>dt{
	border-right: 1px dotted var(--blue);
	padding: 15px 2.5%;
	width: 23%;
}
.basicTable > dd,
.basicTable >div>dd{
	padding: 15px 2.5%;
	width: 77%;
}
.basicTable > dt:last-of-type{
	border-bottom: none;
}
 .basicTable > dd:last-of-type{
	border-bottom: none;
}

table.basicTable thead th{
	font-size: min(1.3vw,1.6rem);
}
table.basicTable th,
table.basicTable td{
	padding: 10px 2px; 
}

.basicTable.data tbody th,
.basicTable.data tbody td{
	font-size: min(1.3vw,1.4rem);
}

/*		anchorLink
-----------------------------*/
.anchorLink,
.anchorLink ul{
	padding: 35px 0 ;
	gap:15px 20px;
}
.pageLinks{
	padding: 35px 0 ;
	gap:15px 20px;
}
.anchorLink li,
.pageLinks li{
	width: calc((100% - 20px * 3) / 4);
	height: 60px;
}
.anchorLink a,
.pageLinks li a{
	padding: 8px 30px 8px 10px;
}
.pageLinks li a span{
	font-size: 1.4rem;
}

.pageLinkArea{
	margin-bottom: 50px;
}

/*		flex
-----------------------------*/
.flexImgBox{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0 6%;
}
.flexImgBox figure{
	width: 40%;
}
.flexImgBox .txts{
	width: 54%;
  margin: auto;/*画像が入るまでの一時*/
}
.flexImgBox .txts p{
	line-height: 1.8em;
}
.flexImgBox .txts .btn{
	width: min(100%,332px);
}

/*----*/

.pgs .faqBnr{
	padding: 100px 0;
}

.sectionRound{
	border-radius: 70px;
}

/* =======================================
	top
========================================== */


/*		#mv
-----------------------------*/
.mvTxts{
}

/*		#topService
-----------------------------*/
#topService{
 padding-top: 147px;
 padding-bottom: 250px;
}
#topService .pcFlex{
 justify-content: space-between;
 align-items: center;
}
#topService .txts{
 width: 50.7%;
}
#topService h2{
 font-size: min(2.5vw,3.2rem);
}
#topService figure{
 width: 52.5%;
 margin-left: -18.8%;
}

/*		#topService01
-----------------------------*/
#topService01{
}
#topService01 h2{
 font-size: 40px;
}
.problemList{
 gap:0 30px;
}
.problemList li{
 width: calc((100% - 30px*2)/3);
}

#topService01 div.pcFlex{
 justify-content: space-between;
}
#topService01 .pcFlex .txts{
 width: 47.4%;
 max-width: 568px;
}
#topService01 .pcFlex figure{
 width: 50.1%;
 max-width: 602px;
}

/*		#topService02
-----------------------------*/
#topService02 h2{
 font-size: 40px;
}
#topService02 .solution{
 gap:0 30px;
}
#topService02 .solution li{
 width: calc((100% - 30px*2)/3);

	display: flex;
	flex-direction: column;
}
#topService02 .solution li p{
  flex-grow: 1;
}


/*		#topReason
-----------------------------*/
#topReason{
 padding-top: 128px;
 padding-bottom: 117px;
}
#topReason h2{
 margin-bottom: 58px;
}
#topReason .titleBox{
	padding-bottom: 45px;
}
#topReason .titleBox p{
	font-size: min(1.5vw, 2.4rem);
}
#topReason .titleBox .leadTxt{
	font-size: min(2vw, 3.2rem);
	margin-bottom: 2px;
}
#topReason ul{
 flex-flow: row wrap;
 justify-content: space-between;
 gap:16px 0;
}
#topReason ul li{
 width: calc((100% - 18px)/2);
}
#topReason .btnWrap{
 margin-top: 60px;
}


/*		#topAbout
-----------------------------*/
#topAbout{
 background: var(--grd02);
 padding-top: 118px;
 padding-bottom: 130px;
}
#topAbout .pcFlex{
 justify-content: space-between;
}

#topAbout .txts{
 width: 49.5%;
}
#topAbout figure{
 width: 47%;
}

/*		#topRecruit
-----------------------------*/
#topRecruit{
 background: var(--grd03);
 padding-top: 280px;
 padding-bottom: 120px;
 margin-top: -174px;
}
#topRecruit .pcFlex{
 justify-content: space-between;
}
#topRecruit .txts{
 width: 42%;
 max-width: 486px;
}
#topRecruit h2{
 font-size: 32px;
}
#topRecruit figure{
 width: 52%;
}
@media screen and (max-width: 1168px) {
	#topRecruit .pc{
		display: none;
	}	
} /* -PC only- */


/*		#topNews
-----------------------------*/
#topNews{
 position: relative;
 padding-top: 150px;
 padding-bottom: 0px;
 margin-bottom: 160px;
 justify-content: space-between;
}
#topNews h2{
 width: 236px;
}
#topNews ul{
 width: calc(100% - 236px - 63px);
}
#topNews ul li p{
	flex: 1;
 margin-left: auto;
}
#topNews .btnWrap{
 position: absolute;
 bottom: 0;
 left: 0;
}



/* =======================================
  PC company
========================================== */
#companyCertified .flex{
	gap: 40px 4%;
}
.companyCertifiedBox{
	padding: 25px 2.5%;
	width: 48%;
	display: flex;
	flex-direction: column;
}
.companyCertifiedBox .pcFlex{
	align-items: flex-start;
	gap: 0 5%;
	flex-grow: 1;
}
.companyCertifiedBox figure{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40%;
	height: 100%;
}
.companyCertifiedBox figure img{
	max-height: 200px;
}
.companyCertifiedBox:nth-child(2) figure img,
.companyCertifiedBox:nth-child(7) figure img,
.companyCertifiedBox:nth-child(8) figure img{
	max-width: 150px;
}
.companyCertifiedBox .txts{
	width: 60%;
}
.companyCertifiedBox h4{
	font-size: 1.8rem;
	margin-bottom: 30px;
}
.companyCertifiedBox .txts p + p{
	margin-top: .5em;
}
.companyCertifiedBox .btnWrap{
	display: flex;
	gap: 0 5%;
}
.companyCertifiedBox .btnWrap .btn{
	width: 47.5%;
	max-width: 332px;
}

#companyForval .pcFlex {
	gap: 0 5%;
	align-items: center;
	padding: 25px 3% 30px;
}
#companyForval .pcFlex figure{
	width: 40%;
}
#companyForval .pcFlex .txts{
	width: 55%;
}

#companyHistory{
	background: url("../images/company_history_img01.jpg") no-repeat right top / cover;
 background-attachment: fixed;  
            transition: 0.2s ease-in-out; 
}
#companyHistory.is-active02{
	background: url("../images/company_history_img02.jpg") no-repeat right top / cover;
 background-attachment: fixed;
}
#companyHistory.is-active03{
	background: url("../images/company_history_img03.jpg") no-repeat right top / cover;
 background-attachment: fixed;
}


#companyHistory::after{
	background: linear-gradient(to right, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,.8) 80%, rgba(255,255,255,0) 100%);
	width: 75vw;
	height: 100%;
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}
/*#companyHistory .inner1200.pcFlex{
 flex-flow: row-reverse;
}
#companyHistory .imgs{
 position: sticky;
 top: 0;
 width: 50%;
 margin: 0 0 0 -20%;
}
#companyHistory .imgs figure{
 position: absolute;
 top: 0;
 right: 0;
 opacity: 0;
 visibility: hidden;
    transition: opacity 0.8s;
}
#companyHistory .imgs figure.active{
 visibility: visible;
 opacity: 1;
}

#companyHistory .txts{
 width: 70%;
}
*/
.companyHisoryList{
	gap: 0 82px;
  margin-top: 45px;
	padding-top: 34px;
	width: 70%;
}
.companyHisoryList dt{
	padding-right: 30px;
	font-size: 3.5rem;
	width: 215px;
}
.companyHisoryList dt .txtL{
	font-size: 6rem;
}
.companyHisoryList dd{
	margin: 0 0 50px;
	padding: 53px 22px 22px 22px;
	width: calc(100% - 215px - 82px);
}
.companyHisoryList dd h4{
	border-radius: calc(infinity * 1px);
	font-size: 3.2rem;
	margin: -1.25em 0 15px -32px;
	padding: 5px 1em 10px;
	width: 300px;
}
.companyHisoryList dd h4 .txtL{
	font-size: 3.6rem;
}
.companyHisoryList dd h4 .txtS{
	font-size: 2.4rem;
}
.companyHisoryList dd h4::before{
	width: 72px;
 right: 100%;
}
.companyHisoryList dd h4::after{
	width: 25px;
	height: 25px;
 right:calc(100% + 60px);
	top: calc(50% - 12.5px);
}
.companyHisoryList dd p{
	line-height: 2.375;
}

/* =======================================
  PC  message
========================================== */
#messageGreeding figcaption{
	text-align: right;
}

#messagePhilosophy ul{
	gap: 0 35px;
	margin-bottom: 40px;
}
#messagePhilosophy ul li{
	width: calc((100% - (35px * 2)) / 3);
}
#messagePhilosophy ul li{
	font-size: 2.4rem;
}
#messagePhilosophy ul li span{
	padding: 35px 2.5%;
}
#messagePhilosophy ul li .en{
	font-size: 1.8em;
	padding: 25px 2.5%;
}
#messagePhilosophy p{
	font-size: 1.8rem;
	text-align: center;
}

#messagePolicy figure img{
	width: min(500px,20vw);
}
#messagePolicy h4{
	margin-top: 80px;
}

/* =======================================
  PC   esg
========================================== */
#esgDrivingforce .flexImgBox{
	margin-bottom: 100px;
}
#esgDrivingforce .btnWrap{
	display: flex;
	gap: 0 15px;
}
#esgDrivingforce .btnWrap .btn{
	width: calc((100% - 15px) / 2);
}
.basicPolicy{
 margin-bottom: 100px;
 justify-content: space-between;
}
.basicPolicy .txts{
 width: calc(100% - 332px - 40px);
}
.basicPolicy .btns{
 width: 332px;
}


#esgProject .h4Tit{
	font-size: 2rem;
	margin-top: 80px;
}
#esgProject .h4Tit .en{
	font-size: 200%;
}
.esgProjectBox{
	padding: 20px 1.7%;
}

#esgEnvironmental > div{
	padding: 40px 4%;
}

/* =======================================
  PC   reason
========================================== */
#reason01 .bgLivory,
#reason02 .flexImgBox{
	padding: 40px 4%;
}
#reason01 h4{
	font-size: min(5vw,2.7rem);
}
#reason01 .reason01Box h5{
	/*font-size: min(4.1vw,2.2rem);*/
	font-size: min(1.8vw,2.2rem);
}
#reason01 .reason01Box figure{
	width: 220px;
	height: 220px;
}
#reason01 .reason01Box div figure img{
	width: min(26%,65px);
	height: auto;
}
#reason01 .reason01Box div:nth-child(3) figure img{
	width: min(36%,90px);
}
#reason01 .reason01Box > div:not(:last-child)::after{
	font-size: 80px;
	width: 70px;
	height: 70px;
	top: calc(50% - 1em);
	right: -50px;
}
#reason01 .reason01Box figcaption{
	font-size: min(4vw,2rem);
	margin-top: 10px;
}
#reason01 .bgLivory + .h4Tit{
	margin-top: 70px;
}
#reason01 .reason02Box{
	padding: 40px 3%;
}
#reason01 .reason02Box h5{
	font-size: min(4.4vw,2.4rem);
}
#reason01 .reason02Box h6{
	margin-top: 40px;
}
#reason01 .reason02Box.box01 p:not(.note){
	font-size: min(3.3vw,1.8rem);
}
#reason01 .reason02Box.box01 ul{
	gap: 0 10%;
}
#reason01 .reason02Box.box01 ul li{
	/*font-size: min(5vw,2.2rem);*/
	font-size: min(2vw,2.2rem);
	width: 42%;
}
#reason01 .reason02Box.box01 ul li > span{
	font-size: min(4.8vw,2.6rem);
}
#reason01 .reason02Box.box01 ul li .num{
	font-size: min(13vw,7rem);
}
#reason01 .reason02Box.box02 ul li{
	font-size: min(3.3vw,1.8rem);
	width: 45%;
}
#reason01 .reason02Box.box02 dl dt{
	padding-top: 15px;
	width: 6.5rem;
}
#reason01 .reason02Box.box02 dl dd{
	padding-top: 15px;
	width: calc(100% - 6.5rem);
}

#reason02 .flexImgBox:not(:last-child){
	margin-bottom: 40px;
}
#reason02 .h4Tit {
	font-size: min(5vw,2.7rem);
}
#reason02 .h4Tit .num{
	font-size: min(9.3vw,5rem);
}

/* =======================================
    PC icon / dx / office / stationery
========================================== */
.icon03Anchor{
	gap: 0 16px;
}
.icon03Anchor li div{
	margin: 0 6.9%;
height: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.icon03Anchor li figure{
	margin: 31px auto 24px;
	max-width: 137px;
  flex-grow: 1
}
.icon03Anchor > li{
	width: calc((100% - (16px*3)) / 4);
  display: flex;
}
.icon03Anchor > li a{
	padding: 38px 5.6% 69px;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.icon03Anchor li a::after{
	width: 28px;
	height: 28px;
	left: calc(50% - 14px);
	top: calc(100% - (28px + 20px));
}
  .icon03Anchor > li ul{
    flex-grow: 1
  }
.icon03Anchor > li ul li{
	font-size:1.5rem;
}

.candoBox:not(:first-child){
	margin-top: 128px;
}
.candoBox::after{
	height: 100%;
	transform: rotate(-3.84deg);
}
.candoBox .roundBox{
	padding: 83px 6% 113px;
}
.candoBox .roundBox .pcFlex{
	flex-direction: row-reverse;
	align-items: center;
	gap: 0 4.5%;
}
.candoBox .roundBox .pcFlex .txts{
	width: min(47%,495px);
}
.candoBox .roundBox .pcFlex figure{
	width: min(48.5%,510px);
}
.candoBox .txts p{
	font-size: min(3.3vw,1.8rem);
}
.candoBox h4{
	font-size: min(8vw,4rem);
	margin-bottom: 37px;
}
.candoBox h4 span{
	display: block;
}
.candoBox h4 .fontM{
	font-size: min(4vw,2rem);
}
.candoBox h4 span:not(.fontM){
	font-size: min(4.8vw,2.4rem);
}
.candoBox h5{
	font-size: min(4.8vw,2.4rem);
	margin: 60px 0;
}
.candoItems{
	justify-content: center;
	gap: 20px 2.49%;
}
.candoItems li{
	width: calc((100% - (2.49% * 4)) / 5);
	max-width: 187px;
}
.candoItems li p{
	margin-top: 8px;
}

.candoSubTitle{
	font-size: min(5.5vw,4rem);
}

.roundBox .roundSubBox{
	align-items: center;
	gap: 0 4.5%;
	margin-top: 30px;
	padding: 38px 3.6%;
}
.roundBox .candoItems + .roundSubBox{
	margin-top: 60px;
}
.roundBox .flexRow,
.roundBox .roundSubBox.flexRow{
	flex-direction: row !important;
}
.roundBox .roundSubBox .txts{
	width: calc(100% - (4.5% + min(40%,400px))) !important;
}
.roundBox .roundSubBox .txts h5{
	margin: 0 0 15px;
}
.roundBox .roundSubBox figure{
	width: min(40%,400px) !important;
}

#iconCando > div.sectionRound,
#dxCando > div.sectionRound{
	margin-top: 94px;
	padding: 105px 0 140px;
}

/*------*/
#contentsLink .linkList{
	justify-content: center;
	gap:0 3.25%;
}
#contentsLink .linkList li{
	width: calc((100% - (3.25% * 2) / 3));
}
#contentsLink .linkList li figure{
	margin-bottom: 12px;
}
#contentsLink .linkList li p{
	font-size: 2rem;
}
#contentsLink .linkList li .icArrow{
	font-weight: 700 !important;
	width: 100%;
}

/* =======================================
  PC   icon
========================================== */
#iconIntro .h3Tit .bgGreen:nth-child(1){
	padding: 0 0 0 10px;
}
#iconIntro .h3Tit .bgGreen:nth-child(2){
	padding: 0 10px 0 0;
}
#iconIntro h4{
	font-size: min(2vw,2.4rem);
}
#iconIntro h4 > span{
	padding: 0 50px;
}
#iconIntro h4 > span::before,
#iconIntro h4 > span::after{
	bottom: -15px;
}
#iconIntro h4 > span::before{
	transform: rotate(-45deg);
}
#iconIntro h4 > span::after{
	transform: rotate(45deg);
}
#iconIntro h4 .line{
	font-size: min(3vw,3.6rem);
}
#iconIntro .introImg{
	margin: 30px auto 110px;
}
#iconIntro .aboutDoctor::before{
	width: 80px;
	height: 30px;
	left: calc(50% - 40px);
	top: -75px;
}
#iconIntro .aboutDoctor::after{
	width: 110px;
	height: 35px;
	left: calc(50% - 55px);
	top: -50px;
}
#iconIntro .aboutDoctor p{
	font-size: min(3.5vw,4.1rem);
	margin-bottom: 1em;
}
#iconIntro .aboutDoctor div.pcFlex{
	align-items: center;
	justify-content: space-between;
	gap: 0 4%;
	padding: 0 8%;
}
#iconIntro .aboutDoctor figure{
	margin-top: -60px;
	width: min(12.5vw,150px);
}
#iconIntro .aboutDoctor dl{
	margin: 20px 0;
	width: calc(100% - (160px + 4%));
}

#iconFlow .imagesWrap{
	gap: 0px 20px;
  padding: 30px 0px 0px;
}
#iconFlow .imagesWrap::before{
 width:calc(((100% - 20px*4)/5)*4 + 20px*4) ;
 height: 2px;
 right: calc(((100% - 20px*4)/5)/2);
}
#iconFlow .imagesWrap li{
	padding: 0px 10px 20px;
 width: calc((100% - 20px*4)/5);
}
#iconFlow .imagesWrap h4{
	padding: 10px;
}
#iconFlow .imagesWrap li + li h4{
 position: relative;
}
#iconFlow .imagesWrap li + li h4::before{
 content: "";
 display: block;
 width: calc(20px + 20px + 2px);
 height: 2px;
 background: var(--green);
 position: absolute;
 right: 100%;
 top: 50%;
}
#iconFlow .imagesWrap li p{
	font-size: 1.6rem;
}
#iconFlow .imagesWrap li:nth-of-type(1)::before{
	width:16px;
	height:12px;
clip-path: polygon(0 0, 50% 100%, 100% 0);
 bottom: 100%;
 left: 0;
 right: 0;
}
#iconFlow .imagesWrap li:nth-of-type(1)::after,
#iconFlow .imagesWrap li:last-of-type::after{
 width: 2px;
 height: 30px;
 bottom: 100%;
 left: 0;
 right: 0;
}

#iconCando .iconCandoIntro h4{
	font-size: min(4vw,3.6rem);
}
#iconCando .iconCandoIntro h4 span{
	font-size: 2.4rem;
}
#iconCando .iconCandoIntro p{
	font-size: min(1.8vw, 1.8rem);
}
#iconCando .icon03Anchor{
	margin-top: 30px;
}
#iconCando .iconCandoBox{
	background: var(--Livory);
	margin-top: 60px;
}
#iconCando .iconCandoBox h5{
	font-size: 4rem;
}
#iconCando .iconCandoBox .leadTxt{
	font-size: min(1.6vw, 2.4rem);
}
#iconCando .iconCandoBox p:not(.leadTxt){
	font-size: min(1.8vw, 1.8rem);
	line-height: 1.72;
}
#iconCando .candoSubTitle{
	margin-top: 128px;
}
#iconCando .candoSubTitle + .candoBox{
	margin-top: 50px;
}
#iconCando #iconCando04 ul{
	flex-direction: row;
}
#iconCando #iconCando04 .column3 > li{
	width: calc((100% - 4.5%*2)/3);
}

#iconCando04 ul.column3 li h6{
	font-size: min(2vw, 2rem);
  line-height: 1.1;
}
#iconCando04 ul.column3 li h6 span{
	font-size: min(4vw,3.6rem);
	width: 60px;
	height: 60px;
}

.esgAdvisorBnr{
	border-radius: calc(infinity * 1px);
	margin-top: 60px;
}
.esgAdvisorBnr a{
	padding: 30px 5%;
}
.esgAdvisorBnr p .bgGreen{
	font-size: 2rem;
	padding-left: 5px;
	padding-right: 5px;
}
.esgAdvisorBnr p .bold{
	font-size: 2.4rem;
}

/* =======================================
   PC dx
========================================== */
#dxIntro{
	padding-bottom: 120px;
}
#dxIntro dt{
	font-size: min(9.6vw,4.8rem);
	padding-bottom: 33px;
}
#dxIntro dd p:not(.leadTxt){
	font-size: min(3.3vw,1.8rem);
}
#dxIntro dd .leadTxt{
	font-size: min(4.8vw,2.4rem);
}
#dxIntro div.pcFlex{
	justify-content: space-between;
	gap: 0 6.5%;
}
#dxIntro div.pcFlex dl{
	width: calc(100% - 510px);
}
#dxIntro div.pcFlex figure{
	width: min(42.5vw,510px);
}
#iconStep .stepList li{
	padding: 45px 0 35px;
}
#iconStep .stepList li h4{
	font-size: min(4.8vw,2.4rem);
	margin-bottom: 0.92em;
}
#iconStep .stepList li .stepNum{
	font-size: 1.6rem;
	margin-right: 17px;
	padding: 1px 21px 2px;
}
#iconStep .stepList li p{
	font-size: 1.8rem;
}

#dxCando .icon03Anchor{
	margin-bottom: 56px;
}


/* =======================================
  PC   office
========================================== */
#officeCando ul.column3 li{
	padding: 20px 1.6%;
}
#officeStrong ul.column2 li{
	padding: 38px 3.6%;
}
#officeStrong ul.column2 li figure{
	margin-bottom: 20px;
}
#officeCando ul li p,
#officeStrong ul li p{
	font-size: min(3.3vw,1.8rem);
}
.emTxt{
	margin-top: 60px;
	padding: 15px;
}
.emTxt p{
	font-size: min(2.6vw,2.4rem);
}
.emTxt span{
	font-size: min(4vw, 3.6rem);
}
#officeLive p{
	text-align: center;
}
#officeLive .officeSlider .slick-slide{
	margin: 0 10px;
}
#officeLive .btn{
	width: min(100%,450px);
}
.officeExampleBox{
	padding: 83px 6%;
}
.officeExampleBox:not(:first-child){
	margin-top: 40px;
}
.officeExampleBox h5{
	flex-wrap: wrap;
}
.officeExampleBox h5 .icNum{
	width: 100px;
	height: 100px;
}
.officeExampleBox h5 .icNum .num{
	font-size: 2.3em;
}
.officeExampleBox h5 span:not(.icNum){
	font-size: min(6.4vw,3.2rem);
}
.officeExampleBox .caseImg{
	justify-content: space-between;
	margin-bottom: 40px;
}
.officeExampleBox .caseImg figure{
	width: 45%;
}
.officeExampleBox .caseImg figure:nth-child(2)::before{
	width: 30px;
	height: 30px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
	top: calc(50% - 15px);
	left: calc(-10% - 15px);
}
.officeExampleBox .caseImg figcaption{
	padding: 5px 20px;
}
.officeExampleBox .basicTable .btn{
	min-height: 50px;
	height: 50px;
  width: min(100%,250px);
}

.officeExampleBox .accBox[style*="display: block"] {
    display: flex !important;
}
.officeExampleBox .basicTable dt:last-of-type{
 border-bottom:1px solid var(--wh);
}
.officeExampleBox .basicTable dd:last-of-type{
 border-bottom:1px solid var(--base);
}
.officeExampleBox .accBox dt:last-of-type,
.officeExampleBox .accBox dd:last-of-type{
 border-bottom: none;
}

.officeExampleBox .officeSlider{
	margin-top: 40px;
}

#officeExample .officePhotoArea{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 15px;
	margin-top: 40px;
}
#officeExample .officePhotoArea > figure{
	overflow: hidden;
	text-align: center;
	width: calc((100% - 30px) / 3) !important;
}
#officeExample .officePhotoArea > figure img{
	height: 257px;
	object-fit: cover;
	margin: 0 auto;
}

.bnrInsta{
	font-size: 2.4rem;
	padding: 30px 5%;
}


/* =======================================
  PC  stationery
========================================== */
#stationaryIntro .leadBox .leadTxt{
	font-size: min(3vw,3.6rem);
}
#stationaryService ul.column3 li{
	padding: 0 3.2% 30px;
}
#stationaryService ul.column3 h6{
	font-size: min(4.8vw,2.4rem);
	margin-top: -15px;
	/*height: calc(2.5em + 15px + 10px + 60px);*/
}

.serviceBnrArea{
	margin-top: 60px;
}
.serviceBnrArea h6{
	font-size: min(4.6vw,2.2rem);
}
.serviceBnr a{
	padding: 30px 5%;
}
.serviceBnr p{
	font-size: min(4vw,2rem);
}
.serviceBnr p .icArrow{
	font-size: 3rem;
}
.serviceBnr p .icArrow::after{
	width: 36px;
	height: 36px;
	top: calc(100% - (18px + 0.75em));
}


/* =======================================
  PC  faq
========================================== */
/*	faq
========================================== */
/*-- faqList--*/
.faqList dt,
.faqList dd{
	padding: 2%;
}
.faqList dt span{
	padding-left: 60px;
	padding-right: 30px;
}
.faqList dd span{
	padding-left: 60px;
}
.faqList dt span::before,
.faqList dd span::before{
	width: 50px;
	height: 50px;
	top: -0.4em;
}




/* =======================================
	news PC
========================================== */
/*		一覧
-----------------------------*/
.newsBox.pcFlex{
 justify-content: space-between;
 align-items: flex-start;
}
.newsBox .imgs{
 width: 30%;
}
.newsBox .txts{
 width: 66%;
}
.newsBox .newsInfo.pcFlex{
	gap: 1em;
}
.newsInfo .date {
	padding-top: 0.4em;
}
.newsBox .newsInfo h4{
	font-size: min(4.8vw, 2.2rem);
}
.newsBox .txts .right a.btn{
	width: min(100%, 200px);
	min-height: 50px;
	height: 50px;
}

/*		single
-----------------------------*/
article{
 padding: 100px 0;
}
#newsDetail .newsInfo.pcFlex{
	gap: 1em;
}
#newsDetail .pager .btn{
	width: 200px;
}

/* =======================================
	register
========================================== */ 
#register #flowArea .flex > li h4 span{
	padding: 4px 4px 6px;
	width: min(40%,192px);
}
#register #flowArea .flex > li p{
	text-align: center;
}
#register #flowArea .flex > li p b{
  margin-block: 15px 10px;
  font-size: 1.2em;
}
#register #flowArea .flex > li figure{
	margin: 0 auto;
	width: 100%;
	max-width: 192px;
	height: auto;
	aspect-ratio: 1 / 1;
}

/* =======================================
	contact PC
========================================== */
#entryForm .bnrWrap .bnr{
	width: min(100%,800px);
}
#telArea{
	padding-top: calc(60px + .8em);
}
#telArea > div{
	padding: 45px 0 40px;
	max-width: 800px !important;
}
#telArea .tel .time{
	 font-size: 1.8rem;
}

/* =======================================
	entry PC
========================================== */
/*#contactLead .icTel{
	font-size: 5rem;
}*/
#contactLead{
	 padding: 100px 0;
}
#contactTelfax .telfaxBox > p{
  width: 100%;
}

/* =======================================
	form PC
========================================== */
.formArea .basicTable input[type=text],
.formArea .basicTable input[type=email],
.formArea .basicTable input[type=tel],
.formArea .basicTable select{
	padding: 8px;
	width:100%;
}
.formArea .basicTable textarea{
	padding: 8px;
	width: 100% !important;
}
.formArea .basicTable dt{
	width: 25%;
}
.formArea .basicTable dd{
	width: 75%;
}
.formArea .basicTable dt.fullWidth{
	width: 100%;
	justify-content: center;
	border: solid #ffffff;
	border-width: 10px 10px 0 10px;
}
.formArea .basicTable dd.fullWidth{
	width: 100%;
}
.formArea #fpay[style^="display: block;"],
.formArea #fpay2[style^="display: block;"]{
 display: flex !important;
}
.formArea #fpay dt,
.formArea #fpay2 dt{
 flex-flow: column;
 align-items: flex-start;
}
.confirm {
		margin-top: 40px;
}
.formFoot{
 margin:40px 0 0;
}

/* =======================================
	privacypolicy
========================================== */
#privacyMain ol li,
#privacyMain ul li{
  margin-left: 2.5em;
  text-indent: -2.5em;
}
#privacyMain .h4Tit{
	font-size: min(2.5vw,2.2rem);
}

/* =======================================
	service policy
========================================== */
.btnList li{
	width: calc((100% - 16px) / 2);
}
.btnList li a,
.btnList li a.icOther{
	padding: 10px 50px 10px 20px;
}