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

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

parts

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

/* button */
.button-box{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap:20px;
}
.button-box .button{
	display: inline-block;
	width: 410px;
	max-width: 100%;
	padding: 23px 29px;
	background: #fff;
	border: solid 1px #fff;
	border-radius: 10px;
	box-sizing: border-box;
	line-height: 1;
	font-size: 22px;
	font-weight: bold;
	color: #0054A7;
	transition: .3s;
}
.button-box .button__txt{
	display: inline-block;
	width: 100%;
	padding: 9px 60px 9px 0;
	box-sizing: border-box;
	text-align: left;
	position: relative;
	transition: .3s;
}
.button-box .button__txt:after{
	content: '';
	display: block;
	width: 40px;
	height: 100%;
	background: url(../img/arrow-btn-b--line.svg)no-repeat center center / contain;
	position: absolute;
	top:0;
	right: 0;
	transition: .3s;
}

.button-box .button--light-blue{
	background: #00A0E9;
	border: solid 1px #00A0E9;
}
.button--light-blue .button__txt{
	color: #fff;
}
.button--light-blue .button__txt:after{
	background: url(../img/arrow-btn--line.svg)no-repeat center center / contain;
}

.button-box .button--blue{
	background: #0054A7;
	border: solid 1px #0054A7;
}
.button--blue .button__txt{
	color: #fff;
}
.button--blue .button__txt:after{
	background: url(../img/arrow-btn--line.svg)no-repeat center center / contain;
}

@media(any-hover: hover){
	.button-box .button:hover{
		background: #0054A7;
		color: #fff;
		opacity: 1;
	}
	.button-box .button:hover .button__txt::after{
		background: url(../img/arrow-btn--line.svg)no-repeat center center / contain;
	}
	.button-box .button--light-blue:hover{
		border: solid 1px #fff;
	}
	.button-box .button--blue:hover{
		background: #fff;
		color: #0054A7;
	}
	.button--blue:hover .button__txt{
		color: #0054A7;
	}
	.button-box .button--blue:hover .button__txt:after{
		background: url(../img/arrow-btn-b--line.svg)no-repeat center center / contain;
	}
}
@media(max-width:768px){
	.button-box .button{
		font-size: 20px;
	}
	.button-box .button__txt{
		padding: 0 60px 0 0;
	}
}


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

careers

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

/* mv */
.mv{
	padding: 80px 20px 100px;
	background: url(../../img/careers/mv.jpg)no-repeat center center / cover;
	text-align: center;
	color: #fff;
}
.mv-catch{
	display: inline-block;
	padding: 17px 40px;
	border-radius: 50px;
	background: #fff;
	line-height: 1;
	font-size: 22px;
	font-weight: bold;
	color: #0054A7;
	margin-bottom: 30px;
}
.mv-text{
	display:block;
	line-height: 1.6;
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 60px;
}
.mv-text--mb-none{
	margin-bottom: 0;
}
.mv-text span{
	display: inline-block;
	font-size: 22px;
	font-weight: 400;
	margin-top: 30px;
}
@media(max-width:768px){
	.mv{
		padding: 60px 20px;
	}
	.mv-catch{
		padding: 10px 20px;
		font-size: 20px;
		margin-bottom: 20px;
	}
	.mv-text{
		font-size: 30px;
		margin-bottom: 40px;
	}
	.mv-text--mb-none{
		margin-bottom: 0;
	}
	.mv-text span{
		font-size: 18px;
		margin-top: 20px;
	}
}

