@charset "UTF-8";

/* -----------------------------------------------

	 under base

----------------------------------------------- */
.headnum{
	font-weight: 600;
    letter-spacing: 0.5rem;
    line-height: 1.3;
}
.note{
	position: relative;
	padding: 60px 80px;
	position:relative;
	overflow:hidden;
	border-radius: 30px;
}
.note:after {
    content:"";
    position:absolute;
    top:0;
    right:0;
	-webkit-border-radius: 0 0 0 30px;
    -moz-border-radius: 0 0 0 30px;
    border-radius: 0 0 0 30px;
    border-width:0 80px 80px 0; /* This trick side-steps a webkit bug */
    border-style:solid;
    display:block; width:0; /* Only for Firefox 3.0 damage limitation */
}
.note .ttl{
	font-size: 24px;
    text-align: center;
    margin-bottom: 40px;
    margin-top: 60px;
}
.note > ul > li{
	line-height: 1.5;
	font-size: 20px;
	padding: 20px 0;
	border-bottom: dashed 1px #e0e0e0;
}
.note > ul > li > ul{
	margin-top: 20px;
	padding-left: 30px;
}
.note > ul > li > ul > li{
	padding-left:1em;
	text-indent:-1em;
}
.note .check li::before{
	content: "";
	display: inline-block;
	background-image: url(../images/icon_check.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	width: 30px;
	min-width: 30px;
    height: 25px;
	margin-right: 20px;
}
.note .dot > li::before,
.note .dot > li.parent p::before{
	content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    min-width: 12px;
    background: #40a0da;
    border-radius: 60px;
    margin-right: 20px;
    position: relative;
    top: 10px;
}
.note .dot > li.parent::before{
	content: unset;
}
.note .dot > li.parent p{
	line-height: 1.5;
}
.note .check.halfwrap {
	gap: 0 40px;
}
.note .check.halfwrap li{
	width: calc(100% / 2 - 20px);
	letter-spacing: -0.1rem;
}
.note_white{
	background: #fff;
}
.note_white::after{
    border-color:#eaf6fd #eaf6fd #bdd9e8 #bdd9e8; /* A bit more verbose to work with .rounded too */
    background:#bdd9e8; /* For Opera when also applying a border-radius */
}
.note_blue{
	background: #f2fafd;
}
.note_blue::after{
    border-color:#fff #fff #bdd9e8 #bdd9e8; /* A bit more verbose to work with .rounded too */
    background:#bdd9e8; /* For Opera when also applying a border-radius */
}
.bgcwrap{
	margin: 0 120px;
	padding: 120px 60px;
	border-radius: 60px;
}

@media only screen and (max-width: 1024px) {
	.bgcwrap{
		margin: 0;
		padding: 90px 60px;
	}
}
@media only screen and (max-width: 768px) {
	.under .bgc_right,
	.under .bgc_left{
		padding: 60px 30px;
	}
	.bgcwrap{
		padding: 60px 45px;
	}
	.under .headttl01{
		margin-bottom: 60px;
	}
	.under .headttl01 .number{
		font-size: 35px;
	}
	.under .headttl01 span.txt{
		font-size: 30px;
		letter-spacing: 0.25rem;
	}
	.note {
		padding: 45px 60px;
	}
	.note::after{
		border-width: 0 70px 70px 0;
	}
	.note .ttl{
		margin-bottom: 45px;
	}
	.note .check li::before{
		width: 25px;
		min-width: 25px;
	}
	.note > ul > li {
		font-size: 19px;
	}
	.note .dot > li::before ,
	.note .dot > li.parent p::before{
		width: 10px;
		height: 10px;
		min-width: 10px;
	}
}
@media only screen and (max-width: 479px) {
	.under .bgc_right,
	.under .bgc_left{
		padding: 45px 25px;
	}
	.bgcwrap {
		border-radius: 30px;
		padding: 40px 25px;
	}
	.under .headttl01{
		margin-bottom: 50px;
	}
	.note {
		padding: 35px 30px;
	}
	.note::after{
		border-radius: 0 0 0 25px;
		border-width: 0 55px 55px 0;
	}
	.note .ttl {
		font-size: 22px;
		margin-bottom: 30px;
	}
	.note > ul > li {
		font-size: 16px;
	}
	.note .check li::before{
		width: 20px;
		min-width: 20px;
		margin-right: 10px;
		position: relative;
		top: 2px;
	}
	.note .check.halfwrap li {
		width: 100%;
	}
	.under .headttl01 ,
	.under .headttl01 .number{
		font-size: 30px;
		line-height: 1.5;
	}
	.under .headttl01 span.txt {
		font-size: 28px;
		letter-spacing: -0.05rem;
	}
	.under .headttl01 .sp,
	.under .headttl01 span.txt .sp{
		display: block;
	}
	.note .dot > li::before, .note .dot > li.parent p::before {
		width: 8px;
		height: 8px;
		min-width: 8px;
		margin-right: 10px;
	}
	.note > ul > li > ul {
		padding-left: 15px;
	}
}
@media only screen and (max-width: 350px) {
	.under .headttl01 ,
	.under .headttl01 span.txt {
		font-size: 23px;
	}
	.under .headttl01 .number{
		font-size: 28px;
	}
	.note::after{
		border-width: 0 45px 45px 0;
	}
	.note .ttl{
		margin-bottom: 20px;
	}
}

/* -----------------------------------------------
undertop_section
----------------------------------------------- */
.undertop_section {
	position: relative;
	margin: 0 120px;
}
.undertop_section .undermain_img{
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	position: relative;
}
.undertop_section .undermain_img img{
	height: 480px;
    object-fit: cover;
    border-radius: 90px;
}
.undertop_section h1{
	font-size: 48px;
	font-weight: 900;
	width: 100%;
    text-align: center;
    -webkit-text-stroke: 1px #fff;
    text-shadow: 2px 2px 5px #fff, -2px 2px 5px #fff, 2px -2px 5px #fff, -2px -2px 5px #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

  @media only screen and (max-width: 1024px) {
	.undertop_section{
		margin: 0 30px;
		max-width: 1070px;
	}
	.undertop_section .undermain_img img {
		height: 430px;
	}
	.undertop_section h1 {
		font-size: 45px;
	}
  }

	@media only screen and (max-width: 768px) {
		.undertop_section .undermain_img img {
			height: 350px;
			border-radius: 60px;
		}
		.undertop_section h1 {
			font-size: 40px;
		}
	}
	@media only screen and (max-width: 479px) {
		.undertop_section .undermain_img img {
			height: 350px;
		}
		.undertop_section h1 {
			font-size: 35px;
		}
	}
/* -----------------------------------------------
pankuzu-wrap
----------------------------------------------- */
.pankuzu-wrap {
	margin: 40px 0;
}
.pankuzu-wrap ol{
	gap: 10px 20px;
}
.pankuzu-wrap li::after{
	font-family: "Font Awesome 5 Free";
    content: "\f054";
    display: inline-block;
    color: #999999;
    position: relative;
    font-size: 13px;
    font-weight: 700;
	margin-left: 20px;
}
.pankuzu-wrap li a{
	color: #999999;
	text-decoration: underline;
}
.pankuzu-wrap li:last-child{
	color: #404040;
	font-weight: 700;
	text-decoration: unset;
}
.pankuzu-wrap li:last-child:after{
	content: unset;
}

@media only screen and (max-width: 768px) {
	.pankuzu-wrap {
		margin: 30px 0;
	}
}
@media only screen and (max-width: 479px) {
	.pankuzu-wrap {
		margin: 20px 0;
	}
	.pankuzu-wrap ol{
		gap: 5px 10px;
	}
	.pankuzu-wrap li::after{
		margin-left: 10px;
	}
}

/* -----------------------------------------------

	 general

----------------------------------------------- */
#general .sec_num01 .txts p:first-child{
	margin-bottom: 45px;
}
#general .sec_num03 .box-wrap{
	gap: 80px;
}
#general .sec_num03 .box{
	border-radius: 30px;
	width: calc(100% / 2 - 40px);
	background: #fff;
	padding: 60px 30px;
	text-align: center;
}
#general .sec_num03 .box .image{
	margin-bottom: 30px;
}
#general .sec_num03 .box .image img{
	max-width: 400px;
    height: 300px;
	object-fit: contain;
}
#general .sec_num03 .box dd{
	font-size: 20px;
}
#general .sec_num02,
#general .sec_num04 {
	margin-left: 100px;
	margin-right: 100px;
}
#general .sec_num04 .tel-wrap{
	display: block;
	padding: 60px 30px;
	border-radius: 30px;
	border: solid 1px #40a0da;
}
#general .sec_num04 .tel-wrap .image{
	max-width: 450px;
	margin: auto;
}


