@charset "utf-8";

body {
	background: #fff;
	font-family: hiragino-kaku-gothic-pron, "ヒラギノ角ゴ ProN", sans-serif;
	font-size: 18px;
	color: #000;
}
h1,h2,h3,h4,h5 {
	margin: 0;
	text-align: left;
	font-size: 20px;
	font-family: hiragino-kaku-gothic-pron, "ヒラギノ角ゴ ProN", sans-serif;
	letter-spacing: 0;
}

a:hover {
	opacity: 0.8;
}

img{
    width: auto;
    max-width: 100%;
    height: auto;
	display: block;
}

header {
	width: 100%;
	max-width: 100%;
	padding: 15px 10px 18px 10px;
	background: #fff;
	display: flex;
	justify-content: center;
    position: fixed;
    top: 0;
}

header .header__inner-left {
	display: flex;
	align-items: center;
}

header h1.header__title.header-title {
	width: 156px;
}

header .header__inner-left p.h_txt {
	font-size: 18px;
	margin-left: 6px;
}

header .header__inner {
	width: 100%;
	max-width: 1400px;
	display: flex;
	justify-content: space-between;
}

header .header__inner-right {
	display: flex;
	align-items: center;
}
header .header__inner-right nav {
	margin-right: 20px;
}

header nav ul {
	padding: 0;
	flex-direction: unset;
}
header nav li {
	margin: 20px 0 20px 20px;
	font-family: tt-commons-pro, sans-serif;
	font-size: 18px;
	letter-spacing: 1px;
}
header nav li a {
	color: #000;
}

section {
	padding: 0;
}
section p {
	margin: 0;
	line-height: 1;
}

h1.ttl {
    font-size: 84px;
    font-family: tt-commons-pro, sans-serif;
    color: #4b5363;
    font-weight: bold;
	line-height: 1.6;
}
h1.ttl span{
    font-size: 23px;
    line-height: 1;
    display: block;
    font-weight: 400;
	letter-spacing: 0;
}

h2.sub-ttl {
	font-size: 22px;
	line-height: 1.8;
}

.entryBtn {
	max-width: 460px;
	margin: 0 auto;
}
.entryBtn a{
	width: 100%;
    padding: 26px 0 24px;
    border-radius: 5px;
    display: block;
    background: #c9a84b;
    box-shadow: 0px 5px #e3d9be;
    font-size: 20px;
    color: #ffffff;
    position: relative;
	text-align: center;
	&::after{
		content: '';
		background: url(../img/graduate/icon_arrow.png)no-repeat;
		background-size: 100%;
		width: 21px;
		height: 16px;
		display: inline-block;
		position: absolute;
        right: 34px;
        top: 38%;
	}
}

main#new-graduate{
	margin-top: 118px;
}

@media screen and (max-width:768px) {
    body{
		background: #f9f7ec;
        /*font-size: calc(100vw * 12 / 500);*/
		font-size: 16px;
    }
    
    header{
        padding: 12px 2.4% 15px;
    }
    header h1.header__title.header-title{
        width: 43%;
    }
	header .header__inner-left{
		width: 57%;
	}
	header .header__inner-left p.h_txt{
		font-size: 9px;
	}
	
    header .header__inner-right{
        display: none;
    }

    #nav-input:checked ~ #nav-content{
        display: block;
    }

    #nav-open{
        width: 50px;
    }

    #nav-open span{
        top: 28px;
        rotate: 180deg;
    }
    #nav-open span, #nav-open span:before, #nav-open span:after{
        width: 40px;
        height: 2px;
    }

    #nav-drawer{
        width: 50px;
        height: 50px;
            top: -8px;
    }

    #nav-open span:before{
		width: 77%;
        left: 4px;
    }

    #nav-content{
        width: 75%;
        padding: 20% 20% 0 0;
    }
    label#nav-open:after{
        content: 'MENU';
        bottom: -22px;
        position: absolute;
        display: inline-block;
        font-size: 16px;
    }

    #nav-input:checked ~ #nav-open span::before{
		width: 40px;
		transform: rotate(45deg);
        left: -3px;
        bottom: -10px;
    }

	main{
		padding: 0 0 5%;
	}

	main#new-graduate{
		margin-top: 75px;
	}

    h1.ttl{
        font-size: 42px;
		line-height: 1.5;
    }
	h1.ttl span{
    	font-size: 16px;
	}

	h2.sub-ttl {
		font-size: 16px;
		line-height: 1.9;
	}

	.entryBtn{
		width: 80%;
	}

	.entryBtn a{
		padding: 5% 0 4.7%;
	    font-size: 16px;
		letter-spacing: -1px;
		&::after{
			width: 14px;
			right: 7px;
		}
	}
}



.mv {
    padding: 326px 0 4.8%;
    background: url(../img/graduate/mv.webp) no-repeat top center;
    background-size: cover;
    position: relative;
    text-align: center;
	z-index: 1;
}

