@charset "utf-8";
/* CSS Document */

.sp{display: none;}
.pc{display: block;}
.header__container--sp{
 display: none;
}
.footer--fix{
 display: none;
}

.mgb0{
	margin-bottom: 0!important;
}
#header {
    width: 100%;
    height: auto;
    position: fixed;
    z-index: 9990;
    background-color: #fff;
    top: 0;
    left: 0;
}
.header--insert{
 width: 100%;
 height: 110px;
 position: relative;
}

article#main_contents{
 padding-top: 160px;
}

#mv{
 position: relative;
}

#mv .time{
 width: 560px;
 /*height: 280px;*/
 position: absolute;
 right: 0;
 bottom: 0;
 background-color: #fff;
 padding: 25px;
 border-radius: 5px 0 0 0;
 z-index: 10;
}
#mv .time dl{
 margin: 0 0 10px 0;
}
#mv .time dl dd span{
 color: #E6A3A6;
}
.mv_box{
 position: relative;
 padding: 45px 50px 50px;
     background: linear-gradient(180deg, #D1ECFF 0%, #D1ECFF 50%, #fff 50%, #fff 100%);
}
.mv_slide{
 
}
.slide_in{
	position: relative;
}
.mv_slide .slick-arrow {
    top: 50%!important;
    transform: translate(0, 0)!important;
    -webkit-transform: translate(0, 0)!important;
    -ms-transform: translate(0, 0)!important;
}
.mv_slide .img {
    width: 100%;
    height: calc(100vh - 255px);
    padding-top: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.mv_txt{
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-50%);
 transform: translateY(-50%) translateX(-50%);
 width: 90%;
 z-index:15;
 vertical-align: middle;
 text-align: left;
 color: #fff;
 text-shadow: 1px 1px 1px rgb(0 0 0 / 90%);
}
#mv .overlay{
	position: absolute;
	display: block;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	background-color: rgba(0,0,0,0.1);
	z-index: 3;
}
.mv_txt02 {
 font-size: 60px;
 color: #fff;
}
.mv_txt p{
 color: #fff;
 line-height: 1.3;
}
main{
 padding: 80px 0 120px 0;
 font-size: 18px;
 letter-spacing: 0.12em;
 text-align: justify;
 font-weight: 300;
}
.insert{
 width: 1100px;
 margin: 0 auto;
 position: relative;
}
.bread {
	margin: 0 auto;
	font-size: 13px;
	padding: 12px 0;
	background-color: #D1ECFF;
}
.bread ul{
 width: 1100px;
 margin: 0 auto;
}
.bread ul li {
    display: inline;
}
.bread ul li+li::before {
    content: ' / ';
    margin: 0 5px;
    color: #999;
}
.bread ul li span{color: #999;}

.cover{
 position: absolute;
 display: block;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 z-index: 2;
}

.mv--container{
 padding: 185px 25px 25px;
}
.mv{
 height: 200px;
 position: relative;
}
.mv img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}

.title{
 text-align: center;
 margin-bottom: 40px;
 text-shadow: 1px 1px 1px rgb(255 255 255 / 95%);
}
.title h1,
.title h2,
.title p{
 font-weight: 600;
 font-size: 45px;
 text-align: center;
 line-height: 1;
 letter-spacing: 0.1em;
 color: #007DD6;
}
.title .eng{
    font-size: 25px;
    display: block;
    line-height: 1;
    color: #007DD6;
    margin-top: 10px;
    font-weight: 800;
}
.mv .title{
 margin-bottom: 0;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translateY(-50%) translateX(-50%);
 transform: translateY(-50%) translateX(-50%);
 width: 95%;
 z-index:1;
 text-align: center;
 vertical-align: middle;
}

/*.title.white h1,
.title.white h2{
 color: #fff;
}
.title.white .eng,
.title.white .eng{
 color: #fff;
}*/

.lead{
 text-align: center;
 margin: 0 0 60px 0;
}
.lead h3{
	font-size: 24px;
	font-weight: 700;
	color: #195A88;
	margin: 0 0 20px 0;
}
.lead p{
	margin: 0 0 15px 0;
}
.lead p.md{
 font-size: 27px;
 font-weight: 500;
 line-height: 130%;
 margin: 0 0 15px 0;
}

.mailform dl{
 display: flex;
 justify-content: space-between;
}
.mailform dl dt{
 border-top: 1px solid #367CD0;
 width: 220px;
 padding: 40px 0;
 display: flex;
 align-items: center;
}
.mailform dl dd{
 border-top: 1px solid #DDDDDD;
 width: calc(100% - 220px);
 padding: 40px 0;
}
.mailform dl dd p{
 font-size: 13px;
 margin: 10px 0 0 0;
 color: #999;
}

span.require{
 display: inline-block;
 font-size: 12px;
 padding: 5px 7px;
 background-color: #D84040;
 color: #fff;
 line-height: 1;
 border-radius: 2px;
 margin: 0 7px 0 0;
}
span.any{
 display: inline-block;
 font-size: 12px;
 padding: 5px 7px;
 background-color: #DDDDDD;
 color: #999;
 line-height: 1;
 border-radius: 2px;
 margin: 0 7px 0 0;
}

input[type="text"],
input[type="tel"] ,
input[type="email"] {
-webkit-appearance: none;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #F1F1F1;
box-shadow: 0 0 0 0;
padding: 18px 20px;
border-radius: 0px;
background-color: #F1F1F1;
outline: 0;
font-size: inherit;
}
input:focus{
 border: 1px solid #007DD6;
 background-color: #fff;
}

textarea {
-webkit-appearance: none;
border: none;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #F1F1F1;
background-color: #F1F1F1;
width: 100%;
height: 250px;
outline: 0;
padding: 20px;
font-size: inherit;
}
textarea:focus{
 border: 1px solid #007DD6;
 background-color: #fff;
}

.policy{
	width: 100%;
	height: 200px;
	border: 1px solid #ddd;
	overflow: hidden;
	overflow-y: scroll;
	margin: 30px 0 50px;
	padding: 40px 30px;
}
.policy .title{
 font-size: 20px;
 font-weight: 600;
 margin: 0 0 15px 0;
}
.policy .desc p{
 margin: 0 0 20px 0;
}
.policy .desc .md{
 font-weight: 700;
 margin: 0 0 5px 0;
}
.policy .desc ul{
 margin: 0 0 30px 0;
}
.policy .desc ul li{
 list-style-type: disc;
 margin: 0 0 0 20px;
}
.agree{
 text-align: center;
}
.agree .box{
 background-color: #F1F1F1;
 text-align: center;
 width: 400px;
 padding: 15px 0;
 display: inline-block;
}
.submit-button{
 margin: 50px 0 0 0;
}
.submit{
 -webkit-appearance: none;
 font-size: 17px;
 font-weight: bold;
 padding: 20px 0px;
 background-color: #195A88;
 color: #fff;
 border-style: none;
 width: 100%;
 border: 1px solid #195A88;
 -webkit-appearance: none;
 cursor: pointer;
}
.submit:hover{opacity: 0.8;}


.title-information{
 width: 450px;
 color: #195A88;
}