@media only screen and (max-width: 1024px){
	#general .sec_num03 .box-wrap{
		gap: 60px;
	}
	#general .sec_num03 .box {
		padding: 45px 30px;
		width: calc(100% / 2 - 30px);
	}
	#general .sec_num03 .box .image img{
		height: 250px;
	}
}
@media only screen and (max-width: 768px){
	#general .sec_num03 .box-wrap {
		gap: 30px;
	}
	#general .sec_num03 .box {
		width: calc(100% / 2 - 15px);
	}
	#general .sec_num03 .box .image img {
		height: 180px;
	}
	#general .sec_num03 .box dd {
		font-size: 18px;
	}
	#general .sec_num04 .tel-wrap {
		padding: 50px 30px;
	}
	#general .sec_num02,
	#general .sec_num04 {
		margin-left: 30px;
		margin-right: 30px;
	}
}
@media only screen and (max-width: 479px){
	#general .sec_num03 .box-wrap {
		gap: 20px;
	}
	#general .sec_num03 .box {
		padding: 30px 20px;
		width: 100%;
	}
	#general .sec_num03 .box .image {
		margin-bottom: 15px;
	}
	#general .sec_num03 .box .image img {
		height: 140px;
	}
	#general .sec_num03 .box dd {
		font-size: 17px;
	}
	#general .sec_num04 .tel-wrap {
		padding: 30px 20px;
		border-radius: 20px;
	}
		#general .sec_num02,
		#general .sec_num04 {
			margin-left: 20px;
			margin-right: 20px;
		}
}