.mv picture {
	margin: 0 auto 3.5%;
	display: inline-block;
}

.mv .arrow{
    width: 40px;
    transform: rotate(90deg);
    position: absolute;
    bottom: 56%;
    left: 0.4%;
}

.mv .arrow p {
    margin: 10px;
    padding: 0 0 0 10px;
	font-family: tt-commons-pro, sans-serif;
    font-size: 18px;
    padding-left: 5px;
    color: #67989e;
}
.mv .arrow span {
	display: block;
	width: 290px;
	height: 2px;
	background-color: #d0dfe1;
	position: relative;
	transform: scale(0, 1);
	transform-origin: top left;
	animation: arrow01 5s ease-in-out infinite forwards;
	writing-mode: vertical-lr;
}
@keyframes arrow01 {
    0% { transform: scale(0, 1); }
    30% { transform: scale(0, 1); }
    40% { transform: scale(1, 1); }
    85% { transform: scale(1, 1); opacity: 1;}
    90% { transform: scale(1, 1); opacity: 0; }
    100% { transform: scale(1, 1); opacity: 0; }
}
.mv .arrow span::after {
	content: "";
	display: block;
	width: 8px;
	height: 15px;
	border-right: 2px solid #d0dfe1;
	transform: rotate(-45deg) scale(1, 0);
	transform-origin: right bottom;
	position: absolute;
	bottom: 2px;
	right: 1px;
	animation: arrow02 5s ease-in-out infinite forwards;
}
@keyframes arrow02 {
    0% { transform: rotate(-45deg) scale(1, 0); }
    45% { transform: rotate(-45deg) scale(1, 0); }
    55% { transform: rotate(-45deg) scale(1, 1); }
    85% { transform: rotate(-45deg) scale(1, 1); opacity: 1;}
    90% { transform: rotate(-45deg) scale(1, 1); opacity: 0; }
    100% { transform: rotate(-45deg) scale(1, 1); opacity: 0; }
}

@media screen and (max-width:768px) {
	.mv{
		padding: 55% 0 7%;
	}
	.mv .arrow{
		display: none;
	}

	.mv picture{
	    margin: 0px auto 5.3%;
	}
}




.inner{
	max-width: 1080px;
	margin: 0 auto;
}

main figure{
	width: 100%;
    height: 100%;
    margin: 0;
    aspect-ratio: 1/1;
}

section{
	scroll-margin-top: 116px;
}

@media screen and (max-width:768px) {
	.inner{
		width: 96%;
	}
}


/* prologue */
section#prologue{
    margin-bottom: 78px;
	position: relative;
	z-index: 0;
	&::before{
		content: '';
        background: url(../img/graduate/bg_white.png);
        position: absolute;
        width: 100%;
        height: 104.8%;
        display: block;
        left: 0;
        top: -209px;
        z-index: -1;
	}
}

section#prologue h1 {
    margin: 117px 0 53px;
	font-size: 28px;
	font-weight: 600;
	color: #191919;
    text-align: center;
}

section#prologue .prologue_wrap{
	margin-bottom: 35px;
	display: flex;
	justify-content: center;
	position: relative;
	&::before{
		content: '';
		width: 4px;
		height: 100%;
		background: #79b2b4;
		position: absolute;
		left: -60px;
		top: 0;
	}
}

section#prologue .prologue_block p.txt{
	margin: 10px 0 19px;
    font-size: 20px;
	font-weight: 600;
	color: #79b2b4;
    line-height: 1.6;
}

section#prologue h2{
    font-size: 24px;
    font-weight: 600;
    color: #191919;
    line-height: 1.6;
    letter-spacing: 0px;
}
section#prologue p{
	margin-bottom: 50px;
	line-height: 1.8;
}

@media screen and (max-width:768px) {
	section#prologue{
		margin-bottom: 9.6%;
		padding: 1px 0;
		&::before{
			height: 80.8%;
			background: url(../img/graduate/bg_white.png) repeat-y top center;
			background-size: 100%;
			top: 0;
		}
	}
	section#prologue h1{
		font-size: 20px;
		margin: 11.2% 0 7.8%;
	}
	section#prologue h2{
		margin-bottom: 1%;
		font-size: 18px;
		letter-spacing: -1px;
	}
	
	section#prologue .prologue_wrap{
		width: 87%;
        margin: 0 auto 8.3%;
		display: block;
		&::before{
			height: 98%;
			left: -20px;
			top: 10px;
		}
		
	}

	section#prologue p{
		line-height: 1.85;
		margin: 0 auto 8%;
	}

	section#prologue .prologue_block{
		margin-bottom: 10%;
	}
	section#prologue .prologue_block p.txt{
		width: 100%;
		margin: 0 0 3.2%;
		font-size: 16px;
		line-height: 1.55;
	}
}


