@charset "utf-8";
/* CSS Document */

/*320px（最小）
640px未満 @media screen and (max-width: 639px) {...}
1024px未満 @media screen and (max-width: 1023px) {...}*/

.wbasic1200 ul +.textC{
line-height: 1;
}

.wbasic1200 ul +.textC .fs200 {
    font-size: 180%;
}

@media screen and (max-width: 768px) {
.wbasic1200 ul +.textC {
    line-height: 1.6;
}
}

/*------------------------------------------*
* 共通スタイル
*------------------------------------------*/
.tf_dh li {
list-style: none;
}
.align_right {
text-align: right;
}
.tf_dh .align_center {
text-align: center;
}
.tf_dh img {
max-width: 100%;
height: auto;
vertical-align: bottom;
}
.tf_dh a {
color: #333;
}
.tf_dh a:hover,.tf_dh  a:hover img,
.tf_dh input[type="submit"]:hover,
.tf_dh input[type="button"]:hover {
text-decoration: none;
cursor: pointer;
opacity: 0.70;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=80)";
}


* {
box-sizing: border-box;
}

.tf_dh .sp{display: none;}
@media screen and (max-width: 780px){
.tf_dh .sp{display: block;}
.tf_dh .pc{display: none;}
}
.mtSS{
margin-top: 10px;
}
.mtS{
margin-top: 30px;
}

.mtM{
margin-top: 50px !important;
}

.mtL{
margin-top: 100px;
}
.txt_bold{
font-weight: bold;
}
.fs_s{
font-size: 12px;
}
.fs_ss{
font-size: 10px;
word-break: break-all;
}
.fs_150{
font-size: 150%;
}
.txt_right{
text-align: right;
}
.txt_center{
text-align: center;
}
.mw800{
max-width: 800px;
}
.m_center{
margin-left:auto;
margin-right:auto;
}
@media screen and (max-width: 732px){
.mtL{
margin-top: 50px;
}

}
/*------------------------------------------*
* レイアウト
*------------------------------------------*/

.tf_dh #contents header:after,.tf_dh #contents div:after,.tf_dh #contents ul:after,.tf_dh #contents ll:after,.tf_dh #contents p:after {
content:none;
}

html {
height: 100%;
}
body {
-webkit-text-size-adjust: 100%;
width: 100%;
color: #333;
line-height: 1.8;
font-size: 16px;
min-height: 100vh;
overflow-x: hidden;
}
@media screen and (max-width: 732px){
body{
font-size: 14px;
}
}

footer{
padding: 20px;
}

.contents{
width: 100%;
max-width: 732px;
margin: 0 auto;
}

.wrapper{
max-width: 1600px;
margin: 0 auto;
}

.inner{
width: 90%;
max-width: 1000px;
margin: 0 auto;
}

.page_ttl{
font-size: 36px;
color: #ed6d00;
border-left: 10px solid;
padding-left: 15px;
line-height: 1.2;
font-weight: bold;
}
@media screen and (max-width: 732px){
.page_ttl{
font-size: 24px;
}
}