/* -----------------------------------------------

	 diabetes

----------------------------------------------- */
#diabetes .box-half{
	gap: 80px;
}
#diabetes .box{
	width: calc(100% / 2 - 40px);
}
#diabetes .box dd{
	margin-bottom: 30px;
}
#diabetes .box img{
	border-radius: 30px;
}

#diabetes .clinichead {
    padding: 120px 0;
    line-height: 2;
}

@media only screen and (max-width: 1024px){
	#diabetes .box-half {
		gap: 60px;
	}
	#diabetes .box {
		width: calc(100% / 2 - 30px);
	}
	#diabetes .sec_num02{
		margin-left: 100px;
		margin-right: 100px;
	}
}
@media only screen and (max-width: 768px){
	#diabetes .box-half {
		gap: 50px;
	}
	#diabetes .box {
		width: calc(100% / 2 - 25px);
	}
	#diabetes .sec_num02{
		margin-left: 30px;
		margin-right: 30px;
	}
}
@media only screen and (max-width: 479px){
	#diabetes .box {
		width: 100%;
	}
	#diabetes .box dd {
		margin-bottom: 20px;
	}
	#diabetes .sec_num02{
		margin-left: 20px;
		margin-right: 20px;
	}
}


/* -----------------------------------------------

	 aboutdiabetes

----------------------------------------------- */
#aboutdiabetes .set{
	gap: 40px;
}
#aboutdiabetes .set .image{
	max-width: 200px;
	width: 100%;
}
#aboutdiabetes .set .txts{
	width: calc(100% - 240px);
}
#aboutdiabetes .set .txts p:nth-child(2){
	margin-top: 40px;
}