/* about */
section#about .about_wrap {
    display: grid;
    margin: 31px 0px 75px;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 76px;
}

section#about .about_block .img_block figcaption,
section#about .about_block .txt_block .ttl{
    margin: 17px 0 0;
	text-align: center;
	font-weight: 600;
	color: #4b5463;
	line-height: 1.8;
}
section#about .about_block .txt_block h2{
	min-height: 108px;
    margin-bottom: 19px;
    font-size: 20px;
    font-weight: bold;
    color: #191919;
    line-height: 1.8;
    text-align: center;
    border-bottom: 1px solid #191919;
    display: grid;
    place-content: center;
}

section#about .about_block .txt_block p.txt{
	line-height: 1.8;
}

@media screen and (max-width:768px) {
	section#about .about_wrap{
		margin: 4.1% 0px 4.1%;	
		grid-template-columns: 1fr;
		gap: 0;
	}

	section#about .about_block {
        margin-bottom: 11.4%;
		display: flex;
		align-items: flex-start;
		gap: 13px;
	}

	section#about .about_block .img_block {
		width: 35%;
        max-width: 150px;
	}
	section#about .about_block .img_block figcaption{
		display: none;
	}
	section#about .about_block .txt_block{
		width: 60%;
	}

	section#about .about_block .txt_block .ttl{
		margin: 0 0 3%;
		font-size: 16px;
		line-height: 1;
	}

	section#about .about_block .txt_block h2{
		margin-bottom: 4%;
        min-height: 60px;
        font-size: 18px;
        line-height: 1.4;
	}

	section#about .about_block .txt_block p.txt{
		line-height: 1.65;
	}

}



/* works */
section#work{
	margin-bottom: 78px;
}

section#work p.txt{
    margin: 26px 0 47px;
    line-height: 1.8;
}

section#work .works_block{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 61px 90px;
}

@media screen and (max-width:768px) {
	section#work{
		margin-bottom: 11%;
	}
	section#work p.txt{
    	margin: 2.8% 0 6%;
		line-height: 1.65;
		letter-spacing: -1px;
	}

	section#work .works_block{
		width: 94%;
        margin: 0 auto;
		grid-template-columns: 1fr 1fr;
		gap: 20px 15px;
	}

	section#work .works_block > div:last-child{display: none;}


}


/* career */
section#career {
	padding: 98px 0 102px;
	background: url(../img/graduate/bg_white2.png)repeat-y center top;
	background-size: 100%;
}

section#career .career_wrap {
	margin: 55px 0 31px;
    display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	counter-reset: listnum;
	position: relative;
	&::before, &::after{
		content: '';
		display: block;
		width: 101.7%;
		height: 1px;
		background: #000;
		position: absolute;
	}
	&::before{
		top: 0;
		left: -11px;
		z-index: 1;
	}
	&::after{
		bottom: 0;
		left: -11px;
	}
}

section#career .career_wrap .career_block{
	background: #fff;
	position: relative;
	&::before{
		content: '';
		display: block;
		width: 1px;
		height: 102.6%;
		background: #000;
		position: absolute;
		top: -8px;
		left: 0;
	}
}

section#career .career_wrap #career03{
	&::after{
		content: '';
		display: block;
		width: 1px;
		height: 102.6%;
		background: #000;
		position: absolute;
		top: -8px;
		right: 0;
	}
}

section#career .career_wrap .ttl_block{
	margin: 14px 5px 19px 28px;
}
section#career .career_wrap .ttl_block h2{
	margin-bottom: 18px;
	font-size: 54px;
	font-weight: 600;
	line-height: 1;
	color: #66989e;
	display: flex;
	align-items: center;
}
section#career .career_wrap .ttl_block h2 span{
	&::before{
	content: '';
	counter-increment: listnum;
	content: counter(listnum);
	font-size: 73px;
	font-weight: 500;
	font-family: tt-commons-pro, sans-serif;
	line-height: 1;
	}
}

section#career .career_wrap .ttl_block p.career_class{
	margin-bottom: 10px;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.6;
}

section#career .career_wrap .txt_block{
	margin: 0px 24px 30px 30px;
}
section#career .career_wrap .txt_block p{
	line-height: 1.8;
	letter-spacing: -1px;
}

section#career .career_wrap .img_block{
	padding: 10px 10px 15px;
	position: relative;
	&::before{
		content: '';
		display: block;
		width: 104.6%;
		height: 1px;
		background: #000;
		position: absolute;
		top: 0;
		left: -10px
	}
}

section#career p.career_txt{
	padding: 4px 12px;
    display: flex;
    align-items: center;
    position: relative;
	&::before{
        content: '';
        width: 4px;
        height: 100%;
        display: block;
        background: #79b3b5;
        position: absolute;
        left: 0;
        top: 0;
	}
}