.title-information .eng{
 font-weight: 600;
 font-size: 38px;
 line-height: 1;
 letter-spacing: 0em;
 color: #195A88;
}
.title-information h2{
 color: #195A88;
 font-weight: 600;
 letter-spacing: 0.05em;
 margin: 10px 0 0 0;
}
hr{
	border: 0;
 height: 0;
 border-bottom: 4px solid #2D5984;
 width:100px;
 margin: 30px 0;
}
.entry-list{
 width: calc(100% - 450px);
}
.category > ul > li{
 width: calc(100% / 4);
 text-align: center;
 border-right: 1px solid #ddd;
}
.category > ul > li:nth-child(2).active span{
	background-color: #e77218!important;
}
.category > ul > li:nth-child(3).active span{
	background-color: #35b84d!important;
}
.category > ul > li:nth-child(4).active span{
	background-color: #007DD6!important;
}
.category > ul > li:last-child{
 border: none;
}
.category > ul > li span{
 display: block;
 background-color: #F1F1F1;
 padding: 18px 0;
}
.category > ul > li.active span{
 background-color: #195A88;
 color: #fff;
}

.entry-list .list dl{
 padding: 30px 0px;
 border-bottom: 1px solid #ddd;
 position: relative;
}
.entry-list .list dl:last-child{
 border:none;
}
.entry-list .list dl dt{
 font-size: 17px;
 letter-spacing: 0;
 color: #777777;
 margin: 0 0 5px 0;
 display: flex;
 align-items: center;
}
.entry-list .list dl dt span{
	margin: 0 0 0 7px;
}
.entry-list .list dl dd{
 font-size: 17px;
 letter-spacing: 0.05em;
}

.archiver--insert{
 position: absolute;
 left: 0;
 top: 150px;
}
.archiver--insert h3{
 margin: 0 0 10px 0;
}
.archiver--insert select{
/*-webkit-appearance: none;
-moz-appearance: none;
appearance: none;*/
box-shadow: none;
background: #fff;
border: 1px solid #ddd;
border-radius: 2px;
color: #000;
font-size:inherit;
width: 250px;
height: 50px;
text-align: left;
text-indent: 15px;
vertical-align: middle;
background-size: 10px 7px;
background-position: right 10px center;
}

.title-entry{
 text-align: center;
 margin: 0 0 40px 0;
}
.cat span{
 display: inline-block;
 color: #fff;
 font-size: 16px;
 background-color: #195A88;
 line-height: 1;
 padding: 10px 20px;
 border-radius: 3px;
}
.cat span.news{
 background-color: #e77218;
}
.cat span.blog{
 background-color: #35b84d;
}
.cat span.recruitment{
 background-color: #007DD6;
}
.title-entry h1,
.title-entry h2{
 font-weight: 700;
 font-size: 25px;
 margin: 20px 0 0px 0;
}
.title-entry .date{
 font-size: 16px;
 left: 0.05em;
 color: #777;
}

.entry--insert{
 margin: 0 50px;
 background-color: #D1ECFF;
 border-radius: 5px;
 padding: 50px 0;
}
.entry-single{
 width: 1000px;
 margin: 0 auto;
 background-color: #fff;
 padding: 50px 70px;
 font-size: 18px;
}
.entry-single p{
 margin: 15px 0;
}
.entry-single img{
 max-width: 100%;
 width: auto;
 height: auto;
 margin: 15px 0;
}
.aligncenter {
     display: flex;
    justify-content: center;
        margin: 15px auto!important;
}

.bt-flex{
	margin: 50px auto 0;
	width: 600px;
	display: flex;
	justify-content: space-between;
}
.bt-flex .btBack{
	width: 48%;
	margin: 0;
}
.btBack{
 width: 320px;
 text-align: center;
 margin: 50px auto 0;
}
.btBack span{
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 6px;
 position: relative;
 padding: 20px 12px;
 line-height: 1;
 background-color: #195A88;
 border: 1px solid #195A88;
 color: #fff;
 border-radius: 3px;
 transition: all .3s ease-in-out;
}
.btBack span i{
 color: #fff;
 flex-shrink: 0;
}
.btBack span:hover{
 background-color: #fff;
 color: #195A88;
}
.btBack span:hover i{
 color: #195A88;
}

.title-line{
 text-align: center;
 margin: 0 0 90px 0;
}
.title-line .eng{
 font-size: 25px;
 display: block;
 line-height: 1;
 color: #195A88;
 margin-top: 10px;
 font-weight: 800;
 margin: 0 0 30px 0;
}
.title-line h2{
 position: relative;
 font-weight: 600;
 font-size: 55px;
 text-align: center;
 line-height: 1.3;
 letter-spacing: 0.05em;
 color: #195A88;
}
.title-line h2::after{
 content: '';
 width: 1px;
 height: 50px;
 background-color: #000;
 position: absolute;
 bottom: -60px;
 left: 50%;
 -webkit-transform: translateX(-50%);
 transform: translateX(-50%);
}

.titleLineLeft{
 text-align: left;
 position: relative;
 margin: 0 0 30px 0;
}
.titleLineLeft::after{
 content: '';
 width: 100%;
 height: 1px;
 background-color: #ddd;
 position: absolute;
 top: 22px;
 left: 0;
 z-index: -1;
}
.titleLineLeft .box{
 display: inline-block;
 background-color: #fff;
 padding: 0 20px 0 0;
}
.titleLineLeft .box h2{
 position: relative;
 font-weight: 600;
 font-size: 50px;
 line-height: 1;
 letter-spacing: 0.05em;
 color: #195A88;
}
.titleLineLeft .box  .eng {
    font-size: 25px;
    display: block;
    line-height: 1;
    color: #195A88;
    margin-top: 10px;
    font-weight: 800;
    margin: 15px 0 0px 0;
}

.clinicInfo p{
 font-size: 22px;
 font-weight: 600;
 width: 360px;
}
.c-prof{
 width: calc(100% - 450px);
}
.c-prof dl{
 display: flex;
 justify-content: space-between;
 margin: 0 0 10px 0;
}
.c-prof dl dt{
 width: 150px;
}
.c-prof dl dd{
 width: calc(100% - 150px);
}

.about-col2{
 margin: 70px 0 0 0;
 gap:50px 0;
}
.about-col2 .item{
 width: 47%;
 text-align: center;
 position: relative;
}
.about-col2 .item .pic{
 height: 320px;
}
.about-col2 .item .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.about-col2 .item p{
 font-weight: 700;
 font-size: 26px;
 margin: 15px 0 0 0;
}


.recruitment .md{
 width: 300px;
 border-top: 1px solid #367CD0;
 padding: 40px 0 0 0;
 font-size: 32px;
 font-weight: 700;
 line-height: 1.4;
}

.recruitment .list{
 width: 750px;
 border-top: 1px solid #ddd;
 padding: 40px 0 0 0;
}

.recruitment table {
    width: 100%;
    border-collapse: collapse;
}
.recruitment table tbody tr {
 border: none;
    border-bottom: 10px solid #fff;
}