@media only screen and (max-width: 1024px){
}
@media only screen and (max-width: 768px){
	#aboutdiabetes .set .image {
		max-width: 150px;
	}
	#aboutdiabetes .set .txts {
		width: calc(100% - 190px);
	}
	#aboutdiabetes .set .txts p:nth-child(2) {
		margin-top: 30px;
	}
}
@media only screen and (max-width: 479px){
	#aboutdiabetes .set{
		gap: 20px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	#aboutdiabetes .set .image{
		margin: auto;
	}
	#aboutdiabetes .set .txts {
		width: 100%;
	}
	#aboutdiabetes .set .txts p:nth-child(2) {
		margin-top: 20px;
	}
}


/* -----------------------------------------------

	 clinic

----------------------------------------------- */
#clinic .clinichead{
	padding: 120px 0;
	line-height: 2;
}
#clinic .sec_inspection,
#clinic .sec_work{
	margin-left: 150px;
	margin-right: 150px;
}
#clinic .headset .headttl01{
	margin-bottom: 50px;
}
#clinic .headsubttl{
	text-align: center !important;
	font-size: 24px;
	margin-bottom: 60px;
}
#clinic .set {
	gap: 80px;
}
#clinic .set .txts{
	width: calc(100% - 720px);
	min-width: 350px;
}
#clinic .set .ttl{
	font-size: 24px;
}
#clinic .set .txt{
	margin-bottom: 40px;
}
#clinic .set .txt2{
	margin-bottom: 20px;
}
#clinic .set .within{
	margin-left: 30px;
}
#clinic .set .image{
	max-width: 640px;
}
#clinic .set img{
	border-radius: 30px;
}
#clinic .set li{
	line-height: 2;
}
#clinic .set li.txt{
	margin-bottom: 30px;
}
#clinic .set .dot{
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
#clinic .set .dot::before{
	content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    min-width: 12px;
    background: #40a0da;
    border-radius: 60px;
    margin-right: 20px;
    position: relative;
    top: 15px;
}

@media only screen and (max-width: 1024px){
	#clinic .clinichead{
		padding: 90px 0;
	}
	#clinic .set {
		gap: 60px;
	}
	#clinic .set .txts{
		width: 100%;
		min-width: 300px;
	}
	#clinic .set .image {
		max-width: 400px;
	}
	#clinic .sec_inspection, #clinic .sec_work {
		margin-left: 115px;
		margin-right: 115px;
	}
	#clinic .headsubttl{
		font-size: 22px;
	}
}
@media only screen and (max-width: 768px){
	#clinic .clinichead{
		padding: 60px 0;
	}
	#clinic .set {
		gap: 40px;
	}
	#clinic .sec_inspection, #clinic .sec_work {
		margin-left: 30px;
		margin-right: 30px;
	}
	#clinic .set .dot::before{
		width: 10px;
		height: 10px;
		min-width: 10px;
	}
	#clinic .headsubttl{
		font-size: 20px;
	}
	#clinic .set .ttl {
		font-size: 22px;
	}
	#clinic .set .txt ,
	#clinic .set .within {
		margin-bottom: 30px;
	}
}
@media only screen and (max-width: 650px){
	#clinic .set{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	#clinic .set .txts {
		min-width: auto;
	}
	#clinic .set .image {
		max-width: 100%;
		width: 100%;
	}
}
@media only screen and (max-width: 479px){
	#clinic .clinichead{
		padding: 45px 0;
	}
	#clinic .sec_inspection, #clinic .sec_work {
		margin-left: 25px;
		margin-right: 25px;
	}
	#clinic .set .dot::before{
		width: 8px;
		height: 8px;
		min-width: 8px;
		margin-right: 10px;
	}
	#clinic .headsubttl{
		font-size: 18px;
		margin-bottom: 40px;
	}
	#clinic .headset .headttl01 {
		margin-bottom: 40px;
	}
	#clinic .set .ttl {
		font-size: 20px;
	}
	#clinic .set .txt ,
	#clinic .set .within ,
	#clinic .set li.txt{
		margin-bottom: 20px;
	}
	#clinic .set .within {
		margin-left: 20px;
	}	
}