/* post-box */
.post-box{
	background: #F4F4F4;
}
.single .post-box{
	background: #fff;
}
.post-box.back-white{
	background: #fff;
}
.post-box__inner{
	width: 1100px;
	max-width: 100%;
	padding:100px 20px 140px;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
}
.post-box__ttl{
	display: inline-block;
	line-height: 1.6;
	font-size: 40px;
	font-weight: 500;
	margin-bottom: 50px;
}
.post-box__txt{
	font-size: 20px;
	margin-bottom: 60px;
}
.post-box__list{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap:50px;
}
.post-box__list li{
	width: calc((100% - 100px) / 3);	
}
.post-box__list li a{
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	overflow: hidden;
	transition: .3s;
}
.single .post-box__list li a{
	background: #F4F4F4;
}
.back-white .post-box__list li a{
	background: #F4F4F4;
}
.post-box__list-img{
	margin-bottom: 30px;
}
.post-box__list-img--cyrcle{
	padding: 30px 60px 0;
}
.post-box__list-img img{
	width: 100%;
	height: auto;
}
.post-box__list-ttl{
	display: block;
	padding: 0 20px;
	line-height: 1.5;
	font-size: 22px;
	font-weight: bold;
	color: #0054A7;
	margin-bottom: 24px;
	transition: .3s;
}
.post-box__list-txt{
	padding: 0 20px 40px;
	line-height: 1.6;
	font-size: 16px;
}
.post-box .button-box{
	margin-top: 60px;
}
@media(any-hover: hover){
	.post-box__list li a:hover{
		border-radius: 10px;
		background-color: #0054A7;
		color: #fff;
		opacity: 1;
	}
	.post-box__list li a:hover .post-box__list-ttl{
		color: #fff;
	}
}
@media(max-width:1100px){
	.post-box__list{
		gap:20px;
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
	}
	.post-box__list li{
		width:calc(50% - 10px);
	}
}
@media(max-width:768px){
	.post-box__inner{
		padding:60px 20px;
	}
	.post-box__ttl{
		font-size: 26px;
		margin-bottom: 20px;
	}
	.post-box__txt{
		font-size: 18px;
		margin-bottom: 40px;
	}
	.post-box__list{
		gap:20px;
	}
	.post-box__list li{
		width: 100%;
	}
	.post-box__list-img{
		margin-bottom: 20px;
	}
	.post-box__list-img--cyrcle{
		padding: 30px 60px 0;
	}
	.post-box__list-ttl{
		font-size: 18px;
		margin-bottom: 20px;
	}
	.post-box__list-txt{
		padding: 0 20px 40px;
		line-height: 1.6;
		font-size: 16px;
	}
}


/* more */
.more{
	background: #F4F4F4;
}
.more__inner{
	width: 1100px;
	max-width: 100%;
	padding:120px 20px 90px;
	box-sizing: border-box;
	text-align: center;
	margin: 0 auto;
}
.more-box{
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
}
.more-ttl{
	padding: 29px 20px;
	background: #00A0E9;
	line-height: 1;
	font-size: 32px;
	font-weight: bold;
	color: #fff;
}
.more-ttl span{
	font-size: 36px;
	color: #FFAE51;
}
.more-box__inner{
	padding: 50px 20px 60px;
	border: solid 4px  #00A0E9;
	border-top: none;
	box-sizing: border-box;
	border-radius: 0 0 10px 10px;
}
.more-txt{
	display: block;
	font-size: 20px;
	margin-bottom: 40px;
}
@media(max-width:768px){	
	.more__inner{
		padding:60px 20px;
	}
	.more-ttl{
		padding:20px 10px;
		font-size: 22px;
        line-height: 1.4;
	}
	.more-ttl span{
		font-size: 24px;
	}
	.more-box__inner{
		padding:30px 20px 20px;
		border: solid 2px  #00A0E9;
	}
	.more-txt{
		font-size: 16px;
		margin-bottom: 20px;
	}
}


/* post-detail */
.post-detail{
	background-color: #fff;
	line-height: 1.8;
	margin: 0 auto 80px;
    margin: 0 auto;
}
.post-detail__inner{
	width: 1100px;
	max-width: 100%;
	padding: 90px 20px;
	box-sizing: border-box;
	margin: 0 auto;
}
.post-detail__ttl{
	display: block;
	line-height: 1.4;
	font-size: 36px;
	font-weight: bold;
	margin-bottom: 60px;
}