.recruitment table tr td {
    padding: 12px 20px;
    vertical-align: middle;
    text-align: left;
    font-size: 16px;
    letter-spacing: 0.05em;
}
.recruitment table tbody tr th{
  width: 200px;
  padding: 12px 0px;
  vertical-align: middle;
  text-align: center;
  background-color: #ECF2F2;
  font-size: 16px;
  letter-spacing: 0.03em;
}


.nav-link{
 background-color: #F1F1F1;
 padding: 80px 0;
}

.nav-col4{
 padding: 0 50px;
 margin: 0 auto;
}
.nav-col4 .item{
 width: 24%;
 text-align: center;
 position: relative;
}
.nav-col4 .item .pic{
 height: 220px;
}
.nav-col4 .item .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.nav-col4 .item p{
 font-size: 18px;
 margin: 15px 0 0 0;
}

.map{
 width: 80%;
 min-width: 1100px;
 margin: 0 auto;
}
.map iframe{
 width: 100%;
 height: 500px;
}

.btGroup{
 width: 900px;
 margin: 50px auto;
}
.btGroup .btn{
 width: 32%;
 text-align: center;
}
.btGroup .btn span{
 display: block;
 position: relative;
 background-color: #195A88;
 border: 1px solid #195A88;
 color: #fff;
 border-radius: 3px;
 font-size: 16px;
 font-weight: normal;
 letter-spacing: 0.05em;
 padding: 12px 0;
 transition: all .3s ease-in-out;
}
.btGroup .btn span i{
 color: #fff;
 position: absolute;
 right: 10px;
}
.btGroup .btn span:hover{
 background-color: #fff;
 color: #195A88;
}
.btGroup .btn span:hover i{
 color: #fff;
}

.addr{
 text-align: center;
}
.addr .mark img{
 height: 128px;
 width: auto;
}
.addr p{
 margin: 15px 0 0 0;
}

.access-info{
 margin: 70px 0 0 0;
}
.access-info .box{
 border-top: 1px solid #ddd;
 padding: 30px 0 0 0;
 width: 48%;
}
.access-info .box dl{
 margin: 0 0 20px 0;
}
.access-info .box dl dt{
 font-size: 20px;
 font-weight: 700;
 color: #195A88;
}
.access-info .box dl dd span{
 color: #CE7F83;
}


.time table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}
.time table thead tr {
    border: 1px solid #ddd;
}
.time table tbody tr {
    border: 1px solid #ddd;
}

.time table thead tr td {
    padding: 5px 2px;
    vertical-align: middle;
    text-align: center;
    background-color: #ECF2F2;
    border: 1px solid #ddd;
}
.time table thead tr td.sat,
.time table thead tr th.sat{
 background-color: #BEDAE8;
}
.time table thead tr td.sun,
.time table thead tr th.sun{
 background-color: #E6A3A6;
}
.time table thead tr th{
  padding: 5px 2px;
  vertical-align: middle;
  text-align: center;
  border: 1px solid #ddd;
  background-color: #ECF2F2;
  line-height: 1;
}
.time table th.time{
	font-size: 14px;
}

.time table tbody tr td {
    padding: 12px 2px;
    vertical-align: middle;
    text-align: center;
    background-color: #fff;
    border: 1px solid #ddd;
  line-height: 150%;
}
.time table tbody tr td span{
	display: block;
	font-size: 13px;
	line-height: 150%;
}
.time table tbody tr th{
  padding: 12px 2px;
  vertical-align: middle;
  text-align: center;
  background-color: #fff;
  border: 1px solid #ddd;
  line-height: 150%;
}
.time table tbody tr td.hlf{
 color: #999;
}
.time .notice{
 font-size: 14px;
 color: #777;
 margin: 10px 0 0 0;
}
.time-home{
	margin: 0 0 30px 0;
}
.time-home dl{
	margin: 0 0 10px 0;
}
.time-home dl dt {
    font-size: 20px;
    font-weight: 700;
    color: #195A88;
    text-align: center;
}
.time-home dl dd{
	text-align: center;
}
.time-home dl dd span{
	color: #CE7F83;
}
.time-home table{
	width: 100%;
    table-layout: fixed;
}
.time-home .notice{
	text-align: left;
}

.circle{
	position: absolute;
	right: 70px;
	bottom: 70px;
	z-index: 2;
}
.circle img{
	height: 180px;
	width: auto;
}

.staff{
 margin: 0 0 120px 0;
}
.staff:last-child{
 margin: 0;
}
.staff .name {
 color: #195A88;
 margin: 0 0 30px 0;
 text-align: center;
}
.staff .name p{
 font-size: 21px;
 color: #195A88;
 margin: 0 0 10px 0;
 line-height: 1;
}
.staff .name h3{
 font-size: 50px;
 color: #195A88;
 margin: 0;
 line-height: 1;
}
.staff{
 padding: 80px 0 0 0;
 position: relative;
}
.staff::before{
 content: '';
 display: block;
 position: absolute;
 top: 0;
 left: 50px;
 right: 50px;
 height: 300px;
 background-color: #D1ECFF;
 z-index: -1;
}
.bio .pic img{
 width: 100%;
 height: auto;
}
.bio .pic{
 width: 48%;
}
.message{
 width: 48%;
}
.message .md{
 font-size: 38px;
 font-weight: 700;
 display: flex;
 align-items: center;
 margin: 30px 0 40px 0;
}
.message .md span{
 font-size: 18px;
 display: inline-block;
 margin: 0 0 0 10px;
}
.message p{
 margin: 20px 0;
 font-size: 18px;
 line-height: 180%;
}

.message .box .md{
 margin: 50px 0 10px 0;
}
.message .box dl{
 display: flex;
 justify-content: space-between;
 font-size: 17px;
 margin: 0 0 12px 0;
}
.message .box dl dt{
 width: 150px;
}
.message .box dl dd{
 width: calc(100% - 150px);
}

.staff-profile{
 margin: 50px 0 0 0;
}
.staff-profile .box{
 width: 48%;
 overflow: hidden;
}

.staff-profile .md{
 font-size: 36px;
 font-weight: 700;
 margin: 0 0 15px 0;
 position: relative;
}
.staff-profile .md span{
 font-size: 18px;
 display: inline-block;
 margin: 0 0 0 10px;
}
.staff-profile .md::after{
 content: '';
 display: block;
 width: 100%;
 height: 1px;
 background-color: #ddd;
 position: absolute;
 z-index: 0;
 left: 0;
 top: 30px;
}
.staff-profile .md .blk{
 display: inline-block;
 background-color: #fff;
 padding: 0 20px 0 0;
 position: relative;
 z-index: 2;
}
.license{
 margin: 0 0 30px 0;
}

.staff-profile .box dl{
 display: flex;
 justify-content: space-between;
 font-size: 17px;
 margin: 0 0 12px 0;
}
.staff-profile .box dl dt{
 width: 180px;
}
.staff-profile .box dl dd{
 width: calc(100% - 180px);
}