/* -----------------------------------------------

	 introduction
	 
	 ----------------------------------------------- */
#introduction .sec_director .ttl{
	font-size: 24px;
	color: #40a0da;
}
#introduction .set dl dt{
	width: 160px;
}
#introduction .set dl dd{
	width: calc(100% - 160px);
}
#introduction .set dl dt,
#introduction .set dl dd{
	line-height: 2;
}
#introduction .set01 {
	margin-bottom: 45px;
}
#introduction .set01-1 {
	margin-right: 20px;
    width: 50%;
}
#introduction .set01-2 {
	width: 31%;
}
#introduction .set01 figure {
    width: 100%;
    margin: 0 auto;
}
#introduction .set01 dl{
	padding: 45px 0;
	border-bottom: solid 1px #e0e0e0;
}
#introduction .set01 dd{
	padding-top: 5px;
}
#introduction .set02 dl{
	margin-bottom: 5px;
}

#introduction .sec_staff .staff-wrap{
	gap: 40px;
	margin-bottom: 60px;
}
#introduction .sec_staff .staff{
	background: #eaf6fd;
	border-radius: 30px;
	padding: 50px 20px;
	text-align: center;
}
#introduction .sec_staff .staff h3{
	font-size: 18px;
	margin-bottom: 5px;
    font-weight: 600;
}
#introduction .sec_staff .staff p{
	color: #40a0da;
	font-size: 24px;
	text-align: center !important;
}
#introduction .sec_staff .staff-set03{
	width: calc(100% / 3 - 27.5px);
}
#introduction .sec_staff .staff-set02{
	width: calc(100% / 2 - 20px);
}
#introduction .sec_staff{
	margin-left: 85px;
	margin-right: 85px;
}

@media only screen and (max-width: 1024px){
	#introduction .sec_staff{
		margin-left: 65px;
		margin-right: 65px;
	}
	#introduction .set01 dl {
		padding: 35px 0;
	}
	#introduction .set01 {
		margin-bottom: 35px;
	}
	#introduction h2.headttl01 + .flex {
	    flex-direction: column;
	}
	#introduction .set01-1 {
	    order: 2;
        width: 100%;
    }
    #introduction .set01-2 {
	    order: 1;
        width: 80%;
        margin: 0 auto;
    }
	#introduction .sec_director .ttl {
		font-size: 22px;
	}
}
@media only screen and (max-width: 768px){
	#introduction .sec_staff{
		margin-left: 0;
		margin-right: 0;
	}
	#introduction .set01 dl {
		padding: 30px 0;
	}
	#introduction .set01 {
		margin-bottom: 30px;
	}
	#introduction .sec_director .ttl {
		font-size: 20px;
	}
	#introduction .sec_staff .staff{
		padding: 40px 20px;
	}
	#introduction .sec_staff .staff-wrap {
		gap: 30px;
		margin-bottom: 45px;
	}
	#introduction .sec_staff .staff-set03 {
		width: calc(100% / 3 - 20px);
	}
	#introduction .sec_staff .staff-set02 {
		width: calc(100% / 2 - 15px);
	}
}
@media only screen and (max-width: 479px){
	#introduction .set01 dl ,
	#introduction .set02 dl{
		padding: 20px 0;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	#introduction .set01 {
		margin-bottom: 20px;
	}
	#introduction .sec_director .ttl {
		font-size: 18px;
	}
	#introduction .set dl dt,
	#introduction .set dl dd{
		width: 100%;
	}
	#introduction .set02 dl {
		padding: 0;
		margin-bottom: 20px;
	}
	#introduction .sec_staff .staff-wrap {
		gap: 10px;
		margin-bottom: 30px;
	}
	#introduction .sec_staff .staff {
		padding: 10px 20px;
	}
	#introduction .sec_staff .staff h3{
		margin-bottom: 0;
		font-size: 16px;
	}
	#introduction .sec_staff .staff-set03 ,
	#introduction .sec_staff .staff-set02{
		width: 100%;
	}
}