@media screen and (max-width:768px) {
	section#career{
		padding: 14.4% 0px 13.2%;
	}
	
	section#career .career_wrap{
		margin: 7.2% auto 4.7%;
		width: 100%;
		grid-template-columns: 1fr;
		&::before {
			width: 104%;
		}
		&::after {
			width: 1px;
            height: 102.1%;
            left: auto;
            top: -8px;
            right: 0;
		}

	}

	section#career .career_wrap .career_block{
		padding-bottom: 1.6%;
		position: relative;
		&::after{
			content: '';
			display: block;
			width: 103%;
			height: 1px;
			background: #000;
			position: absolute;
			bottom: 0;
			left: -10px;
		}
		&::before{
			height: 105%;
			top: -9px;
	        left: -5px;
		}
	}

	section#career .career_wrap #career03{
		&::after{
			width: 103%;
			height: 1px;
			top: auto;
			right: auto;
			bottom: 0;
			left: -10px;
		}
	}

	section#career .career_wrap .ttl_block{
		margin: 0;
		padding: 5px 5px 8px 13px;
		display: flex;
		align-items: center;
	}
	section#career .career_wrap .ttl_block h2{
		margin-bottom: 0;
        font-size: 24px;
	}
	section#career .career_wrap .ttl_block h2 span{
		margin-bottom: 0;
		&::before{
			font-size: 40px;
		}
	}
	section#career .career_wrap .ttl_block p.career_class{
		margin-left: 3.4%;
		margin-bottom: 0;
		font-size: 16px;
	}

	section#career .career_wrap .career_box{
		width: 98%;
        margin: 0 auto;
		display: flex;
	}

	section#career .career_wrap .img_block{
		width: 35%;
		padding: 0;
		&::before {display: none;}
	}
	section#career .career_wrap .txt_block{
        width: 65%;
        margin: 0;
        padding: 0 0 0 3%;
	}
	section#career .career_wrap .txt_block p{
		line-height: 1.35;
		letter-spacing: -1px;

	}
}


/* guidelines */
section#guidelines {
    margin: 76px 0 76px;
}

section#guidelines .guidelines_block{
	margin: 55px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	position: relative;
	gap: 18px;
	counter-reset: listnum;
	&::before, &::after{
		content: '';
		display: block;
		width: 102.2%;
		height: 1px;
		background: #000;
		position: absolute;
	}
	&::before{
		top: 0;
		left: -11px;
		z-index: 1;
	}
	&::after{
		bottom: 0;
		left: -11px;
	}
}

section#guidelines .guidelines_block > div{
	padding: 30px 15px 23px;
	position: relative;
	&::before, &::after{
		content: '';
		display: block;
		width: 1px;
		height: 103.6%;
		background: #000;
		position: absolute;
		top: -8px;
	}
	&::before{
		left: 0;

	}
	&::after{
		right: 0;
	}
}

section#guidelines .guidelines_block > div p.no{
	margin-bottom: 23px;
	font-family: tt-commons-pro, sans-serif;
	color:#4b5463;	
	line-height: 1;
	letter-spacing: 0.7px;
	display: flex;
	align-items: center;
	&::after {
		content: '';
        width: 35px;
        height: 1px;
        background: #4b5463;
        display: block;
        margin-left: 0.7%;
    }
}
section#guidelines .guidelines_block > div p.no span{
    &::before {
        content: '0';
        counter-increment: listnum;
        content: "0" counter(listnum);
        line-height: 1;
    }
}

section#guidelines .guidelines_block > div h2{
    margin-bottom: 27px;
	color: #000;
	font-size: 28px;
	letter-spacing: 2px;
}
section#guidelines .guidelines_block > div h2 span{
    margin-top: 24px;
    display: block;
    font-family: tt-commons-pro, sans-serif;
    font-size: 18px;
    font-weight: normal;
    color: #4b5463;
    letter-spacing: 1px;
}

section#guidelines .guidelines_block > div h3{
    margin-bottom: 26px;
    padding-left: 6px;
    font-size: 20px;
    font-weight: 600;
    color: #4b5363;
    line-height: 1.3;
    border-left: 4px solid #79b3b5;
} 

section#guidelines .guidelines_block > div p.salary {
	margin-bottom: 19px;
    font-size: 23px;
    font-weight: 600;
    color: #4b5463;
}
section#guidelines .guidelines_block > div p.salary span{
    font-size: 48px;
    font-weight: 600;
	font-family: tt-commons-pro, sans-serif;
	line-height: 1;
    color: #4b5463;
}

section#guidelines .guidelines_block > div p.txt{
	margin-bottom: 40px;
}

section#guidelines .guidelines_block > div p.txt2{
	margin-bottom: 55px;
}

section#guidelines .guidelines_block > div ul.list{
	width: 85%;
}
section#guidelines .guidelines_block > div ul.list li{
	line-height: 2.3;
	border-bottom: 1px solid #ddd;
	display: flex;
	align-items: center;
	&::before{
		content: '・';
		display: inline-block;
	}
}