.takeItem--container{
 margin: 0 0 100px 0;
}
.takeItem-list{
 gap:30px 0;
}
.takeItem-list::after{
 content: '';
 display: block;
 width: 23%;
}
.takeItem-list .item{
 width: 23%;
 text-align: center;
 background-color: #fff;
 border: 1px solid #eee;
 display: flex;
 align-items: center;
 justify-content: center;
 height: 120px;
 box-shadow:0px 4px 20px rgb(0 0 0 / 20%);
}
.takeItem-list .item span{
 color: #195A88;
 font-weight: 700;
}
.takeItem-list .item span small{
 color: #195A88;
 font-weight: 700;
 font-size: 13px;
 position: absolute;
}
.takeItem--container .notice{
 margin: 30px 0 0 0;
 font-size: 15px;
 color: #777;
}

.step-list .step{
 display: flex;
 justify-content: space-between;
 margin: 0 0 70px 0;
}
.step-list .step:last-child{
 margin: 0 0 0px 0;
}
.step-list .step .title-step{
 width: 300px;
 border-top: 1px solid #367CD0;
 padding: 40px 0 0 0;
}
.step-list .step .title-step h3,
.step-list .step .title-step p{
 font-size: 32px;
 font-weight: 700;
 line-height: 1;
}
.step-list .step .title-step .num{
 color: #195A88;
 display: flex;
 align-items: center;
 font-size: 20px;
}
.step-list .step .title-step .num span{
 font-size: 35px;
 color: #195A88;
 font-weight: 700;
 letter-spacing: 0;
 margin: 0 0 0 5px;
 display: inline-block;
}
.step-list .step .block{
 border-top: 1px solid #ddd;
 width: 750px;
 padding: 40px 0 0 0;
 flex-direction: row-reverse;
}
.step-list .step .block .pic{
 width: 300px;
 height: 250px;
}
.step-list .step .block .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.step-list .step .block .txt{
 width: calc(100% - 330px);
}
.step-list .step .block .txt .txt{
 width: 100%;
}
.step-list .step .block .txt .bt{
 width: 280px;
 text-align: center;
 margin: 30px 0 0 0;
}
.bt-n{
 width: 280px;
 text-align: center;
 margin: 30px auto 0;
}
.bt-n span{
	display: block;
 position: relative;
 line-height: 1;
 padding: 15px 0;
 border-radius: 3px;
 font-size: 17px;
 letter-spacing: 0.05em;
 background-color: #195A88;
 border: 1px solid #195A88;
 color: #fff;
 transition: all .3s ease-in-out;
}
.bt-reserve span{
	background-color: #eb6b72!important;
	border: 1px solid #eb6b72!important;
}
.bt-reserve:hover span{
	background-color: #fff!important;
	border: 1px solid #eb6b72!important;
	color: #eb6b72!important;
}
.step-list .step .block .txt span.notice{
	display: block;
	margin: 10px 0 0 0;
	font-size: 14px;
	color: #777;
}
.step-list .step .block .txt .bt span{
 display: block;
 position: relative;
 line-height: 1;
 padding: 15px 0;
 border-radius: 3px;
 font-size: 17px;
 letter-spacing: 0.05em;
 background-color: #195A88;
 border: 1px solid #195A88;
 color: #fff;
 transition: all .3s ease-in-out;
}
.step-list .step .block .txt .bt span:hover{
 background-color: #fff;
 border: 1px solid #195A88;
 color: #195A88;
}
.step-list .step .block .txt .bt span i{
 position: absolute;
 right: 10px;
 color: #fff;
 top: 10px;
}
.step-list .step .block .txt .bt span:hover i{
 color: #195A88;
}
.step-list .step .block .txt ul{
 margin: 12px 0 0 0;
}
.step-list .step .block .txt ul li{
 display: flex;
 align-items: center;
}
.step-list .step .block .txt ul li i{
 color: #195A88;
}
.step-list p.leadtxt{
	margin: 0 0 35px 0;
}

.step--container{
 margin: 0 0 120px 0;
}

.faq{
 margin: 30px 0 40px;
}
.faq-list dl{margin: 0 0 15px 0;}
.faq-list dt {
   background-color: #F4F8FE;
   padding: 35px 25px 35px 70px;
   cursor: pointer;
   position: relative;
   font-size: 17px;
}
.faq-list dt span{
 font-family: din-2014,sans-serif;
 font-weight: 700;
 font-size: 35px;
 color: #007DD6;
 position: absolute;
 left: 25px;
 top: 20px;
 
}
.faq-list dt:before {
 display: block;
 content: "\FF0B";
 position: absolute;
 top: 35%;
 right: 15px;
 font-weight: bold;
}
.faq-list dt.active:before {
 content: "\FF0D";
}
.faq-list dd {
 padding: 0 25px 0 70px;
 display: none;
 position: relative;
 background-color: #F4F8FE;
}

.answer{
 border-top: 1px solid #ddd;
 padding: 35px 0;
 font-size: 17px;
 line-height: 180%;
 position: relative;
}
.faq-list dd .answer span{
 font-family: din-2014,sans-serif;
 font-weight: 700;
 font-size: 35px;
 color: #FE0000;
 position: absolute;
 left: -45px;
 top: 20px;
}
.answer ul{
	margin: 15px 0;
}
.answer ul li{
	list-style-type: disc;
	margin: 0 0 0 20px;
}
.answer .bt{
	width: 300px;
	margin: 15px 0 0 50px;
	left: auto;
}
.answer .bt span{
 display: block;
 position: relative;
 line-height: 1;
 padding: 15px 0;
 border-radius: 3px;
 font-size: 17px!important;
 letter-spacing: 0.05em;
 background-color: #195A88;
 border: 1px solid #195A88;
 color: #fff!important;
 transition: all .3s ease-in-out;
 position: relative!important;
 text-align: center;
 
}
.answer .bt span:hover{
 background-color: #fff;
 border: 1px solid #195A88;
 color: #195A88!important;
}
.answer .bt span i{
 position: absolute;
 right: 10px;
 color: #fff;
 top: 10px;
}
.answer .bt span:hover i{
 color: #195A88!important;
}


.guide-group{
 margin: 0 0 80px 0;
}
.guide-group:last-child{
 margin: 0;
}
.guide-group h2{
 border-top: 1px solid #ddd;
 font-size: 36px;
 font-weight: 700;
 padding: 50px 0 0 0;
 margin: 0 0 20px 0;
}
.guide-group ul li{
 width: 32%;
 text-align: center;
 margin: 0 0 2% 0;
}
.guide-group ul li span{
 display: block;
 color: #fff;
 background-color: #195A88;
 border: 1px solid #195A88;
 font-size: 17px;
 letter-spacing: 0.05em;
 padding: 10px 0;
 transition: all .3s ease-in-out;
}
.guide-group ul::after{
 content: '';
 display: block;
 width: 32%;
}
.guide-group ul li span:hover{
 color: #195A88;
 background-color: #fff;
}

.title-page{
 text-align: center;
 margin: 0 0 40px 0;
}
.title-page h1,
.title-page h2{
 position: relative;
 font-weight: 600;
 font-size: 55px;
 text-align: center;
 line-height: 1;
 letter-spacing: 0.05em;
 color: #195A88;
}
.title-page p.sv{
 margin: 0 0 20px 0;
}
.title-page p.sv span{
 font-size: 22px;
 letter-spacing: 0.05em;
 color: #195A88;
 font-weight: 600;
 display: inline-block;
 padding: 5px 0;
 border-top: 1px solid #2D5984;
 border-bottom: 1px solid #2D5984;
}