/* -----------------------------------------------

	 reservation

----------------------------------------------- */
#reservation .sec_reserve ol li{
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	margin-bottom: 30px;
	line-height: 1.5;
}
#reservation .sec_reserve ol li::before{
	content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    min-width: 12px;
    background: #40a0da;
    border-radius: 60px;
    margin-right: 20px;
    position: relative;
    top: 10px;
}
@media only screen and (max-width: 1024px){
}
@media only screen and (max-width: 768px){
	#reservation .sec_reserve ol li::before{
		width: 10px;
		height: 10px;
		min-width: 10px;
	}
}
@media only screen and (max-width: 479px){
	#reservation .sec_reserve ol li::before{
		width: 8px;
		height: 8px;
		min-width: 8px;
		margin-right: 10px;
	}
}


/* -----------------------------------------------

	 info

----------------------------------------------- */
.infobody{
	margin-bottom: 180px;
}
.screen-reader-text{
	display: none !important;
}
ul.page-numbers{
	gap: 30px;
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
ul.page-numbers li a{
	padding: 5px 10px;
}
ul.page-numbers .current{
	color: #40a0da;
	font-weight: 900;
	padding: 5px 10px;
    text-decoration: underline;
}
ul.page-numbers a.prev.page-numbers,
ul.page-numbers a.next.page-numbers{
	padding: 10px 20px;
    display: inline-block;
    position: relative;
    text-align: center;
    margin: auto;
    background-color: #fff;
    box-shadow: 2px 3px 8px #cacaca;
    max-width: 300px;
    width: 100%;
    border-radius: 60px;
}
#info .pankuzu-wrap{
	padding: 40px 0 60px;
}
#info .infoset{
	position: relative;
	margin-bottom: 60px;
	padding-bottom: 20px;
	border-bottom: solid 1px #cdcdcd;
}
#info .infoset > a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	opacity: 0;
	transition: 0.5s;
}
#info .infoset a:hover{
	opacity: 0.25;
	transition: 0.5s;
}
#info .infoset .date{
	color: #40a0da;
}
#info .infoset h2{
	margin-bottom: 10px;
}
#info .infoin .infobody .container{
	max-width: 1000px;
}
#info .infoin .single-postwrap{
	margin-bottom: 100px
}
#info .infoin .single-postwrap .date{
	color: #40a0da;
}
#info .infoin .single-postwrap .ttl{
	margin-bottom: 60px;
}


@media only screen and (max-width: 768px) {
	.infobody {
		margin-bottom: 120px;
	}
}
@media only screen and (max-width: 479px) {
	.infobody {
		margin-bottom: 90px;
	}
	#info .infoin .single-postwrap .ttl {
		margin-bottom: 30px;
	}
	#info .infoin .single-postwrap {
		margin-bottom: 80px;
	}
}



/* -----------------------------------------------

	 medical

----------------------------------------------- */
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 479px) {
}


/* -----------------------------------------------

	 privacy

----------------------------------------------- */
@media only screen and (max-width: 1024px) {
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 479px) {
}