.post-detail img{
	margin: 0 auto 40px;
}
.post-detail p{
	line-height: 2;
    font-size: 18px;
    margin-bottom: 40px;
}
.post-detail h2{
    font-size:28px;
	font-weight: bold;
	color: #0054A7;
    margin-bottom: 40px;
}
.post-detail h3{
    font-size:22px;
	font-weight: bold;
    margin-bottom: 40px;
}
.post-detail p ~ h3{
	margin-top: 80px;
}
.post-detail .alignleft {
    float: left;
    margin: 10px 25px 10px 0;
}
.post-detail .alignleft img{
	margin-bottom:20px;
}
.post-detail .alignright {
    float: right;
    margin: 10px 0 10px 25px;
}
.post-detail .alignright img{
	margin-bottom: 20px;
}
.post-detail .aligncenter {
    clear: both;
    display: block;
    text-align: center;
    margin: 10px auto;
}
.post-detail .aligncenter img{
	margin-bottom:20px;
}
.post-detail blockquote.alignleft,
.post-detail blockquote.alignright {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding-top: 17px;
    width: 50%;
}
.post-detail blockquote.alignleft p,
.post-detail blockquote.alignright p {
    margin-bottom: 17px;
}
.post-detail cite{
    display: block;
    padding: 20px;
    box-sizing: border-box;
    background: #FAFAFA;
    font-size: 16px;
    font-style: italic;
}
.post-detail a{
    text-decoration: underline;
}
.post-detail a:hover{
    opacity: .7;
}
.post-detail ul,
.post-detail ol{
    list-style: none;
	font-size: 18px;
	font-weight: bold;
	color:#0054A7;
    margin: 0 0 40px;
}
.post-detail li{
	display: block;
	padding-left: 20px;
	position: relative;
}
.post-detail li:before{
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	background: #0054A7;
	border-radius: 20px;
	position: absolute;
	top:10px;
	left: 0;
}
.post-detail blockquote {
    border: none;
    background: #FAFAFA;
    padding:20px;
    position: relative;
    margin: 0 0 40px;
}
.post-detail blockquote::before,
.post-detail blockquote::after {
    color: #E0E0E0;
    font-family: serif;
    position: absolute;
    font-size: 300%;
}
.post-detail blockquote::before {
    content: "“";
    line-height: 1.1;
    left: 10px;
    top: 0;
}
.post-detail blockquote::after {
    content: "”";
    line-height: 0;
    right: 10px;
    bottom: 0px;
}
.post-detail blockquote cite {
    font-size: 10px;
}
.post-detail blockquote p:last-child{
    margin-bottom: 0;
}
.post-detail .wp-block-separator{
	border: none;
	border-top: 2px solid #EDEBE8;
	margin: 100px 0 80px;
}
.post-detail *:last-child{
	margin-bottom: 0;
}

@media(max-width:768px){
	.post-detail{
		margin: 0 auto 40px;
        margin: 0 auto;
	}
	.post-detail__inner{
		padding:60px 20px;
	}
	.post-detail__ttl{
		font-size: 26px;
		margin-bottom: 40px;
	}
	.post-detail img{
		margin: 0 auto 20px;
	}
	.post-detail p{
		margin-bottom: 20px;
	}
	.post-detail h2{
		font-size:24px;
		margin-bottom: 20px;
	}
	.post-detail h3{
		font-size:22px;
		margin-bottom: 20px;
	}
	.post-detail p ~ h3{
		margin-top: 40px;
	}
	.post-detail ul,
	.post-detail ol{
		font-size: 18px;
		margin: 0 0 20px;
	}
	.post-detail li{
		padding-left: 15px;
	}
	.post-detail li:before{
		width: 10px;
		height: 10px;
		top:10px;
	}
	.post-detail blockquote {
		padding:20px;
		position: relative;
		margin: 0 0 20px;
	}
	.post-detail blockquote::before,
	.post-detail blockquote::after {
		color: #E0E0E0;
		font-family: serif;
		position: absolute;
		font-size: 300%;
	}
	.post-detail blockquote::before {
		content: "“";
		line-height: 1.1;
		left: 10px;
		top: 0;
	}
	.post-detail blockquote::after {
		content: "”";
		line-height: 0;
		right: 10px;
		bottom: 0px;
	}
	.post-detail blockquote cite {
		font-size: 10px;
	}
	.post-detail blockquote p:last-child{
		margin-bottom: 0;
	}
	.post-detail .wp-block-separator{
		border: none;
		border-top: 2px solid #EDEBE8;
		margin: 40px 0;
	}
    .post-detail .wp-block-image{
      text-align: center;
    }
	.post-detail .alignleft,
    .post-detail .alignright,
    .post-detail .aligncenter {
      width: 100%;
      float: none;
      margin: 0 auto 10px;
    }
}


/* .p-form-box */
.more .p-form-box{
    margin: 0 auto 60px;
}
@media(max-width:768px){
    .more .p-form-box{
        margin: 0 auto 30px;
    }   
}