@media screen and (max-width:768px) {
	section#guidelines{
		margin: 11.4% 0;
	}
	section#guidelines .guidelines_block{
		width: 96%;
	    margin: 4% auto 12%;
		grid-template-columns: 1fr;
		&::before{
			width: 105%;
		}
		&::after{
			width: 1px;
			height: 101.4%;
			top: -8px;
			right: 0px;
			left: auto;
		}
	}

	section#guidelines .guidelines_block > div{
		position: relative;
		&::after {
        content: '';
        display: block;
        width: 105%;
        height: 1px;
        background: #000;
        position: absolute;
		bottom: 0;
		left: -11px;
		top: auto;
    	}
	}

	section#guidelines .guidelines_block > div p.no{
		margin-bottom: 3.4%;
		font-size: 14px;
	}

	section#guidelines .guidelines_block > div h2{
		font-size: 24px;
	}
	section#guidelines .guidelines_block > div h2 span{
		margin-top: 3.7%;
		font-size: 16px;
	}

	section#guidelines .guidelines_block > div h3{
		margin-bottom: 3.4%;
		font-size: 18px;
	}

	section#guidelines .guidelines_block > div p.salary{
		margin-bottom: 2.5%;
    	font-size: 16px;
	}
	section#guidelines .guidelines_block > div p.salary span{
        font-size: 28px;
        letter-spacing: 0;
	}

	section#guidelines .guidelines_block > div p.txt{
		margin-bottom: 8.5%;
		font-size: 16px;
	}
	section#guidelines .guidelines_block > div p.txt2{
		margin-bottom: 8.5%;
		font-size: 16px;
	}

	section#guidelines .guidelines_block > div ul.list{
		width: 100%;
	}
	section#guidelines .guidelines_block > div ul.list li{
		line-height: 2.4;
	}
}


/* schedule */
section#schedule{
	padding: 99px 0 41px;
	background: url(../img/graduate/bg_white2.png)repeat-y top center;
}

section#schedule .guid_block{
    margin-bottom: 60px;
}

section#schedule .guid_block h2{
	margin-bottom: 65px;
}

section#schedule .guid_block dl {
	margin-bottom: 35px;
    display: flex;
	position: relative;
	&::before {
		content: '';
        width: 90.5%;
        height: 1px;
        background: #4b5463;
        display: block;
        position: absolute;
        bottom: 45px;
        left: -12px;
    }
	&::after {
		content: '▼';
		font-size: 24px;
		color: #4b5463;
		line-height: 1;
		position: absolute;
		bottom: 25px;
        left: 83px;
    }
}

section#schedule .guid_block dt{
    width: 197px;
    height: 147px;
    padding: 10px 0 10px;
    background: #f8faf9;
    text-align: center;
}
section#schedule .guid_block dt span{
	margin-bottom: 25px;
	font-size: 23px;
	font-family: tt-commons-pro, sans-serif;
	color: #4b5363;
	display: block;
}

section#schedule .guid_block dd{
	width: 767px;
    padding: 0 0 0 37px;
}
section#schedule .guid_block dd h3{
    margin-bottom: 30px;
    font-size: 20px;
    font-weight: 600;
    color: #4b5463;
    line-height: 1;
}

@media screen and (max-width:768px) {
	section#schedule{
		padding: 13.1% 0 4%;
	}

	section#schedule h1.ttl{
		letter-spacing: -2px;
	}
	section#schedule .guid_block{
		margin-bottom: 10%;
	}
	section#schedule .guid_block h2{
		margin-bottom: 7%;
	}

	section#schedule .guid_block dl {
		margin-bottom: 5%;
		&::before{
            width: 103%;
            bottom: -6%;
            left: -10px;
		}
		&::after{
			font-size: 14px;
            bottom: -17%;
            left: 9%;
		}
	}
	section#schedule .guid_block dl:last-child{
		&::before{
			bottom: 0;
		}
		&::after{display: none;}
	}

	section#schedule .guid_block dt{
		width: 25%;
		max-width: 197px;
		height: 100px;
		padding: 21px 0 1px;
		font-size: 16px;
	}
	section#schedule .guid_block dt span{
		margin-bottom: 13%;
		font-size: 18px;
	}
	section#schedule .guid_block dd{
		width: 81%;
        max-width: 767px;
        padding: 9px 0 0 2%;
        line-height: 1.4;
	}
	section#schedule .guid_block dd h3{
		margin-bottom: 5%;
        font-size: 16px;
	}
}	


/* column */
section#column {
	max-width: 1120px;
	margin: 4.8% auto 7.2%;
	padding: 36px 0 28px;
	background: #fff url(../img/recruit/column_bg.png)no-repeat top center;
	box-shadow: 0 0 10px 0px #ccc;
}

section#column h1 {
	margin-bottom: 23px;
	font-size: 31px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;

}