/* -----------------------------------------------

	 recruit

----------------------------------------------- */
#recruit .recruit_top .undermain_img img{
	object-position: right center;
}
#recruit .recruit_intro{
	padding: 120px 0;
	line-height: 2;
}
#recruit .recruit_lead{
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 30px;
}
#recruit .recruit_lead .highlight{
	color: #40a0da;
	font-size: 32px;
}
#recruit .headsubttl{
	font-size: 24px;
	margin-bottom: 60px;
}
#recruit .recruit_box{
	background: #fff;
	border-radius: 30px;
	padding: 50px 60px;
}
#recruit .recruit_list li{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	line-height: 1.8;
	margin-bottom: 20px;
}
#recruit .recruit_list li:last-child{
	margin-bottom: 0;
}
#recruit .recruit_list li.dot::before{
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	min-width: 12px;
	background: #40a0da;
	border-radius: 60px;
	margin-right: 20px;
	position: relative;
	top: 10px;
}
#recruit .recruit_list li.parent{
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
#recruit .recruit_list li.parent::before{
	content: unset;
}
#recruit .recruit_list li.parent > p{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-weight: 600;
	line-height: 1.8;
}
#recruit .recruit_list li.parent > p::before{
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	min-width: 12px;
	background: #40a0da;
	border-radius: 60px;
	margin-right: 20px;
	position: relative;
	top: 10px;
}
#recruit .recruit_list_child{
	margin-top: 15px;
	padding-left: 32px;
}
#recruit .recruit_list_child li{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 10px;
}
#recruit .recruit_list_child li::before{
	font-family: "Font Awesome 5 Free";
	content: "\f0da";
	font-weight: 900;
	color: #40a0da;
	margin-right: 10px;
}

@media only screen and (max-width: 1024px) {
	#recruit .recruit_intro{
		padding: 90px 0;
	}
	#recruit .headsubttl{
		font-size: 22px;
		margin-bottom: 50px;
	}
	#recruit .recruit_box{
		padding: 40px 50px;
	}
}
@media only screen and (max-width: 768px) {
	#recruit .recruit_top .undermain_img{
		overflow: hidden;
		border-radius: 60px;
	}
	#recruit .recruit_top .undermain_img img{
		transform: scale(2.2);
		transform-origin: right bottom;
	}
	#recruit .recruit_intro{
		padding: 60px 0;
	}
	#recruit .recruit_lead{
		font-size: 24px;
		margin-bottom: 20px;
	}
	#recruit .recruit_lead .highlight{
		font-size: 28px;
	}
	#recruit .headsubttl{
		font-size: 20px;
		margin-bottom: 40px;
	}
	#recruit .recruit_box{
		padding: 35px 40px;
		border-radius: 20px;
	}
	#recruit .recruit_list li.dot::before,
	#recruit .recruit_list li.parent > p::before{
		width: 10px;
		height: 10px;
		min-width: 10px;
	}
	#recruit .recruit_list_child{
		padding-left: 30px;
	}
}
@media only screen and (max-width: 479px) {
	#recruit .recruit_top .undermain_img{
		overflow: hidden;
		border-radius: 60px;
	}
	#recruit .recruit_top .undermain_img img{
		transform: scale(1.8);
		transform-origin: right bottom;
	}
	#recruit .recruit_intro{
		padding: 45px 0;
	}
	#recruit .recruit_lead{
		font-size: 20px;
		margin-bottom: 15px;
	}
	#recruit .recruit_lead .highlight{
		font-size: 24px;
	}
	#recruit .headsubttl{
		font-size: 18px;
		margin-bottom: 30px;
	}
	#recruit .recruit_box{
		padding: 30px 25px;
	}
	#recruit .recruit_list li{
		margin-bottom: 15px;
	}
	#recruit .recruit_list li.dot::before,
	#recruit .recruit_list li.parent > p::before{
		width: 8px;
		height: 8px;
		min-width: 8px;
		margin-right: 10px;
	}
	#recruit .recruit_list_child{
		padding-left: 18px;
	}
	#recruit .recruit_list_child li{
		margin-bottom: 8px;
	}
}