.mokuji-sec{
 width: 1100px;
 margin: 0 auto 100px;
 border: 1px solid #ddd;
}
.mokuji--insert{
 padding: 30px 100px;
}
.mokuji--insert .md{
 text-align: center;
 font-size: 25px;
 font-weight: 600;
}
.mokuji--insert ul li{
 border-bottom: 1px solid #ddd;
 list-style-type: decimal;
 margin: 0 0 0 20px;
}
.mokuji--insert ul li:last-child{
 border: none;
}
.mokuji--insert ul li span{
 display: block;
 padding: 10px 0;
 font-weight: 700;
}
.mokuji--insert ul ul{
 padding: 0 0 0 30px;
}
.mokuji--insert ul ul li{
 list-style-type:disc;
}
.mokuji--insert ul ul li span{
 padding: 7px 0;
 font-weight: normal;
}

.layout{
 width: 1100px;
 margin: 0 auto;
}

.layout h2{
 font-size: 28px;
 font-weight: 700;
 border-top: 5px solid #ddd;
 padding: 50px 0 0 0;
 position: relative;
 margin: 80px 0 40px 0;
}
.layout h2::before{
 content: '';
 display: block;
 height: 5px;
 width: 250px;
 background-color: #195A88;
 position: absolute;
 z-index: 1;
 top: -5px;
 left: 0;
}

.layoutPicTxt{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin: 50px 0;
}
.layoutPicTxt .pic{
 width: 525px;
 height: 320px;
}
.layoutPicTxt .pic img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}
.layoutPicTxt .txt{
 width: 525px;
 display: flex;
 align-items: center;
}
.layoutPicTxt .txt .inn h3{
 font-size: 25px;
 font-weight: 600;
 line-height: 130%;
 margin: 0 0 10px 0;
 background-color: #fff;
 padding: 0;
}
.layoutPicTxt .txt .inn span{
	display: block;
	margin: 10px 0 0 0;
	font-size: 14px;
	color: #777;
}

.layoutPicTxt.even{
 flex-direction: row-reverse;
}

.layoutTable{
 margin: 50px 0;
}
.layoutTable table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.recruitment table tr {
    border: 1px solid #ddd;
}
.layoutTable table thead tr th{
  padding: 12px 20px;
  text-align: center;
  vertical-align: middle;
  background-color: #ECF2F2;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.03em;
  border: 1px solid #ddd;
}
.layoutTable table thead tr td{
  padding: 12px 20px;
  text-align: center;
  vertical-align: middle;
  background-color: #fff;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.03em;
  border: 1px solid #ddd;
}
.layoutTable table tbody tr th{
  width: 200px;
  padding: 12px 30px;
  vertical-align: middle;
  background-color: #ECF2F2;
  font-size: 16px;
  letter-spacing: 0.03em;
  color: #195A88;
  font-weight: 600;
  border: 1px solid #ddd;
}
.layoutTable table tr td {
    padding: 12px 20px;
    vertical-align: middle;
    text-align: left;
    font-size: 16px;
    letter-spacing: 0.05em;
    border: 1px solid #ddd;
}
.layoutTable table tr td ul li{
	list-style-type: disc;
	margin: 0 0 0 20px;
}
.layoutTable p.notice{
	font-size: 15px;
	padding: 15px 0;
}

.layout h3{
 background-color: #D1ECFF;
 padding: 10px 20px;
 font-size: 22px;
 font-weight: 700;
 margin: 50px 0 30px;
}
.layout .textarea{
 margin: 30px 0 40px;
}
.layout .textarea p{
 margin: 15px 0;
}

.layout + .btBack{
 margin-top: 80px;
}

.dotList{
 margin: 30px 0;
}
.dotList ul li{
 list-style-type: none;
 margin: 5px 0 5px 0px;
 padding: 0 0 0 30px;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath d='M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM11.0026 16L18.0737 8.92893L16.6595 7.51472L11.0026 13.1716L8.17421 10.3431L6.75999 11.7574L11.0026 16Z' fill='rgba(25,90,136,1)'%3E%3C/path%3E%3C/svg%3E");
 background-repeat: no-repeat;
 background-position: left 4px;
}
.dotList.col2 ul{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
}
.dotList.col2 ul li{
 width: 48%;
}

.layoutStep{
 margin: 50px 0;
}

.mv-page{
 width: 80%;
 min-width: 1100px;
 height: 500px;
 margin: 0 auto 50px;
}
.mv-page img{
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: 50% 50%;
}

.mgb100{
 margin-bottom: 100px;
}
.mgb130{
 margin-bottom: 130px;
}
.guide-group ul.col2 li {
    width: 49%;
    text-align: left;
    margin: 0 0 2% 0;
}
.guide-group ul.col2 li span{
 position: relative;
 padding: 10px 35px 10px 20px;
}
.guide-group ul.col2 li span i{
 color: #fff;
 position: absolute;
 right: 10px;
 top: 50%;
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
 text-align: center;
 vertical-align: middle;
}
.guide-group ul.col2 li span:hover i{
 color: #195A88;
}

.movie{
 width: 1100px;
 margin: 0 auto;
}
.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; }
.embed-container iframe,
.embed-container object,
.embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.center{
 text-align: center;
}
.bg-blue{
 background-color: #D1ECFF!important;
}

.md-left{
 margin: 0 0 50px 0;
}
.md-left p{
 font-size: 40px;
 color: #195A88;
 font-weight: 600;
 line-height: 1;
}
.md-left .eng{
 font-size: 25px;
 color: #195A88;
 font-weight: 600;
 line-height: 1;
 margin: 10px 0 0 0;
}

.product-list .item{
 position: relative;
 width: 23%;
 margin: 0 0 4% 0;
}
.product-list .item .pic{
 border: 1px solid #ddd;
 margin: 0 0 15px 0;
}
.product-list .item .pic img{
 width: 100%;
 height: auto;
}
.product-list .item p{
 font-size: 16px;
 line-height: 1.5;
}