section#column .colmn_wrap {
	display: flex;
	padding: 0 63px;
}

section#column .colmn_wrap article {
	width: 33%;
}

section#column .colmn_wrap article .img_block {
	width: 100%;
	height: 200px;
	margin-bottom: 20px;
}

section#column .colmn_wrap article .img_block img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

section#column .colmn_wrap article time.date {
	margin: 6px 0 10px 6px;
	display: flex;
	font-size: 16px;
	font-family: tt-commons-pro, sans-serif;
	color: rgb(102, 152, 158);
	line-height: 1.2;
}

section#column .colmn_wrap article time.date>span {
	width: 12px;
	margin-right: 10px;
	display: block;
}

section#column .colmn_wrap article h2 {
	margin: 0 0 10px;
	font-size: 20px;
	color: rgb(40, 170, 176);
	line-height: 1.6;
	text-align: left;
	letter-spacing: 0;
	font-weight: 500;
}

section#column .colmn_wrap article p {
	width: 92%;
	font-size: 16px;
	line-height: 1.6;
}

section#column .colmn_wrap article .more_btn {
	width: 150px;
	margin: 32px auto 0;
	font-family: tt-commons-pro, sans-serif;
	font-size: 18px;
	position: relative;
}

section#column .colmn_wrap article .more_btn:after {
	content: '';
	display: block;
	background: url(../img/recruit/viewmore.png) no-repeat;
	background-size: 100%;
	width: 41px;
	height: 18px;
	position: absolute;
	right: -16px;
	top: 9px;
}

section#column .colmn_wrap article .more_btn a {
	width: 100%;
	display: block;
	border: 1px solid #66989e;
	border-radius: 50px;
	text-align: center;
	padding: 6px 0 8px;
	color: #66989e;
}

@media screen and (max-width:768px) {
	section#column{
		width: 98%;
		scroll-margin-top: 75px;
	    margin: 0 auto 7.2%;
		padding: 5% 0 1px;
		background: #fff url(../img/recruit/column_bg-sp.png) no-repeat top center;
		background-size: 100%;
	}

	section#column h1{
	    margin-bottom: 9%;
	}
	

	section#column .colmn_wrap{
	    padding: 0 4% 1px;
	    display: block;
	}	
	section#column .colmn_wrap article{
        width: 100%;
        margin-bottom: 10%;
        display: flex;
        column-gap: 24px;
	}

	section#column .left_block{
	    width: 43%;
    max-width: 290px;
	}
	section#column .colmn_wrap article .img_block{
	    height: 75%;
	    margin-bottom: 10px;
	}

	section#column .txt_block{
		width: 55%;
	}

	section#column .colmn_wrap article h2{
		margin-bottom: 2px;
	}

	section#column .colmn_wrap article p{
	    width: 100%;
    line-height: 1.6;
	}

	section#column .colmn_wrap article .more_btn{
		width: 50%;
        max-width: 160px;
        margin: 5% 0 0 40%;
	}

	section#column .colmn_wrap article .more_btn:after{
	    width: 31px;
	    top: 6px;
	}

}


/* entry */
section#entry {
	background: #f9f7ec;
	padding: 1.8% 0 5%;
}

section#entry h1.ttl2 {
	color: #000;
}

section#entry p.sub-ttl2 {
	margin: 1.4% 0 2.2%;
	color: rgb(103, 152, 158);
}

section#entry .step_block {
	max-width: 891px;
	margin: 0 auto 30px;
	display: flex;
	align-items: normal;
}

section#entry .step_block .no {
	background: #ACDADF;
	writing-mode: vertical-lr;
	color: #fff;
	text-align: left;
	padding: 24px 24px;
	font-size: 18px;
	letter-spacing: 0;
	margin-right: 1px;
	border-radius: 20px 5px 5px 20px;
}

section#entry .step_block .inner {
	width: 100%;
	padding: 30px 10px 35px 0;
	background: #ACDADF;
	display: flex;
	align-items: center;
	border-radius: 5px 20px 20px 5px;

}

section#entry .step_block .inner .img_block {
	width: 30%;
	max-width: 159px;
	margin: 0 115px 0 70px;
}

section#entry .step_block .inner .txt_block {
	width: 70%;
	max-width: 440px;
	padding: 30px 10px 31px;
	background: #fff;
	border-radius: 8px;

}

section#entry .step_block .inner .txt_block h2 {
	margin: 0 auto 20px;
	font-size: 22px;
	font-weight: 600;
	color: rgb(103, 152, 158);
	line-height: 1.6;
}

section#entry .step_block .inner .txt_block p {
	font-size: 18px;
	line-height: 1.6;
	display: flex;
	justify-content: center;
}