.header_tf_dh__lead{
background-image: linear-gradient(90deg, #fffef5, #fff4f4);
padding:80px 5%;
text-align: center;
}

.header_tf_dh__lead .ttl{
font-size: 32px;
margin: 0 0 20px;
}

.header_tf_dh__lead .lead{
font-size: 28px;
color: #ed6d00;
margin: 0 0 20px;
}

@media screen and (max-width: 732px){
.header_tf_dh__lead{}
.header_tf_dh__lead .lead{
font-size: 20px;
}
}


.tc a{
	color: #ed6d00;
}


.greeting .header{
display: flex;
align-items: center;
gap: 30px;

}

.greeting .header .dtl{
width: calc(100% - 30% - 30px);
}

.greeting .header .img{
width: 30%;
padding: 40px 0;
}

.greeting .header .dtl span{
font-size: 26px;
color: #ed6d00;
transform: rotate(348deg);
display: inline-block;

}

.greeting .header .dtl p{
font-size: 34px;
}

.greeting .txt{
background-image: linear-gradient(90deg, #fffef5, #fff4f4);
padding:80px 0;
}

@media screen and (max-width: 732px){
.greeting .header{
	padding: 50px 0 0;
flex-direction: column;}
.greeting .header .img,
.greeting .header .dtl{
	width: 100%;
}
.greeting .header .dtl p{
font-size: 20px;
}
}

.about{
background-color: #fff;
padding:80px 0;
}


.tokutyo{
background-image: linear-gradient(90deg, #fffef5, #fff4f4);
padding:80px 0;
}

.tokutyo .page_ttl {
display: flex;
align-items: center;
}

.tokutyo .page_ttl span:nth-of-type(1){
font-size: 180%;
}

.tokutyo .page_ttl span:nth-of-type(2),.tokutyo .page_ttl span:nth-of-type(3){
display: inline-flex;
width: 1.4em;
height: 1.4em;
background-color: #ed6d00;
color: #fff;
align-items: center;
justify-content: center;
margin: 0 3px;
border-radius: 50%;
}

.tokutyo h3{
font-size: 28px;
margin: 50px 0 20px;
font-weight: bold;
}

.tokutyo h3 span{
background-color: #ed6d00;
padding: 0 20px;
border-radius: 30px;
color: #fff;
margin-right:10px;
width: 5em;
display: inline-block;
text-align: center;
font-size: 90%;
}

.tokutyo .box{
display: flex;
align-items: center;
gap: 30px;

}

.tokutyo .box:nth-of-type(2){
flex-direction: row-reverse;
}

.tokutyo .box .txt{
width: calc(100% - 40% - 30px);
}

.tokutyo .box .img{
width: 40%;
}

@media screen and (max-width: 732px){
.tokutyo .page_ttl span:nth-of-type(2),.tokutyo .page_ttl span:nth-of-type(3){
font-size: 16px;
}
.tokutyo h3{
font-size: 20px;
}
.tokutyo h3 span{
	display: block;
	padding: 0 10px;
	margin: 0 0 5px;
}
.tokutyo .box{
	flex-direction: column !important;
}
.tokutyo .box .txt{
width: 100%;

}

.tokutyo .box .img{
width: 100%;
}
}

.intern{
padding: 80px 0;
background-color: #fff;
}
.intern .inner h3 {
color: #ed6d00;
text-align: center;
font-size: 28px;
margin: 50px;
font-weight: bold;
}


.intern_policy_box {
border: 2px solid #ed6d00;
padding: 30px;
background: #fff;
box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
margin: 30px 0;
}

.intern_policy_box__ttl {
color: #ed6d00;
font-weight: bold;
font-size: 24px;
margin-bottom: 10px;
border-bottom: 1px solid #ccc;
padding-bottom: 5px;
}

.intern_policy_box ul{
margin: 10px 0 0;
}

.intern_policy_box ul li{
font-size: 18px;
}
.intern_policy_box ul li::before {
content: '①';
color: #ed6d00;
font-weight: bold;
margin-right: 5px;
}

.intern_policy_box ul li:nth-child(2)::before { content: '②'; }
.intern_policy_box  ul li:nth-child(3)::before { content: '③'; }


@media screen and (max-width: 732px){
.intern .inner h3 {
font-size: 20px;
}
.intern_policy_box__ttl{
	font-size: 20px;
}
}


.intern_content {
margin-top: 50px;
padding: 50px 0;
}

.intern_content_wrap .intern_content:nth-of-type(odd){
background-image: linear-gradient(90deg, #fffef5, #fff4f4);
}

.intern_content_wrap .intern_content:nth-of-type(even){
background:#fff;
}


.intern_content h3{
font-size: 28px;
margin: 0 0 20px;
font-weight: bold;
display: flex;
width: 90%;
max-width: 1000px;
margin-left:auto;
margin-right:auto;
}

.intern_content h3 .num{
background-color: #ed6d00;
border-radius: 50%;
color: #fff;
margin-right: 10px;
width: 2em;
height: 2em;
line-height: 1.2;
display: inline-flex;
font-size: 90%;
justify-content: center;
align-items: center;
flex-direction: column;
}
.intern_content h3 .num span{
font-size: 12px;
display: block;
margin: 3px 0 0;
}

.intern_content .box{
display: flex;
align-items: center;
gap: 50px;
width: 90%;
max-width: 1000px;
margin-left:auto;
margin-right:auto;

}

.intern_content_wrap .intern_content:nth-of-type(2) .box,
.intern_content_wrap .intern_content:nth-of-type(4) .box{
flex-direction: row-reverse;
}

.intern_content .box .txt{
width: calc(100% - 30% - 30px);
}

.intern_content .box .txt ul{
margin: 20px 0 0;
padding-left: 20px;
}
.intern_content .box .txt ul li{
list-style: disc;
}
.intern_content .box .img{
width: 30%;
}
.intern_content .box img{
border-radius: 50%;
overflow: hidden;
}

@media screen and (max-width: 732px){
	.intern_content .box{
		flex-direction: column !important;
	}
.intern_content .box .img{
width: 100%;
text-align: center;
}
.intern_content .box .img img{
width: 100%;
max-width: 300px;
}
.intern_content .box .txt{
width: 100%;
}
.intern_content h3{
	font-size: 20px;
}
.intern_content h3 .num span{
		font-size: 10px;

}
}

.for_inrern{
max-width: 1000px;
margin-left:auto;
margin-right:auto;
padding: 80px 5%;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
text-align: center;
}

.for_inrern h3{
color: #ed6d00;
font-size: 28px;
margin: 0 0 20px;
font-weight: bold;
}
@media screen and (max-width: 732px){
.intern{
	padding-bottom: 0;
}
.for_inrern h3{
font-size: 20px;
}
}


.timeline{
background-color: #fff;
padding: 80px 0;
}



.timeline_wrap {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 20px;
position: relative;
}

.timeline_box_item {
width: calc(33.333% - 20px);
padding: 20px 15px;
position: relative;
}

.timeline_box_item img {
width: 100%;
}

.timeline_box_title {
font-weight: bold;
font-size: 16px;
margin-bottom: 10px;
display: flex;
align-items: center;
gap: 5px;
}

.timeline_box_title img {
width: 80px;
height: 80px;
}

.timeline_box_text {
font-size: 14px;
background-color: #ed6d00;
color: #fff;
padding: 10px;

}

/* --- 矢印 --- */
.timeline_box_item::after {
content: "" !important;
display: block;
position: absolute;
right: -30px;
top: 60%;
transform: translateY(-50%);
/* color: #ccc;
font-weight: bold;
font-size: 22px; */
width: 30px;
height: 22.6px;
background: #aaa;
clip-path: polygon(0 27.9%, 62.3% 27.9%, 62.3% 0, 100% 50%, 62.3% 100%, 62.3% 72.1%, 0 72.1%);


}

/* 最後のボックスは矢印を消す */
.timeline_box_item:last-child::after {
content: none !important;
}

@media screen and (max-width: 732px){
.timeline_wrap{
	flex-direction: column;
}
.timeline_box_item{
	width: 100%;
}

.timeline_box_item::after{
top: calc(100% + 10px);
transform: translate(0, -50%) rotate(90deg);
right: auto;
left: 50%;
}

}

.interview_content{
padding: 80px 0;
background-image: linear-gradient(90deg, #fffef5, #fff4f4);

}

.interview_content__link{
display: flex;
gap: 20px;
}

.interview_content__link a{
background-color: #fff;
color: #333;
padding: 0 0 10px;
}
.interview_content__link a img{
display: block;
margin: 0 0 10px;
}
.interview_content__link a p{
padding: 0 10px;
font-weight: normal;
}

.interview_content__link .name{
font-weight: bold;
}

.interview_content__link .name img{
height: 1.2em;
margin: 5px 0;
max-width: none;
}

.interview_content__link .date span{
font-weight: bold;
margin-right: 10px;
}
@media screen and (max-width: 732px){
.interview_content__link{
	flex-wrap: wrap;
}
.interview_content__link a{
	width: calc(50% - 10px);
}
}


.interview_list{
padding: 80px 0;
}

.interview_list h2{
position: relative;
background: #ed6d00;
color: #fff;
font-weight: bold;
font-size: 28px;
padding: 12px 40px 12px 20px;

}

.interview_list h2::after {
content: "" !important;
position: absolute;
top: 0;
right: -45px;
width: 0;
height: 0;
border-top: 75px solid transparent;
border-bottom: 0px solid transparent;
border-left: 45px solid #ed6d00;
}

.interview_list .box{
display: flex;
gap: 30px;
margin: 50px 0 0;
align-items: flex-start;
}

.interview_list .box .txt{
width: calc(100% - 30% - 30px);
}

.interview_list .box .txt p{
padding: 20px;
background-color: #fff;
}

.interview_list .box .txt h3{
font-size: 24px;
color: #ed6d00;
display: flex;
align-items: center;
margin: 0 0 20px;
}
.interview_list .box .txt h3 img{
height: 1em;
vertical-align: middle;
margin: 0 0 3px;
max-width: none;
}
.interview_list .box .txt h3::before{
content: "";
width: 30px;
height: 1px;
border-bottom: 1px solid ;
margin-right: 5px;
}

.interview_list .box .img{
width: 30%;
padding: 60px 0 0;

}

.interview_list .box .img img{
border-radius: 50%;
overflow: hidden;
}

.interview_list .box:nth-of-type(even){
flex-direction: row-reverse;
}
.interview_list .noto{
text-align: center;
width: 100%;
}
.interview_list .noto a{
text-decoration: underline;
color: #333;
}
@media screen and (max-width: 732px){
.interview_list h2 {
    font-size: 20px;
}
.interview_list h2::after {
 content: none;
}
.interview_list .box{
	flex-direction: column !important;
}
.interview_list .box .txt,
.interview_list .box .img{
width: 100%;
}
.interview_list .box .img{
	text-align: center;
}
.interview_list .box .img img{
max-width: 300px;
}

}
.voice{
padding: 80px 0;
background-color: #fff;
}
.voice h3{
font-size: 24px;
font-weight: bold;
margin-top: 30px;
display: inline-block;
border-bottom: 5px solid;
color: #ed6d00;
}
.voice dl{
margin: 30px 0 0;
}
.voice dt{
background-color: #ed6d00;
color: #fff;
padding: 10px;
font-size: 18px;
}

.voice dd{
padding: 20px 0 50px;
}

@media screen and (max-width: 732px){
.voice h3{
font-size: 20px;
}
.voice dt{
font-size: 16px;
}
}