.homeNews--container{
 padding: 30px 0 80px;
}
.headline{
 background-color: #D1ECFF;
 padding: 25px;
}
.headline > .flex{
 flex-wrap: nowrap;
  gap:0 15px;
}
.headline .day{
 width: 100%;
 background-color: #fff;
 padding: 15px 25px;
 box-shadow:0px 4px 20px rgb(0 0 0 / 20%);
 display: flex;
 justify-content:space-between;
 align-items: center;
 border-radius: 4px;
}
.headline .day .today{
 width: 200px;
 border-right: 1px solid #ddd;
 color: #195A88;
}
.headline .day p{
 color: #195A88;
 width: calc(100% - 250px);
}
.headline .open{
 max-width: calc(100% - 660px);
 width: 100%;
 padding: 15px 15px;
 background-color: #fff;
 color: #195A88;
 border-radius: 4px;
 box-shadow:0px 4px 20px rgb(0 0 0 / 20%);
}
.headline .open dl{
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.headline .open dl dt{
 text-align: center;
 width: 125px;
 background-color: #195A88;
 color: #fff;
}
.headline .open dl dd{
 width: calc(100% - 140px);
 color: #195A88;
}
.homeNews-list{
 margin: 50px 0 0 0;
 position: relative;
}
.homeNews-list .title-information{
 width: 325px;
}
.homeNews-list .title-information h2{
 font-size: 50px;
}
.homeNews-list .title-information .eng{
 font-size: 25px;
}
.homeNews-list .entry-list{
 width: calc(100% - 325px);
}
.view-news span{
 display: inline-block;
 border-bottom: 1px solid #2D5984;
 color: #2D5984;
}
.view-news a{
 display: flex;
 align-items: center;
}

.homeBnr--container{
 background-color: #F4F8FE;
 padding: 50px 0;
}
.homeBnr--container .insert .bnr{
 width: 49%;
}
.homeBnr--container .insert .bnr img{
 width: 100%;
 height: auto;
}

.tab{
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.tab li{
 width: calc(100% / 3);
 cursor: pointer;
 text-align: center;
 position: relative;
 padding:16px 0;
 font-size: 18px;
 background-color: #F1F1F1;
 border-right: 1px solid #ddd;
}
.tab li.select{
 background:#195A88;
 color:#fff;
}
.tab li.select::after {
  border-top: 12px solid #195A88;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  content: '';
  margin-left: -10px;
  position: absolute;
  bottom: -12px;
  left: 50%;
}
.hide {display:none;}
.content li{
 padding:30px 0 100px 0;
}
.content li .group{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 align-items: center;
 gap:20px 0;
}
.content li .group::after{
 content: '';
 display: block;
 width: 32%;
}
.content li .item{
 width: 32%;
 text-align: center;
}
.content li .item span{
 display: block;
 padding: 12px 0;
 background-color: #195A88;
 border: 1px solid #195A88;
 color: #fff;
 transition: all .3s ease-in-out;
}
.content li .item span:hover{
 background-color: #fff;
 color: #195A88;
}

.homeGuide--container{
 background-image: url(../../img/bg-guide-clinic.jpg); /* 自院手術室写真（プロ撮影・権利保有） */
 background-size: cover;
 background-position: center center;
 padding: 120px 0 100px;
 margin: 0 0 100px 0;
}
.homeGuide--container .insert .item{
 width: 19%;
 text-align: center;
}
.homeGuide--container .insert .item span{
 font-size: 20px;
 font-weight: 600;
 color: #195A88;
 background-color: #fff;
 padding: 25px 0;
 display: block;
 border: 1px solid #2D5984;
 border-radius: 4px;
 box-shadow:0px 4px 20px rgb(0 0 0 / 20%);
}


.wp-pagenavi{
 text-align: center;
 margin: 50px 0 0 0;
}
.wp-pagenavi a,
.wp-pagenavi span {
    text-decoration: none;
    display:inline-block;
    border: 1px solid #fff!important;
    padding: 3px 12px!important;
    margin: 2px;
    background-color: #fff;
}
.wp-pagenavi span.current {
    font-weight: normal!important;
    background-color: #000!important;
    border: 1px solid #000!important;
    color: #fff!important;
}

.pageBox .page-numbers{
  display: inline-block;
  background-color: #fff;
  border: 1px solid #ddd;
  padding: 3px 10px;
}
.pageBox .page-numbers.current{
  display: inline-block;
  background-color: #f0f0f0;
  border: 1px solid #ddd;
  padding: 3px 10px;
  color: #999;
}


.formErrorContent{
 width: 130px;
 text-align: center;
}

.lead-form{
 text-align: center;
 margin: 0 0 30px 0;
}

#formTBL tr:last-child{
 display: none;
}

.mailform table {
    width: 100%;
    border-collapse: collapse;
}
.mailform table tbody tr {
    border-top: 1px solid #eee;
}
.mailform table tbody tr th,
.mailform table tbody tr td {
    padding: 15px 0px;
    vertical-align: middle;
    text-align: left;
}
.mailform table tbody tr th{
  width: 230px;
  text-align: left;
  color: #195A88;
  font-weight: 600;
}
.mailform table tbody tr th span{
  display: inline-block;
  background-color: #f1f1f1;
  font-size: 12px;
  padding: 2px 6px;
  border-radius: 2px;
  margin-right: 15px;
  color: #999;
}
.mailform table tbody tr th  span.required{background-color: #dd0000;color: #fff;}


.formBt{
 -webkit-appearance: none;
 font-size: 17px;
 font-weight: bold;
 padding: 20px 0px;
 background-color: #195A88;
 color: #fff;
 border-style: none;
 width: 100%;
 border: 1px solid #195A88;
 -webkit-appearance: none;
 cursor: pointer;
}
.formBt:hover{
 opacity: 0.8;
}
.formBt:active{
 opacity: 0.8;
}

.formBtRewrite{
   -webkit-appearance: none;
 font-size: 17px;
 font-weight: bold;
 padding: 20px 0px;
 background-color: #eee;
 color: #999;
 border-style: none;
 width: 100%;
 border: 1px solid #eee;
 -webkit-appearance: none;
 cursor: pointer;

  margin-top: 10px;
}
.formBtOk{
  -webkit-appearance: none;
  font-size: 16px;
  font-weight: bold;
  padding: 13px 0px;
  background-color: #c9a063;
  color: #fff;
  border-style: none;
  width: 100%!important;
}

input:focus::-webkit-input-placeholder {
	color: transparent;
}
input:focus::-moz-placeholder {
	color: transparent;
}
input:focus::-ms-input-placeholder {
	color: transparent;
}
input:focus::placeholder {
	color: transparent;
}

.mgt0{
 margin-top: 0!important;
}

.guide-group ul.col2 li {
    width: 100%;
}

:target {
  scroll-margin-top:170px;
}

.notice-list ul li{
	list-style-type: disc;
	margin: 10px 0 10px 20px;
	font-size: 16px;
}
.txt100{
	width: 100%!important;
}
.txt100 .notice{
	margin: 10px 0 0 0;
	font-size: 15px;
	color: #777;
}

.no-recruit{
	background-color: #f1f1f1;
	border: 1px solid #ddd;
	width: 1000px;
	margin: 30px auto 0;
	padding: 30px;
	font-size: 20px;
	font-weight: bold;
}

.btm-contact{
	width: 300px;
	margin: 0 auto 30px;
}
.btm-contact span{
	color: #fff;
    padding: 8px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 5px;
    font-size: 16px;
    background-color: #195A88;
    border-radius: 4px;
    position: relative;
}
.btm-contact span i {
    color: #fff;
    font-size: 22px;
}


.recruit-list .pic img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
.recruit-list .pic{
	width: 80%;
	height: 450px;
	margin: 0 auto 70px;
}

.connection{
 margin: 50px 0 70px 0;
 background-color: #fbfdff;
 border: 1px solid #195A88;
 padding: 30px;
 border-radius: 2px;
}
.connection .md{
 font-size: 17px;
 font-weight: 700;
 margin: 0 0 10px 0;
 color: #195A88;
}
.connection ul li{
 position: relative;
 padding: 0 0 0 22px;
}
.connection ul li i{
 position: absolute;
 left: 0;
}
.connection ul li span{color: #195A88;}


.recruitment-list ul li{
	margin: 0 0 10px 0;
}
.recruitment-list ul li span{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap:5px;
	padding: 20px 15px;
	background-color: #fbfdff;
    border: 1px solid #195A88;
    border-radius: 4px;
    transition: all .3s ease-in-out;
}
.recruitment-list ul li:hover span{
	background-color: #fff;
	color: #195A88;
}

.homeNews--container .btGroup {
    width: 900px;
    margin: 0px auto 40px;
    justify-content: center;
}

.homeNews--container .btGroup .btn{
	width: 60%;
}

.time-memo{
	margin: 20px 0 0 0;
	padding: 20px;
	font-size: 14px;
	background-color: #e9f4fd;
}
.btm-contact.cal{
    margin: 20px auto 0px;
}

.mgt{
	margin-top: 100px;
}
.h-info{
	width: 1100px;
	margin: 50px auto 0;
}
.h-info dl{
	border-top: 1px solid #ddd;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	text-align: left;
	padding: 25px 0;
}
.h-info dl:last-child{
	border-bottom: 1px solid #ddd;
}
.h-info dl dt{
	width: 180px;
	font-weight: 700;
    color: #195A88;
}
.h-info dl dd{
	width: calc(100% - 180px);
}
.h-info dl a{
	text-decoration: underline;
	word-wrap: break-word;
}
.dow{
	display: flex;
	justify-content: flex-start;
	margin: 0 0 7px 0;
}
.dow:last-child{
	margin: 0;
}
.dow span{
	display: block;
	width: 80px;
}

.g-cal--container p{
	text-align: center;
}
.pic-col1 {
	width: 60%;
}
.pic-col1 .pic{
	position: relative;
	display: inline-block;
}
.pic-col1 img{
	width: 100%;
	height: auto;
}

.home-intro{
	background-color: #edf7ff;
	padding: 50px 0;
}
.home-intro--insert{
	width: 1100px;
    margin: 0 auto;
}
.home-intro--insert p{
	font-weight: normal;
}

.home-intro--insert h2{
	font-size: 25px;
	font-weight: 700;
	text-align: center;
	color: #195A88;
}
.home-intro--insert .box{
	margin: 20px 0;
}
.home-intro--insert .box h3{
	font-size: 19px;
	font-weight: 700;
	margin: 0 0 10px 0;
	border-top: 1px solid #ddd;
	padding: 20px 0 0 0;
	color: #195A88;
}

.privacypolicy--insert{
	width: 1100px;
	margin: 0 auto;
}

.privacypolicy--insert h2{
	text-align: center;
	margin: 0 0 30px 0;
	font-size: 30px;
	font-weight: 700;
}
.privacypolicy--insert .itm{
	margin: 50px 0 0 0;
}
.privacypolicy--insert .itm .ttl{
	font-size: 18px;
	font-weight: 700;
	position: relative;
	padding: 0 0 0 30px;
	margin: 0 0 12px 0;
}
.privacypolicy--insert .itm .ttl span{
	position: absolute;
	left: 0;
	top: 0;
}
.privacypolicy--insert .itm .list{
	margin: 15px 0;
}
.privacypolicy--insert .itm .list ul li{
	list-style-type: disc;
	margin: 0 0 0 30px;
}
.privacypolicy--insert .itm .list.num ul li{
	list-style-type: decimal;
}


/*faq*/

.faq-group dl{
	margin: 0 0 17px 0;
}
.faq-group dt {
   padding: 18px 50px 18px 30px;
	border:1px solid #ddd;
	border-radius: 5px;
   cursor: pointer;
   position: relative;
   background-color: #fff;
}
.faq-group dt span{
 font-family: 'Oswald', sans-serif;
 font-weight: 600;
 font-size: 24px;
 color: #E1415F;
 position: absolute;
 left: 15px;
 position: absolute;
 top: 50%;
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
}
.faq-group dt .q{
	display: flex;
	justify-content: space-between;
	gap:0 20px;
   align-items: center;
}
.faq-group dt .q p{margin: 0;}
.faq-group dt .q .pic{
	max-width: 250px;
}
.faq-group dt .q .pic img{
	max-width: 100%;
	height: auto;
}

.faq-group dt:before {
 display: block;
 content: "\FF0B";
 position: absolute;
 top: 50%;
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
 right: 15px;
 font-weight: bold;
}
.faq-group dt.active:before {
 content: "\FF0D";
}
.faq-group dd {
 padding: 30px 0 30px;
 display: none;
 position: relative;
}
.faq-group section{
	margin: 30px 0;
	padding: 0;
}
.faq-group section:first-child{
	margin-top: 0;
}
.faq-group section:last-child{
	margin-bottom: 0;
}
.faq-group .layout-text p{
	margin: 15px 0 0 0;
}
.faq-group .layout-text p:first-child{margin: 0;}


.faq-group table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}
.faq-group table thead tr {
    border: 1px solid #ddd;
}
.faq-group table tbody tr {
    border: 1px solid #ddd;
}
.faq-group table thead tr td {
    padding: 5px 2px;
    vertical-align: middle;
    text-align: center;
    background-color: #ECF2F2;
    border: 1px solid #ddd;
}
.faq-group table thead tr th{
  padding: 5px 2px;
  vertical-align: middle;
  text-align: center;
  border: 1px solid #ddd;
  background-color: #ECF2F2;
  line-height: 1;
}
.faq-group table tbody tr td {
    padding: 12px 2px;
    vertical-align: middle;
    text-align: center;
    background-color: #fff;
    border: 1px solid #ddd;
  line-height: 150%;
}
.faq-group table tbody tr td:first-child{
    background-color: #deeffc;
}
.faq-group table tbody tr th{
  padding: 12px 2px;
  vertical-align: middle;
  text-align: center;
  background-color: #ECF2F2;
  border: 1px solid #ddd;
  line-height: 150%;
}


.faq-controll{
	margin:  0 0 50px 0;
	padding: 0;
}
.faq-controll form {
	width: 100%;
	margin: 0 auto;
}
.sf-input-checkbox {
    display: none;
}
.faq-controll > form > ul > li{
    margin: 0 0 40px 0;
    padding: 0!important;
    width: 100%;
}
.faq-controll > form > ul > li > ul{
    display: flex;
    justify-content: flex-start;
    gap:0 15px;
    padding: 0!important;
    background:none;
}
.sf-field-taxonomy-faq_cat ul li{
 margin:0;
 padding: 0!important;
 text-align: center;
 line-height: 1;
 font-size: 16px;
 background: #D1ECFF;
 border: 1px solid #DCE0E3;
 cursor: pointer;
width: 100%;
}
.sf-field-taxonomy-faq_cat ul li label {
 width: 100%;
 text-align: center;
 margin: 0 auto!important;
 padding: 20px 0!important;
 cursor: pointer;
 line-height: 1;
 display: block;
}
.sf-field-taxonomy-faq_cat ul li:checked label{
 background: #195A88;
 color: #fff;
}
.sf-field-taxonomy-faq_cat ul li input[type="checkbox"]:checked + label{
 background: #195A88;
 color: #fff;
}

/**/
.sf-field-taxonomy-requirement{
	display: flex!important;
	align-items: center;
	justify-content: space-between;
}
.sf-field-taxonomy-requirement h4{
	font-weight: normal!important;
	font-size: 16px!important;
	display: block;
	width: 70px;
	text-align: left;
}
.sf-field-taxonomy-requirement ul {
	width: calc(100% - 70px);
	flex-wrap: wrap;
	gap:5px!important;
}
.sf-field-taxonomy-requirement ul li{
 margin:0;
 text-align: center;
 line-height: 1;
 font-size: 16px;
 background: #fff3f3;
 border: 1px solid #DCE0E3;
 cursor: pointer;
width: auto!important;
padding: 0!important;
border-radius: 100px;
}
.sf-field-taxonomy-requirement ul li label {
 width: auto;
 text-align: center;
 margin: 0 auto!important;
 padding: 9px 14px!important;
 cursor: pointer;
 line-height: 1;
 display: block;
}
.sf-field-taxonomy-requirement ul li:checked label{
 background: #eb6b72;
 color: #fff;
border-radius: 100px;
}
.sf-field-taxonomy-requirement ul li input[type="checkbox"]:checked + label{
 background: #eb6b72;
 color: #fff;
border-radius: 100px;
}


/**/
.sf-field-taxonomy-subcat{
	display: flex!important;
	align-items: center;
	justify-content: space-between;
}
.sf-field-taxonomy-subcat h4{
	font-weight: normal!important;
	font-size: 16px!important;
	display: block;
	width: 70px;
	text-align: left;
}
.sf-field-taxonomy-subcat ul {
	width: calc(100% - 70px);
	flex-wrap: wrap;
	gap:5px!important;
}
.sf-field-taxonomy-subcat ul li{
 margin:0;
 text-align: center;
 line-height: 1;
 font-size: 16px;
 background: #fff3f3;
 border: 1px solid #DCE0E3;
 cursor: pointer;
width: auto!important;
padding: 0!important;
border-radius: 100px;
}
.sf-field-taxonomy-subcat ul li label {
 width: auto;
 text-align: center;
 margin: 0 auto!important;
 padding: 9px 14px!important;
 cursor: pointer;
 line-height: 1;
 display: block;
}
.sf-field-taxonomy-subcat ul li:checked label{
 background: #eb6b72;
 color: #fff;
border-radius: 100px;
}
.sf-field-taxonomy-subcat ul li input[type="checkbox"]:checked + label{
 background: #eb6b72;
 color: #fff;
border-radius: 100px;
}
.faq-group a{
	color: #007DD6;
	text-decoration: underline;
}
.faq-group .layout h2:first-child{margin-top: 30px;}
.faq-group .layout h3:first-child{margin-top: 30px;}




















.anker-list{
	margin: 80px auto 80px;
	width: 1100px;
}
.anker-list ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:18px 0;
}
.anker-list ul li{
	width: 32%;
}
.anker-list.kanja ul{
	gap:14px 0;
}
.anker-list.kanja ul li{
	width: 24%;
}
.anker-list ul li span{
	display: block;
	position: relative;
	padding: 10px 0;
	border: 1px solid #ddd;
	transition: all .3s ease-in-out;
}
.anker-list ul li:hover span{
	background-color: #D1ECFF;
}
.anker-list ul li span i{
	position: absolute;
	right: 3px;
}
.anker-list.kanja ul li span{
	font-size: 16px;
}

.num-list ul{
	list-style-type: decimal;
}
.num-list ul li{
	list-style-type: inherit;
	margin: 5px 0 5px 28px;
}

.n-memo{
	width: 100%;
	padding: 30px;
	background-color: #ECF2F2;
	margin: 50px 0 0 0;
}
.n-memo .md{
	font-weight: 700;
	margin: 0 0 7px 0;
}

.layoutTable table tbody td p{
	font-size: 15px;
	color: #777;
}


.mgt100{
	margin-top: 100px!important;
}

.step-list .n-memo{
	margin: 20px 0 0 0;
}
.n-memo .li{
	position: relative;
	padding: 0 0 0 25px;
}
.n-memo .li span{
	position: absolute;
	left: 0;
}
.n-memo .li p{
	font-size: 16px;
	color: #777;
	margin: 5px 0 0 0;
}
.step-list .bt{
	width: 400px!important;
}
.tel-link {
    font-size: 32px;
    font-family: din-2014, sans-serif;
    font-weight: 600;
    font-style: normal;
}
.tel-link small {
    font-size: 17px;
}

.alert{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	border: 1px solid #ddd;
	padding: 30px;
	margin: 30px 0 0 0;
}
.alert .md{
	width: 350px;
	height: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #ECF2F2;
	font-weight: bold;
}
.alert .box{
	width: calc(100% - 380px);
}

.layoutTable.center table td{
	text-align: center;
}
.staff--container__ope .staff::before{
	display: none;
}
.staff--container__ope .bio .pic{
	margin: 0 auto 30px;
}
.staff--container__ope .bio .message {
    width: 100%;
}


.pdt0{
	padding-top: 0!important;
}

.bt-p-link{
	width: 500px;
	text-align: center;
	margin: 80px auto 0;
}
.bt-p-link span{
	display: block;
    position: relative;
    line-height: 1;
    padding: 25px 0;
    border-radius: 3px;
    font-size: 17px;
    letter-spacing: 0.05em;
    background-color: #195A88;
    border: 1px solid #195A88;
    color: #fff;
    transition: all .3s ease-in-out;
}
.bt-p-link span i{
	color: #fff;
	position: absolute;
	right: 15px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index:1;
}
.bt-p-link span:hover{
 background-color: #fff;
 border: 1px solid #195A88;
 color: #195A88;
}
.bt-p-link span:hover i{
 color: #195A88;
}

.layoutPicTxt .txt a.link,
.layoutTable table tr td a.link{
	color: #007DD6;
	text-decoration: underline;
}

.bt-flx {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 30px 0 0 0;
	gap:0 15px;
}
.bt-flx .bt{
	width: 250px!important;
	margin: 0!important;
}

.list-dot ul{
	list-style-type: disc;
}
.list-dot ul li{
	list-style-type: inherit;
	margin: 0 0 0 30px;
}

.l-access .pic{
	width: 375px!important;
	height: auto;
}
.l-access .txt {
    width: 675px!important;
}


/* ==== FAQ絞り込み: 大/中/小分類の見出しを上に配置・サイズ統一（追記） ==== */
.faq-controll .sf-field-taxonomy-requirement,
.faq-controll .sf-field-taxonomy-subcat{ display:block!important; }
.faq-controll .sf-field-taxonomy-faq_cat h4,
.faq-controll .sf-field-taxonomy-requirement h4,
.faq-controll .sf-field-taxonomy-subcat h4{
  width:auto!important; text-align:left!important;
  font-size:16px!important; font-weight:700!important;
  margin:0 0 12px 0!important; color:#195A88;
}
.faq-controll .sf-field-taxonomy-requirement ul,
.faq-controll .sf-field-taxonomy-subcat ul{ width:100%!important; }