@media screen and (max-width:768px) {
	section#entry{
	    padding: 5% 0 3.8%;
	}
	section#entry p.sub-ttl2{
		margin: 2.6% 0 4.2%;
	}
	section#entry .step_block{
		width: 97%;
		max-width: 730px;
		margin-bottom: 0 auto 2.6%;
	}

	section#entry .step_block .no{
	    border-radius: 10px 5px 5px 10px;
		padding: 24px 3%;
	}

	section#entry .step_block .inner{
	    padding: 5% 10px 5% 0;
		border-radius: 5px 10px 10px 5px;
	}
	section#entry .step_block .inner .img_block{
		margin: 0 3%;
	}
	section#entry .step_block .inner .txt_block{
		padding: 1.4% 0 6%;
	}

	section#entry .step_block .inner .txt_block h2{
		    margin: 0 auto 1.6%;
	}

	section#entry .step_block .inner .txt_block p{
		width: 86%;
		margin: 0 auto;
		line-height: 1.6;
	}

}


/* faq */
section#faq {
	margin-bottom: 6.1%;
	padding: 47px 0 0;
	background: url(../img/recruit/faq_bg.png) repeat-x top;
}

section#faq h2.sub-ttl {
	margin-bottom: 4%;
}

section#faq details {
	max-width: 980px;
	margin: 0 auto 4.2%;

	&[open] .icon {
		&::after {
			transform: rotate(0);
			right: -5px;
		}
		&::before {
			display: none;
		}
	}
}

section#faq details summary {
	background: #fff;
	box-shadow: 0 0 10px 0px #ccc;
	border-radius: 10px;
	padding: 17px 10px 27px 23px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
}

section#faq details summary span {
	width: 96%;
	font-size: 24px;
	font-weight: 600;
	color: #66989e;
	line-height: 1.6;
	display: flex;
	align-items: center;
	position: relative;

	&:before {
		content: 'Q';
		font-size: 47px;
		font-family: tt-commons-pro, sans-serif;
		font-weight: 500;
		color: rgb(102, 152, 158);
		line-height: 1.2;
		display: inline-block;
		margin-right: 25px;
	}

}

section#faq details summary .icon {
	display: block;
	position: relative;
	width: 24px;
	transform-origin: center 43%;
	transition: transform 0.4s;

	/* アイコンのバーのスタイル */
	&::before,
	&::after {
		content: "";
		position: absolute;
		display: block;
		width: 23px;
		height: 4px;
		background-color: #66989e;
	}

	&::before {
		left: -7px;
		transform: rotate(0);
	}

	&::after {
		right: 8px;
		transform: rotate(90deg);
	}
}

section#faq details .content {
	background: none;
	background: #e7eff1;
	padding: 21px 39px 26px;
	border-radius: 0 0 10px 10px;
	margin-top: -6px;
}

section#faq details .content p {
	font-size: 18px;
	line-height: 1.6;
	display: flex;
	column-gap: 20px;

	&:before{
		content: '';
		background: url(../img/recruit/faq_q_icon.png)no-repeat;
		background-size: 100%;
		width: 22px;
		height: 23px;
		display: block;
	}
}
section#faq details .content p span{
	width: 98%;
}

@media screen and (max-width:768px) {
	section#faq details{
	    width: 98%;
		margin: 0 auto 5%;
	}

	section#faq details summary span {
		width: 90%;
		font-size: 16px;
	    &:before {
			margin-right: 12px;
		    font-size: 32px;
		}
	}
	section#faq details .content{
        padding: 2.5% 5% 2%;
	}

	section#faq details summary{
		padding: 3% 10px 3% 13px;
	}

	section#faq details summary .icon{
		width: 21px;
		&::before, &::after{
		width: 20px;
		height: 3px;
		}
	}

	section#faq details .content p{
	    column-gap: 10px;
		font-size: 16px;
		&:before {
        width: 19px;
        height: 19px;
		}
	}
}

aside.entry_block {
	width: 100%;
	margin: 0 auto 5.7%;
	padding: 8px 6px;
	background: url(../img/graduate/entry_bg.png), url(../img/graduate/entry_bg.png), linear-gradient(90deg,rgba(248, 245, 240, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(248, 245, 240, 1) 100%);
	background-position: top center, bottom center;
	background-size: 100%;
	background-repeat: no-repeat, no-repeat;
}

aside.entry_block .inner {
    padding: 2.1% 0 2.8%;
    text-align: center;
}

aside.entry_block h1{
	margin-bottom: 38px;
    text-align: center;
    font-size: 47px;
    font-family: tt-commons-pro, sans-serif;
    color: #b18e54;
    font-weight: bold;
    line-height: 1;
}

aside.entry_block p.txt{
	margin-bottom: 46px;	
	font-size: 27px;
    font-weight: 600;
    line-height: 1.6;
}


@media screen and (max-width:768px) {
	aside.entry_block .inner{
		padding: 4.8% 0 3.6%;
	}
	aside.entry_block h1{
		margin-bottom: 5.5%;
		font-size: 32px;
	}
	aside.entry_block p.txt{
		margin-bottom: 7%;
		font-size: 16px;
	}
}


.footer_info .address p{
	font-size: 18px;
	font-family: classico-urw, sans-serif;
	line-height: 1.7;
}

.footer_reserve{

}

.footer_reserve a{
	width: 100%;
	max-width: 397px;
	padding: 22px 15px;
	border-radius: 14px;
	font-size: 24px;
    background: #67989e;
    box-shadow: 0 7px #acdadf;
}

.footer_reserve .entry_block{
	width: 100%;
    max-width: 397px;
}

.footer_reserve .entry_block a{
	background: #c6b27b;
	box-shadow: 0 7px #e3d9be;
	color: #625344;
}

ul.nav_insta li:nth-child(2){display: none;}

.footer_info .pc_qr{display: none!important;}

@media screen and (max-width:768px) {
	footer{
		padding: 10% 5% 20px 5%;
	}
	footer .logo{
		width: 110px;
        margin: 0 auto 5%;
	}

	.footer_info > div > div{
		display: flex;
	}

	.footer_info > div > div.colmun3 {
    	display: block;
	}

	.footer_reserve > a{
		width: 35%;
	}
	
	.footer_reserve{
		flex-wrap: wrap;
	}

	.footer_reserve a{
		padding: 5px 0px;
		font-size: 16px;
		border-radius: 5px;
		box-shadow: 0 4px #acdadf;
	}
	.footer_reserve a:nth-child(3){
		padding: 5px 15px;
	}

	.footer_reserve .entry_block{
        width: 40%;
        margin: 1% 0 2%;
	}
	.footer_reserve .entry_block a{
		width: 100%;
		padding: 10px 0;		
		border-radius: 5px;
		font-size: 16px;
	}

	.footer_info .address p{
		font-size: 16px;
	}
	

	.footer_info .recruit,
	.footer_info .phone{
		display: none;
	}

	.footer_info .contact,
	.footer_info .sns{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.footer_info .contact strong,
	.footer_info .sns strong{
		width: 30%;
		margin-right: 10px;
	} 

	.footer_info .sns > div{
	    display: block;
	    width: 80%;
	}
	

}

.s_bnr{
	max-width: 520px;
	margin: 3% auto 2%;
}
@media screen and (max-width:768px) {
	.s_bnr{
		width: 80%;
		margin: 4% auto 2%;
	}

	main#new-graduate section#prologue .prologue_wrap .prologue_block{
		max-width: 100% !important;
	}
}	

/* === Prologue 視覚改善（タツ追加 2026-04-27） === */
section#prologue {
    padding-top: 60px;
    padding-bottom: 80px;
    background: linear-gradient(180deg, #ffffff 0%, #faf6f1 100%);
}
section#prologue h1 {
    line-height: 1.7;
    letter-spacing: 0.08em;
    margin-top: 80px;
    margin-bottom: 70px;
    position: relative;
}
section#prologue h1::after {
    content: '';
    display: block;
    width: 56px;
    height: 2px;
    background: #c8b8a0;
    margin: 28px auto 0;
}
section#prologue h2 {
    line-height: 1.75;
    letter-spacing: 0.05em;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #ece7df;
}
section#prologue p {
    letter-spacing: 0.02em;
    color: #3a3a3a;
}
section#prologue .prologue_block p.txt {
    letter-spacing: 0.05em;
    line-height: 1.8;
}
section#prologue .prologue_block img {
    border-radius: 10px;
    box-shadow: 0 14px 40px -10px rgba(60, 50, 40, 0.18);
    transition: transform .6s ease;
}
section#prologue .prologue_block img:hover {
    transform: translateY(-4px);
}
section#prologue .prologue_wrap {
    align-items: center;
    gap: 56px;
    margin-bottom: 64px;
    padding: 0 24px;
}
section#prologue .prologue_wrap::before {
    background: linear-gradient(180deg, #c8b8a0, #79b2b4) !important;
}
@media screen and (max-width: 768px) {
    section#prologue {
        padding-top: 40px;
        padding-bottom: 50px;
    }
    section#prologue h1 {
        margin-top: 40px;
        margin-bottom: 40px;
        font-size: 20px;
    }
    section#prologue h1::after {
        margin: 18px auto 0;
        width: 40px;
    }
    section#prologue h2 {
        font-size: 18px;
        padding-bottom: 8px;
        margin-bottom: 14px;
    }
    section#prologue .prologue_wrap {
        gap: 24px;
        margin-bottom: 40px;
        padding: 0 12px;
    }
}


/* === Footer logo crop: hide PHOTO STUDIO text on new-graduate page === */
body.page-id-6736 footer .logo .footer_logo{display:inline-block;overflow:hidden;height:70px;line-height:0;vertical-align:top;}
body.page-id-6736 footer .logo .footer_logo img{display:block;}
