
body {
    background: #eff7ef;
	font-family: "zen-kaku-gothic-new", sans-serif;
    font-weight: 400;
	position: relative;
    overflow-x: hidden;
	-webkit-text-size-adjust: 100%; /* iphone横向き 文字拡大防止 */
}
img {
	display: block;
	width: 100%;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
a {
	text-decoration: none;
	color: #000;
	transition: all .3s;
}
a:hover {
	filter: brightness(1.15);
}
p {
	font-size: min(1.3vw,16px);
	line-height: 2.2;
}

:root {
    --green: #0c7a00;
    --green2: #52c64b;
    --bg_green: #dae5da;
    --gray: #c6c6c6;
}
/*==================================================================================
ヘッダー
==================================================================================*/
header {
	width: 100%!important;
    padding: 20px 0!important;
    position: fixed;
    top: 0;
    left: 0;
	z-index: 9999;
}
header.index {
	transform: translateY(-100%);
	opacity: 0;
	transition: all .6s;
}
header.index.on,
header.index.fadedown {
	transform: translateY(0);
	opacity: 1;
}
header .logo {
    display: flex;
    align-items: center;
	position: relative;
	z-index: 9999;
	transition: all .3s;
}
header.on .logo {
	margin: 0 0 0 90px;
	padding: 15px 30px;
	border-radius: 50px;
	background: #fff;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
}
header .logo img {
    width: 240px;
    margin-right: 20px;    
}
header .logo span {
	display: inline-block;
	margin-top: 10px;
	letter-spacing: 0.05em;
}
header .btn {
	width: 13em;
	height: 5.5em;
    padding: 0;
	position: relative;
	z-index: 9999;
}
header .btn::after {
    display: none;
}
header .btn span {
    display: block;
    width: 100%;
    text-align: center;
}

/* メニュー -----------------------*/
nav.gnav {
	width: 100%;
	background: rgba(227,235,227,0.7);
    position: fixed;
	top: 0;
	left: 0;
	transition: all 0.3s;
}
header.on nav.gnav.active {
	height: 100vh;
}
nav.gnav ul {
	position: absolute;
	top: 120px;
	left: 40px;
}
header.on nav.gnav.active ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: calc(100% - 80px);
	max-width: 960px;
	box-sizing: border-box;
	padding: 60px 40px;
	border-radius: 40px;
	background: #fff;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
	transition: all .3s;
}
nav.gnav ul li {
    margin-bottom: 1.5em;
	position: relative;
}
header.on nav.gnav ul li {
	display: none;
	width: 47%;
	opacity: 0;
	visibility: hidden;
}
header.on nav.gnav ul li:nth-last-child(2),
header.on nav.gnav ul li:last-child {
    margin-bottom: 0;
}
header.on nav.gnav.active ul li {
	display: block;
    opacity: 1;
	visibility: visible;
	animation: gnav_on_menu 1s;
}
@keyframes gnav_on_menu {
	0% {opacity: 0; transform: translateY(-10px);}
	40% {opacity: 0; transform: translateY(-10px);}
	100% {opacity: 1; transform: translateY(0);}
}
nav.gnav ul li a {
    display: block;
}
header.on nav.gnav.active ul li a.parents {
	padding-bottom: .4em;
	border-bottom: 1px #000 solid;
	font-size: 1.6em;
	line-height: 1.6;
}
nav.gnav ul li a.parents span {
	display: none;
	color: #999;
	font-size: .6em;
	letter-spacing: 0.05em;
}
header.on nav.gnav.active ul li a.parents span {
	display: block;
}
nav.gnav ul li a:hover {
	filter: none;
    color: var(--green2);
}
nav.gnav ul li ul.child {
	top: 0;
	left: 0;
    opacity: 0;
	visibility: hidden;
}
header.on nav.gnav.active ul li ul.child {
	width: auto;
	margin: 20px 0 0;
	padding: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	position: relative;
    opacity: 1;
	visibility: visible;
}
header.on nav.gnav.active ul li ul.child li {
	width: 100%;
	margin-bottom: 1.2em;
	padding-left: 1em;
	position: relative;
	animation: none;
}
header.on nav.gnav.active ul li ul.child li::before {
	content: "-";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
.gnavToggle {
    display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
	align-items: center;
    width: 77px;
    height: 77px;
	border-radius: 50%;
	background: var(--green2);
    text-align: center;
    cursor: pointer;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
    position: absolute;
    top: 50%;
    left: 40px;
	transform: translateY(-50%);
	transition: all .3s;
	opacity: 0;
	visibility: hidden;
    z-index: 9999;
}
header.on .gnavToggle {
    opacity: 1;
	visibility: visible;
}
.gnavToggle span {
    display: block;
    width: 40px;
	margin-bottom: 5px;
    border-bottom: 3px #fff solid;
    transition: .35s ease-in-out;
}
.gnavToggle span:last-child {
	margin-bottom: 0;
}
.gnavToggle.active span:nth-child(1) {
    transform: translateY(4px) rotate(-30deg);
}
.gnavToggle.active span:nth-child(2) {
    transform: translateY(-4px) rotate(30deg);
}


/*==================================================================================
共通
==================================================================================*/
/* レイアウト */
section {
    padding: 10vw 0 0!important;
}
.container {
	width: calc(100% - 80px);
	padding: 0 40px;
    position: relative;
    z-index: 2;
}
.max1200 {
	max-width: 1200px;
	margin: auto;
}
.max960 {
	max-width: 960px;
	margin: auto;
}
.max640 {
	max-width: 640px;
	margin: auto;
}
.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.row.align_center {
	align-items: center;
}
.row.align_end {
	align-items: flex-end;
}
.row.align_start {
	align-items: flex-start;
}
.row.just_center {
	justify-content: center;
}
.row.just_start {
	justify-content: flex-start;
}
.row.just_end {
	justify-content: flex-end;
}
.col3 {
    width: calc((100% / 3) - 3.5%);
}
.col2 {
    width: 47%;
}

.wrap {
    display: inline-block;
}

.mb_5 {
	margin-bottom: 5px;
}
.mb_10 {
	margin-bottom: 10px;
}
.mb_20 {
	margin-bottom: 20px;
}
.mb_30 {
	margin-bottom: 30px;
}
.mb_60 {
	margin-bottom: 60px;
}
.mb_120 {
	margin-bottom: 120px;
}

/* フォント */
.font_14 {
	font-size: min(1.2vw,14px);
}
.font_16 {
	font-size: min(1.3vw,16px);
}
.font_20 {
	font-size: min(1.6vw,20px);
}
.font_24 {
	font-size: min(1.8vw,24px);
}
.font_30 {
	font-size: min(2.4vw,30px);
}
.font_34 {
	font-size: min(2.6vw,34px);
}
.font_40 {
	font-size: min(3.4vw,40px);
}
.font_50 {
	font-size: min(4vw,50px);
}
.font_60 {
	font-size: min(4.4vw,60px);
}
.font_70 {
	font-size: min(5.5vw,70px);
}
.font_100 {
	font-size: min(7vw,100px);
}
.txt_center {
	text-align: center;
}
.txt_right {
	text-align: right;
}
.bold {
	font-weight: 700;
}
.medium {
	font-weight: 500;
}
.eng {
    font-family: "gill-sans-nova", sans-serif;
    font-weight: 600;
}
.line1 {
    line-height: 1;
}
.line1_4 {
    line-height: 1.4;
}
.line1_6 {
    line-height: 1.6;
}
.line1_8 {
    line-height: 1.8;
}
.green {
    color: var(--green);
}
.green2 {
    color: var(--green2);
}
.white {
    color: #fff;
}
.indent {
    padding-left: 1em;
    text-indent: -1em;
}

/* ボタン */
.btn {
    display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
    box-sizing: border-box;
	width: 18em;
	height: 4em;
	padding: 0 5rem;
    border-radius: 50px;
    background: var(--green);
    color: #fff;
	text-align: center;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
    position: relative;
	white-space: nowrap;
}
.btn::after {
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url("../img/icon_arrow.png") center center / contain no-repeat;
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
    transition: all .3s;
}
.btn.entry {
    background: var(--green2);
}
.btn:hover {
    transform: scale(1.06);
}
.btn:hover::after {
    animation: btn_arrow .6s;
}
@keyframes btn_arrow {
    0% {transform: translateY(-50%);}
    33.3% {transform: translateY(-50%) translateX(20px); opacity: 0;}
    66.6% {transform: translateY(-50%) translateX(-10px); opacity: 0;}
    100% {transform: translateY(-50%) translateX(0); opacity: 1;}
}
.anker {
    padding-top: 120px;
    margin-top: -120px;
}

/* イメージ */
.img_round {
    border-radius: 40px;
    overflow: hidden;
}
img.cover {
    height: 100%;
    object-fit: cover;
}

/* アニメーション -----------*/
.animated.fadeinup {
	animation: fadeinup .6s;
}
@keyframes fadeinup {
	0% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinup.second {
	animation: fadeinup_2nd 1.2s;
}
@keyframes fadeinup_2nd {
	0% {opacity: 0; transform: translateY(30px);}
	50% {opacity: 0; transform: translateY(30px);}
	100% {opacity: 1; transform: translateY(0);}
}
.animated.fadeinright {
	animation: fadeinright .6s;
}
@keyframes fadeinright {
	0% {opacity: 0; transform: translateX(30px);}
	100% {opacity: 1; transform: translateX(0);}
}
.animated.fadeinright.second {
	animation: fadeinright_2nd 1.2s;
}
@keyframes fadeinright_2nd {
	0% {opacity: 0; transform: translateX(30px);}
	50% {opacity: 0; transform: translateX(30px);}
	100% {opacity: 1; transform: translateX(0);}
}
.yay {
    opacity: 0;
    transform: translateY(2px);
    transition: all 1s;
}
.yay.fadeinup {
    transform: translateY(20px);
}
.yay.fadeinright {
    transform: translateX(20px);
}
.yay.on {
    transform: translateY(0);
    opacity: 1;
}
.yay.fadeinup.second.on {
    animation: yay_up_2nd 1.2s;
}
@keyframes yay_up_2nd {
	0% {opacity: 0; transform: translateY(20px);}
	16.66% {opacity: 0; transform: translateY(20px);}
	100% {opacity: 1; transform: translateY(0);}
}


/*==================================================================================
メイン
==================================================================================*/
section#main {
    padding: 20vh 0 0!important;
	position: relative;
	overflow: hidden;
}
section#main video,
section#main .bg {
	width: 100%;
	max-width: 1800px;
	position: absolute;
	top: -7%;
	left: 47%;
	transform: translateX(-50%);
}
section#main h1 {
    margin-bottom: 20vh;
	font-size: min(5.6vw,90px);
    letter-spacing: 0.05em;
    opacity: 0;
    transform: translateY(20%);
    transition: all .6s;
}
section#main.active h1 {
	opacity: 1;
	transform: translateY(0);
}
/* スライダー */
section#main .slider {
	width: 100%;
    position: relative;
    z-index: 3;
    /*overflow: hidden;*/
    opacity: 0;
    transition: all .6s;
}
section#main.active .slider {
	opacity: 1;
}
section#main .slider ul {
	display: flex;
	min-width: 100%;
	width: min-content;
	animation: 100s linear infinite slider;
	position: relative;
    pointer-events: none;
}
section#main .slider ul li {
	width: 23vw;
    max-width: 540px;
    margin-right: 3vw;
	position: relative;
}
section#main .slider ul li::before {
	content: "";
    display: block;
    width: 60%;
    height: 100%;
    background: url("../img/main_slide01_bf.png") left top / contain no-repeat;
    position: absolute;
    top: 0;
    left: 10%;
}
section#main .slider ul li.img02::before {
    background: url("../img/main_slide02_bf.png") left top / contain no-repeat;
    left: -30%;
}
section#main .slider ul li.img03::before {
    background: url("../img/main_slide03_bf.png") left bottom / contain no-repeat;
    top: auto;
    bottom: 0;
    left: -40%;
}
section#main .slider ul li.img04::before {
    background: url("../img/main_slide04_bf.png") left top / contain no-repeat;
    top: 10%;
    left: -25%;
}
section#main .slider ul li.img05::before {
    background: url("../img/main_slide05_bf.png") left top / contain no-repeat;
    left: -30%;
}
section#main .slider ul li.img06::before {
    background: url("../img/main_slide06_bf.png") left top / contain no-repeat;
    left: -30%;
}
section#main .slider ul li.img07::before {
    background: url("../img/main_slide07_bf.png") left top / contain no-repeat;
    top: -10%;
    left: -30%;
}
section#main .slider ul li.img08::before {
    background: url("../img/main_slide08_bf.png") left top / contain no-repeat;
    top: 10%;
    left: -30%;
}
section#main .slider ul li.img08::after {
	content: "";
    display: block;
    width: 60%;
    height: 100%;
    background: url("../img/main_slide08_af.png") right top / contain no-repeat;
    position: absolute;
    top: 0;
    right: 0;
}
@keyframes slider {
	0% {transform: translateX(0);}
	100% {transform: translateX(-50%);}
}

/* -------------------------------------------------------------------------------*/
section#about {
	padding-top: 14vw!important;
	background: linear-gradient(to bottom, transparent 0%, #eff7ef 5%, #eff7ef 100%);
    position: relative;	
	opacity: 0;
	transition: all .6s;
}
section#about.active {
	opacity: 1;
}
section#about::before {
    content: "";
    display: block;
    width: 100%;
    height: 75vw;
    min-height: 130%;
    background: url("../img/bg_wave01.gif") center top / contain no-repeat, url("../img/bg_wave02.gif") center bottom / contain no-repeat;
    position: absolute;
    top: -15%;
    left: 0;
}

/* 数字で見るイトウ ------------------------------------------------------------------*/
section#top_numbers .boad {
    padding: 4vw;
    border: 5px var(--green) solid;
    border-radius: 40px;
    background: #fff;
}
section#top_numbers .col3 {
    position: relative;
}
section#top_numbers .col3::after {
    content: "";
    display: block;
    height: 100%;
    border-right: 2px var(--gray) dashed;
    position: absolute;
    top: 0;
    right: -20px;
}
section#top_numbers .col3:last-child::after {
    display: none;
}
section#top_numbers .ttl span {
    display: inline-block;
    padding-bottom: .8em;
    border-bottom: 2px var(--green) solid;
    letter-spacing: 0.05em;
}
.countup {
    position: relative;
}
.countup span.eng {
    display: inline-block;
    margin-right: 5px;
    position: relative;
    top: 10px;
}
.countup span.icon {
    display: inline-block;
    width: 45px;
    margin-right: 5px;
    position: relative;
    top: 3px;
}

/* 先輩の1日 -----------------------------------------------------------------------*/
section#top_oneday {
    overflow: hidden!important;
}
section#top_oneday h2 {
    writing-mode: tb-rl;
    letter-spacing: 0.2em;
}
section#top_oneday h2 .eng {
    letter-spacing: 0.05em;
}
section#top_oneday .row.bg {
    position: relative;
}
section#top_oneday .row.bg::before {
    content: "";
    display: block;
    width: calc(85% + ((100vw - 100%) / 2));
    height: 100%;
    background: var(--bg_green);
    border-radius: 40px 0 0 40px;
    position: absolute;
    top: 0;
    left: 15%;
}
section#top_oneday ul.row {
    width: 85%;
    box-sizing: border-box;
    padding: 60px 0 60px 60px;
    position: relative;
}
section#top_oneday ul.row a {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: flex-end;
    height: 45vh;
    box-sizing: border-box;
    padding: 20px 20px 90px;
    position: relative;
    z-index: 2;
}
section#top_oneday ul.row a::after {
    content: "";
    display: block;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: var(--green) url("../img/icon_arrow.png") center center / 50% no-repeat;
    position: absolute;
    right: 20px;
    bottom: 20px;
    transition: all .3s;
}
section#top_oneday ul.row a:hover::after {
    transform: scale(1.15);
}
section#top_oneday ul.row a img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: all .5s;
}
section#top_oneday ul.row a:hover img {
    transform: translate(-50%,-50%) scale(1.05);
    filter: grayscale(0.2) brightness(0.5);
}
.closeup .status,
.closeup h3,
.closeup .tag {
    display: inline-block;
    padding: .3em .4em;
	position: relative;
    z-index: 2;
}
.closeup .status {
    background: var(--green);
    color: #fff;
    position: absolute;
    top: 30px;
    left: 0;
}
.closeup h3 {
    background: #fff;
}
.closeup .tag {
    background: #fff;
    margin-left: 10px;
}

/* ポイント ------------------------------------------------------------------------*/
section#points h2 span {
    display: inline-block;
}
section#points h2 span.bb {
    padding-bottom: .4em;
    border-bottom: 2px var(--green) solid;
}
section#points h2 span.five {
    margin: 0 5px;
    padding: .2em .5em .3em;
    background: url("../img/point_ttl.png") center top / contain no-repeat;
    color: #fff;
}
section#points .boad {
    padding: 30px;
    border-radius: 40px;
    background: #fff;
    position: relative;
}
section#points .boad .img_round {
    width: 55%;
}
section#points .boad .txt {
    width: calc(45% - 30px);
    padding-top: 2%;
}
section#points .icon {
    width: 9vw;
    max-width: 120px;
    position: absolute;
    top: -20px;
    left: 20px;
}
section#points .boad .icon {
    top: -50px;
    left: auto;
    right: -30px;
}
section#points .bg01,
section#points .bg02,
section#points .bg03,
section#points .bg04 {
    box-sizing: border-box;
    padding: 130px 40px 60px;
    background: url("../img/point_bg01.png") center top / contain no-repeat;
}
section#points .bg02 {
    padding: 130px 80px 60px;
    background-image: url("../img/point_bg02.png");
}
section#points .bg03 {
    padding: 130px 40px 110px;
    background-image: url("../img/point_bg03.png");
}
section#points .bg04 {
    padding: 130px 40px 110px;
    background-image: url("../img/point_bg04.png");
}
/* 育て育む風土 ----------------------------*/
section#points .fudo {
    width: 80%;
    box-sizing: border-box;
    margin: 0 auto 120px;
    padding: 80px min(8vw,100px) 200px;
    border-radius: min(7vw, 100px);
    background: var(--bg_green);
    position: relative;
}
section#points .fudo h3 span {
    display: inline-block;
    padding-bottom: 30px;
    background: url("../img/fudo_ttl.png") center bottom / contain no-repeat;
}
section#points .fudo .border {
    border-bottom: 3px var(--gray) dashed;
}
section#points .fudo .ttl {
    padding-left: 1.4em;
    position: relative;
}
section#points .fudo .ttl::before {
    content: "\025cf";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}
section#points .fudo .inner {
    padding-left: 1.4em;
}
section#points .fudo [class^="img0"] {
    position: absolute;
    z-index: 2;
}
section#points .fudo .img01 {
    width: 33%;
    top: 60px;
    right: calc(-5% - 4vw);
}
section#points .fudo .img02 {
    width: 20%;
    top: calc(60px + 21%);
    right: calc(-2% - 2vw);
}
section#points .fudo .img03 {
    width: 28%;
    top: 18%;
    right: calc(-12% - 11vw);
}
section#points .fudo .img04 {
    width: 34%;
    bottom: -12%;
    left: -12%;
}
section#points .fudo .img05 {
    width: 42%;
    bottom: -10%;
    right: -5vw;
}
section#points .fudo .img04 span,
section#points .fudo .img05 span {
    display: inline-block;
    white-space: nowrap;
    padding: .5em 1em;
    background: var(--green);
    color: #fff;
    position: absolute;
    top: -10%;
    left: 90%;
    opacity: 0;
    transform: translateY(30px);
}
section#points .fudo .img05 span {
    top: -5%;
    left: auto;
    right: -30%;
}
section#points .fudo .img04 span::before,
section#points .fudo .img05 span::before {
    content: "";
    display: block;
    height: calc(100% + 2.2em);
    border-left: 4px var(--green) solid;
    position: absolute;
    top: -.2em;
    left: 0;
}
section#points .fudo .img04.yay.on span,
section#points .fudo .img05.yay.on span {
    opacity: 1;
    transform: translateY(0);
}

/* 管注くん、管材DEPO ---------------------------------------------------------------*/
section#pr .bg {
    padding: 60px;
    border-radius: 40px;
    background: linear-gradient(30deg, #515b4f 0%, #719369 100%);
    position: relative;
    overflow: hidden;
}
section#pr .bg::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/pr_bg.png") right center / contain no-repeat;
    position: absolute;
    top: 0;
    left: 0;
}
section#pr .txt {
    width: 35%;
    position: relative;
    z-index: 2;
}
section#pr .cont {
    width: 60%;
    position: relative;
    z-index: 2;
}
section#pr .boad {
    display: block;
    padding: 30px;
    border-radius: 30px;
    background: #fff;
    position: relative;
}
section#pr .boad.kanchu {
    background: #fff url("../img/kanchu_win.png") right 10% bottom / 19% no-repeat;
}
section#pr .boad.kanzai {
    padding: 20px 30px;
}
section#pr .boad.kanzai::after {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--green) url("../img/icon_win.png") center center / 35% no-repeat;
    position: absolute;
    top: 20px;
    right: 20px;
    transition: all .3s;
}
section#pr .boad.kanzai:hover::after {
    transform: scale(1.1);
}
section#pr .boad h3 {
    line-height: 1;
}
section#pr .boad.kanchu h3 {
    padding-left: 80px;
    background: url("../img/icon_kanchu.png") left center / 60px no-repeat;
}
section#pr .boad .inner {
    width: 69%;
}
section#pr .boad .inner a {
    display: block;
    width: auto;
	height: 3vw;
    max-height: 50px;
    margin-right: 10px;
}
section#pr .boad .inner a img {
    width: auto;
    height: 100%;
}

/* 成長のロードマップ ----------------------------------------------------------------*/
section#top_roadmap {
	margin-bottom: -2vw;
	position: relative;
}
section#top_roadmap .img {
    width: 60%;
	max-width: 1400px;
	min-width: 640px;
	pointer-events: none;
}
section#top_roadmap .txt {
    position: absolute;
	top: 13vw;
	left: 55%;
}
/* スライダー -----------------------------------------------------------------------*/
section#library {
	padding: 0!important;
	overflow: hidden;
}
section#library .slider {
	width: 100%;
}
section#library .slider ul {
	display: flex;
	min-width: 100%;
	width: min-content;
	animation: 60s linear infinite slider;
	position: relative;
    pointer-events: none;
}
section#library .slider ul li {
	width: 20vw;
    max-width: 460px;
    margin-right: 2vw;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
}

/*==================================================================================
下層共通
==================================================================================*/
section#main_2nd::before {
	content: "";
	display: block;
	width: 100%;
	height: 100vh;
	min-height: 1080px;
	background: url("../img/main_2nd.gif") center top 20% / contain no-repeat;
	position: absolute;
	top: 0;
	left: 0;
}

/*==================================================================================
先輩の一日
==================================================================================*/
section#oneday {
	padding: 5vw 0!important;
	position: relative;
}
section#oneday .bg_wave01 {
	width: 100%;
	position: absolute;
	top: 30%;
	left: 0;
}
section#oneday .bg_wave02 {
	width: 100%;
	position: absolute;
	top: 55%;
	left: 0;
}
section#oneday .bg_wave03 {
	width: 100%;
	position: absolute;
	top: 90%;
	left: 0;
}
section#oneday .closeup {
	width: 37.5%;
	position: sticky;
	top: 120px;
	left: 0;
}
section#oneday .closeup .img_round {
	height: 260px;
	border-radius: 30px;
}
section#oneday .closeup .tag {
    margin-left: 0;
    margin-right: 10px;
}
section#oneday .boad {
	width: calc(62.5% - 60px);
	box-sizing: border-box;
	padding: 30px;
	border-radius: 30px;
	background: var(--bg_green);
}
section#oneday .timeline {
	padding: 0 0 40px 40px;
	background: url("../img/icon_time.png") left top / 30px no-repeat;
	position: relative;
}
section#oneday .timeline:last-child {
	padding-bottom: 0;
}
section#oneday .timeline::before {
	content: "";
	display: block;
	height: 0;
	border-left: 2px var(--gray) dashed;
	position: absolute;
	top: 40px;
	left: 14px;
	transition: all 1.5s .5s;
}
section#oneday .timeline:last-child::before {
	display: none;
}
section#oneday .timeline.yay.on::before {
	height: calc(100% - 50px);
}
section#oneday .time span.eng {
	display: block;
	width: 3em;
}
section#oneday .time p {
	width: calc(100% - 3em);
}
section#oneday .chat.question {
	text-align: right;
}
section#oneday .chat span {
	display: inline-block;
	max-width: 68%;
	padding: .6em 1em;
	background: #fff;
	border-radius: 0 10px 10px 10px;
}
section#oneday .chat.question span {
	background: var(--green);
	color: #fff;
	border-radius: 10px 0 10px 10px;
	text-align: left;
}
section#oneday .timeline .img_round {
	height: 260px;
	border-radius: 30px;
}
section#oneday .timeline .img_round img {
	transform: scale(1.1);
	transition: all 1s;
}
section#oneday .timeline .img_round.yay.on img {
	transform: scale(1);
}
/* 他の先輩 */
section#other_day {
	padding-top: 5vw!important;
	border-top: 3px var(--gray) dashed;
}
section#other_day .closeup {
	display: block;
	width: 37.5%;
}
section#other_day .closeup .img_round {
	height: 260px;
	border-radius: 30px;
	position: relative;
}
section#other_day .closeup .img_round::after {
    content: "";
    display: block;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: var(--green) url("../img/icon_arrow.png") center center / 50% no-repeat;
    position: absolute;
    right: 20px;
    bottom: 20px;
    transition: all .3s;
}
section#other_day .closeup:hover .img_round::after {
    transform: scale(1.15);
}
section#other_day .closeup img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: all .5s;
}
section#other_day .closeup:hover img {
    transform: translate(-50%,-50%) scale(1.05);
}
section#other_day .closeup .tag {
    margin-left: 0;
    margin-right: 10px;
}

/*==================================================================================
数字で見るイトウ
==================================================================================*/
section#numbers h3.icon img {
    display: inline-block;
    width: 50px;
    margin-right: 10px;
    position: relative;
    top: 10px;
}
section#numbers .col2 {
    box-sizing: border-box;
    padding: 3vw;
    border: 4px var(--green) solid;
    border-radius: 30px;
    background: #fff;
}
section#numbers .col2 .ttl span {
    display: inline-block;
    padding-bottom: .8em;
    border-bottom: 2px var(--green) solid;
    letter-spacing: 0.05em;
}
section#numbers .col2.cmnt {
    margin-top: 10em;
    position: relative;
}
section#numbers .col2.cmnt h3 {
    width: 100%;
    box-sizing: border-box;
    padding: .6em 1em;
    border-radius: 50px;
    background: var(--green);
    color: #fff;
    position: absolute;
    top: -5em;
    left: 0;
}
section#numbers .col2.cmnt h3::after {
    content: "";
    display: block;
    border: 10px transparent solid;
    border-bottom: none;
    border-top: 10px var(--green) solid;
    position: absolute;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
}

/*==================================================================================
仕事を知る
==================================================================================*/
section#roadmap .flag {
    width: 40%;
    pointer-events: none;
}
section#roadmap .section {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1.5em;
    background: #dde3e8;
    writing-mode: tb-rl;
    letter-spacing: -0.35em;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 50% 100%, 0 calc(100% - 40px));
}
/*最新のsafari用*/
::-webkit-full-page-media, :future, :root section#roadmap .section {
	letter-spacing: 0;
}
section#roadmap .second .section {
    background: #eae8df;
    clip-path: none;
}
section#roadmap .cont {
    width: 84%;
}
section#roadmap .cont .boad {
    padding: 30px 20px;
    border-radius: 30px;
    background: #fff;
    position: relative;
}
section#roadmap .second .cont .boad:last-child {
    background: #fffff3;
}
section#roadmap .cont .boad::before {
    content: "";
    display: block;
    height: calc(100% - 2em + 45px);
    border-left: 2px #000e77 solid;
    position: absolute;
    top: 2em;
    left: -3.6%;
    transition: all 1s .5s;
    transform-origin: center top;
    transform: scaleY(0);
}
section#roadmap .second .cont .boad::before {
    border-left-color: #d38d00;
}
section#roadmap .second .cont .boad:last-child::before {
    display: none;
}
section#roadmap .cont .boad.yay.on::before {
    transform: scaleY(1);
}
section#roadmap .cont .term {
    display: inline-block;
    padding: .3em 2.5em;
    border-radius: 20px;
    background: #000e77;
    color: #fff;
    position: absolute;
    top: 15px;
    left: -5%;
}
section#roadmap .second .cont .term {
    background: #d38d00;
}
section#roadmap .second .cont .boad:last-child .term {
    background: #ce4500;
}
section#roadmap .cont .term::before {
    content: "";
    display: block;
    width: .6em;
    height: .6em;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: 50%;
    left: .6em;
    transform: translateY(-50%);
}
section#roadmap .cont .item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30%;
}
section#roadmap .second .cont .boad:last-child .item span {
    display: inline-block;
    padding-top: 1em;
    background: url("../img/icon_accent.png") center top / 2em no-repeat;
}
section#roadmap .cont .txt {
    width: 70%;
    box-sizing: border-box;
    padding: 0 2em;
    border-left: 2px var(--gray) dashed;
}
section#roadmap .cont .txt .ttl {
    display: inline-block;
    padding-bottom: .5em;
    border-bottom: 2px #000e77 solid;
    color: #000e77;
}
section#roadmap .second .cont .txt .ttl {
    border-bottom-color: #d38d00;
    color: #d38d00;
}
section#roadmap .second .cont .boad:last-child .txt .ttl {
    border-bottom-color: #ce4500;
    color: #ce4500;
}
.blue {
    color: #000e77;
}
.orange {
    color: #d38d00;
}

/*==================================================================================
フッター
==================================================================================*/
footer {
	position: relative;
}
footer .entry {
	padding: 6vw 0;
	background: var(--green2);
}
footer .entry::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url("../img/foot_itoh.png") center top / contain no-repeat;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
footer h2 {
	letter-spacing: 0.05em;
}
footer .btn {
	width: 24em;
	height: 6em;
	background: #fff;
	color: var(--green);
}
footer .btn::after {
	background-image: url("../img/icon_arrow_gr.png");
}
footer .btn span {
    display: block;
    width: 100%;
    text-align: center;
}
footer .info {
	padding: 60px 0 20px;
}
footer .info ul li {
	padding-right: 1em;
	position: relative;
}
footer .info ul li::after {
	content: "-";
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
footer .info ul li a {
	display: inline-block;
}
footer .info ul li a:hover {
	color: var(--green);
	transform: translateX(-.5em);
}


/* ページトップへ戻るボタン */
.btn_pagetop {
	display: block;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100;
}
.btn_pagetop::before {
	content: "";
	display: block;
	width: 2rem;
	height: 2em;
	background: url("../img/icon_arrow_gr.png") center center / contain no-repeat;
	position: absolute;
	top: -3rem;
	left: 50%;
	transform: translateX(-50%) rotate(-90deg);
	transition: all .3s;
}
.btn_pagetop:hover::before {
	top: -3.5rem;
}
.btn_pagetop span {
	display: inline-block;
	writing-mode: tb-rl;
}



.tb {display: none;}
.pc {display: inline;}
.sp {display: none;}

@media screen and (max-width : 960px) {
	.pc {display: none;}
	.tb {display: inline;}
	p { font-size: 14px; line-height: 2;}
	/*==================================================================================
	ヘッダー
	==================================================================================*/
	header {
	    padding: 15px 0!important;
	}
	header .row {
		align-items: flex-start;
	}
	header .logo {
		margin: 0 0 0 70px;
		padding: 13px 20px;
		border-radius: 50px;
		background: #fff;
    	box-shadow: 3px 3px 3px rgba(0,0,0,0.2);
	}
	header.on .logo {
		margin: 0 0 0 70px;
		padding: 13px 20px;
	}
	header .logo img {
	    width: 180px;
	    margin-right: 15px;
	}
	header .btn {
		width: 12em;
		height: 60px;
	}
	/* メニュー -----------------------*/
	nav.gnav ul {
		top: 90px;
		left: 40px;
	}
	header.on nav.gnav.active ul {
		width: calc(100% - 80px);
		padding: 40px;
		border-radius: 30px;
	}
	nav.gnav ul li {
		display: none;
		opacity: 0;
		visibility: hidden;
	}
	header.on nav.gnav ul li {
		width: 48%;
	}
	header.on nav.gnav.active ul li a.parents {
		font-size: 20px;
	}
	header.on nav.gnav.active ul li ul.child li {
		margin-bottom: 1em;
		padding-left: .8em;
	}
	header.on nav.gnav.active ul li ul.child li::before {
		transform: translateY(-70%);
	}
	header.on nav.gnav.active ul li ul.child li a {
		line-height: 1.4;
	}
	.gnavToggle {
	    width: 60px;
	    height: 60px;
	    left: 40px;
		opacity: 1;
		visibility: visible;
	}
	.gnavToggle span {
	    width: 30px;
	    border-bottom: 2px #fff solid;
	}
	.gnavToggle.active span:nth-child(1) {
	    transform: translateY(3.5px) rotate(-30deg);
	}
	.gnavToggle.active span:nth-child(2) {
	    transform: translateY(-3.5px) rotate(30deg);
	}

	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
	.max1200 {
		max-width: 680px;
	}
	.max960 {
		max-width: 540px;
	}
	.mb_10 {
		margin-bottom: 5px;
	}
	.mb_20 {
		margin-bottom: 15px;
	}
	.mb_30 {
		margin-bottom: 20px;
	}
	.mb_60 {
		margin-bottom: 40px;
	}
	.mb_120 {
		margin-bottom: 80px;
	}
	.col3 {
	    width: calc((100% / 3) - 10px);
	}
	.col2 {
	    width: calc(50% - 10px);
	}
	.tb100 {
		width: 100%;
	}
	.mb_10 {
		margin-bottom: 8px;
	}
	.mb_20 {
		margin-bottom: 15px;
	}
	.mb_30 {
		margin-bottom: 20px;
	}
	.mb_60 {
		margin-bottom: 40px;
	}
	.mb_120 {
		margin-bottom: 80px;
	}
	/* フォント */
	.font_14 {
		font-size: 12px;
	}
	.font_16 {
		font-size: 14px;
	}
	.font_20 {
		font-size: 16px;
	}
	.font_24 {
		font-size: 20px;
	}
	.font_30 {
		font-size: 24px;
	}
	.font_34 {
		font-size: 24px;
	}
	.font_40 {
		font-size: 24px;
	}
	.font_50 {
		font-size: 30px;
	}
	.font_60 {
		font-size: 30px;
	}
	.font_70 {
		font-size: 34px;
	}
	/* ボタン */
	.btn {
		width: 280px;
		height: 60px;
		padding: 0 60px;
	}
	.btn::after {
	    width: 25px;
	    height: 25px;
	    right: 25px;
	}
	/* イメージ */
	.img_round {
	    border-radius: 20px;
	}
	/* スクロール */
	.scroll {
		display: block;
	  	overflow-x: scroll;
	  	white-space: nowrap;
	  	-webkit-overflow-scrolling: touch;
		padding: 0 0 10px;
		margin-bottom: 20px;
	}
	.scroll::-webkit-scrollbar {
	  height: 8px;
	}
	.scroll::-webkit-scrollbar-track {
	  margin: 0 2px;
	  background: #efefef;
	  border-radius: 5px;
	}
	.scroll::-webkit-scrollbar-thumb {
	  border-radius: 5px;
	  background: #ccc;
	}
	.scroll table {
		min-width: 560px;
	}
	/*==================================================================================
	INDEX
	==================================================================================*/
	section#main {
	    background-size: 105%;
	}
	section#main video,
	section#main .bg {
		top: 10%;
		left: 48%;
	}
	section#main .container.max1200 {
		max-width: 100%;
	}
	section#main h1 {
	    margin-bottom: 15vh;
		font-size: min(6.4vw,80px);
	}
	/* スライダー */
	section#main .slider ul {
		animation: 80s linear infinite slider;
	}
	section#main .slider ul li {
		width: 30vw;
	}
	/* -------------------------------------------------------------------------------*/
	section#about::before {
	    height: 60vh;
	}
	/* 数字で見るイトウ ------------------------------------------------------------------*/
	section#top_numbers .boad {
	    padding: 40px;
	    border: 4px var(--green) solid;
	    border-radius: 30px;
	}
	section#top_numbers .col3 {
		margin-bottom: 30px;
		padding-bottom: 30px;
	}
	section#top_numbers .col3:last-child {
		margin-bottom: 0;
	    padding-bottom: 0;
	}
	section#top_numbers .col3::after {
	    width: 100%;
	    height: auto;
	    border-right: none;
	    border-bottom: 2px var(--gray) dashed;
	    top: auto;
		bottom: 0;
	    right: 0;
	}
	section#top_numbers .ttl span {
	    padding-bottom: .5em;
	}
	.countup span.eng {
	    font-size: min(15vw,80px);
	}
	.countup span.icon {
	    width: 40px;
	    top: 0;
	}
	/* 先輩の1日 -----------------------------------------------------------------------*/
	section#top_oneday .container.max1200 {
		max-width: 800px;
	}
	section#top_oneday .row.bg::before {
	    border-radius: 20px 0 0 20px;
	}
	section#top_oneday ul.row {
	    padding: 40px 0 40px 40px;
	}
	section#top_oneday ul.row li.col2 {
	    max-width: 540px;
	}
	section#top_oneday ul.row li.col2:first-child {
	    margin-bottom: 20px;
	}
	section#top_oneday ul.row a {
	    height: 400px;
	    padding: 20px 20px 80px;
	}
	section#top_oneday ul.row a::after {
	    width: 40px;
	    height: 40px;
	}
	section#top_oneday ul.row a .row {
	    width: 100%;
	}
	.closeup .status {
	    padding: .5em .6em;
	}
	/* ポイント ------------------------------------------------------------------------*/
	section#points h2 span.five {
	    margin: 0 2px;
	}
	section#points .boad {
	    padding: 20px;
	    border-radius: 30px;
	}
	section#points .boad .img_round {
	    width: 100%;
		margin-bottom: 30px;
	}
	section#points .boad .txt {
	    width: 100%;
	    padding-top: 0;
	}
	section#points .icon {
	    width: 100px;
	}
	section#points .boad .icon {
	    top: -20px;
	    right: -10px;
	}
	section#points .bg01,
	section#points .bg02,
	section#points .bg03,
	section#points .bg04 {
		max-width: 400px;
		margin: 0 auto 40px;
	    padding: 110px 30px 100px;
	}
	section#points .bg02 {
	    padding: 100px 70px 60px;
	}
	section#points .bg03 {
	    padding: 100px 30px 80px;
		background: #fff;
		border-radius: 15px;
	}
	section#points .bg04 {
	    padding: 100px 30px 150px;
		margin-bottom: 0;
    }
    /* 育て育む風土 ----------------------------*/
    section#points .fudo {
        width: 100%;
        margin: 0 auto 100px;
        padding: 60px 30px 140px;
    }
    section#points .fudo h3 span {
        padding-bottom: 20px;
    }
    section#points .fudo .border {
        border-bottom: 2px var(--gray) dashed;
    }
    section#points .fudo .ttl {
        padding-left: 1.2em;
    }
    section#points .fudo .countup span.eng {
        font-size: min(15vw, 60px);
    }
    section#points .fudo .inner {
        padding-left: 1.2em;
    }
    section#points .fudo .img01 {
        width: 32%;
        top: 30px;
        right: -8%;
    }
    section#points .fudo .img02 {
        width: 24%;
        top: 0;
        position: relative;
        right: auto;
        margin: 50px 23% -33% auto;
    }
    section#points .fudo .img03 {
        width: 28%;
        top: 0;
        position: relative;
        right: auto;
        margin: 0px -8% 10px auto;
    }
    section#points .fudo .img04 {
        width: 34%;
        bottom: -10%;
        left: -8%;
    }
    section#points .fudo .img05 {
        width: 38%;
        bottom: -8%;
        right: 5%;
    }
    section#points .fudo .img04 span,
    section#points .fudo .img05 span {
        left: 85%;
    }
    section#points .fudo .img05 span {
        top: -10%;
        left: auto;
        right: -20%;
    }
    section#points .fudo .img04 span::before,
    section#points .fudo .img05 span::before {
        border-left: 3px var(--green) solid;
    }
	/* 管注くん、管材DEPO ---------------------------------------------------------------*/
	section#pr .bg {
	    padding: 30px;
	    border-radius: 30px;
	}
	section#pr .bg::before {
	    background-size: cover;
	}
	section#pr .txt {
	    width: 100%;
		margin-bottom: 30px;
	}
	section#pr .cont {
	    width: 100%;
	}
	section#pr .boad {
	    padding: 20px;
	    border-radius: 20px;
	}
	section#pr .boad.kanchu {
	    background-position: right 20px bottom;
	    background-size: 15%;
	}
	section#pr .boad.kanzai {
	    padding: 20px;
	}
	section#pr .boad.kanzai::after {
	    width: 35px;
	    height: 35px;
	    top: 15px;
	    right: 15px;
	}
	section#pr .boad.kanchu h3 {
	    padding-left: 55px;
	    background-size: 45px;
	}
	section#pr .boad .inner {
	    width: 78%;
	}
	section#pr .boad .inner a {
		height: 35px;
	}
	/* 成長のロードマップ ----------------------------------------------------------------*/
	section#top_roadmap .img {
	    width: 65%;
		min-width: 0;
		position: absolute;
		bottom: -20%;
		left: 0;
	}
	section#top_roadmap .txt {
		width: calc(48% - 40px);
		padding-right: 40px;
		margin: 0 0 60px auto;
	    position: relative;
		top: 0;
		left: 0;
		z-index: 2;
	}
	/* スライダー -----------------------------------------------------------------------*/
	section#library .slider ul li {
		width: 30vw;
		border-radius: 10px;
	}
	/*==================================================================================
	下層共通
	==================================================================================*/
    section#main_2nd {
        padding: 120px 0 0!important;
    }
	section#main_2nd::before {
		height: 740px;
	}
    section#main_2nd .container.max960 {
        max-width: 100%;
    }
    /*==================================================================================
    先輩の一日
    ==================================================================================*/
    section#oneday {
    	padding: 60px 0!important;
    }
    section#oneday .container.max960 {
        max-width: 100%;
    }
    section#oneday .closeup {
    	width: 240px;
    }
    section#oneday .closeup .img_round {
    	height: 180px;
    	border-radius: 20px;
    }
    section#oneday .closeup .status {
    	font-size: 18px;
        top: 15px;
    }
    section#oneday .closeup h3.font_30 {
    	font-size: 20px;
    }
    section#oneday .boad {
    	width: calc(100% - 240px - 30px);
    	padding: 20px;
    	border-radius: 20px;
    }
    section#oneday .timeline {
    	padding: 0 0 40px;
    	background-size: 23px;
    }
    section#oneday .timeline::before {
    	display: none;
    }
    section#oneday .timeline.yay.on::before {
    	height: calc(100% - 45px);
    }
    section#oneday .time {
    	padding-left: 30px;
    }
    section#oneday .chat span {
    	max-width: 70%;
    	border-radius: 0 6px 6px 6px;
    }
    section#oneday .chat.question span {
    	border-radius: 6px 0 6px 6px;
    }
    section#oneday .timeline .img_round {
    	border-radius: 20px;
    }
    /* 他の先輩 */
    section#other_day {
    	padding-top: 60px!important;
    	border-top: 2px var(--gray) dashed;
    }
    section#other_day .container.max960 {
        max-width: 100%;
    }
    section#other_day .closeup {
    	width: 240px;
    }
    section#other_day .closeup .img_round {
    	height: 180px;
    	border-radius: 20px;
    }
    section#other_day .closeup .img_round::after {
        width: 40px;
        height: 40px;
    }
    section#other_day .closeup .status {
        font-size: 18px;
        top: 15px;
    }
    section#other_day .closeup h3.font_30 {
        font-size: 20px;
    }
    /*==================================================================================
    数字で見るイトウ
    ==================================================================================*/
    section#numbers h3.icon img {
        width: 35px;
        margin-right: 6px;
        top: 6px;
    }
    section#numbers .col2 {
        padding: 30px;
        border: 3px var(--green) solid;
        border-radius: 20px;
    }
    section#numbers .col2 .ttl span {
        padding-bottom: .5em;
    }
    section#numbers .col2.cmnt {
        margin-top: 100px;
    }
    section#numbers .col2.cmnt h3::after {
        border: 6px transparent solid;
        border-bottom: none;
        border-top: 6px var(--green) solid;
        bottom: -6px;
    }
    /*==================================================================================
    仕事を知る
    ==================================================================================*/
    section#roadmap .section {
        padding: 1em;
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 30px), 50% 100%, 0 calc(100% - 30px));
    }
    section#roadmap .cont .boad {
        padding: 20px 15px 20px 0;
        border-radius: 20px;
    }
    section#roadmap .cont .boad::before {
        height: calc(100% - 2em + 30px);
        top: 2.3em;
        left: -3.1%;
    }
    section#roadmap .cont .term {
        padding: .3em 1.3em .3em 2em;
    }
    section#roadmap .cont .txt {
        padding: 0 0 0 20px;
        border-left: 1px var(--gray) dashed;
    }
	/*==================================================================================
	フッター
	==================================================================================*/
	footer .entry {
		padding: 40px 0;
	}
	footer .entry .row {
		justify-content: center;
	}
	footer h2 {
		width: 100%;
		margin-bottom: 40px;
		text-align: center;
	}
	footer .btns {
		width: 100%;
	}
	footer .btn {
		width: 100%;
		max-width: 400px;
		height: 5.5em;
		margin: auto;
	}
	footer .btn span.font_34 {
	    font-size: 30px;
	}
	footer .info {
		padding: 30px 0 20px;
	}
	/* ページトップへ戻るボタン */
	.btn_pagetop {
		right: 15px;
	}
}


@media screen and (max-width : 640px) {
	/*==================================================================================
	ヘッダー
	==================================================================================*/
	header.index,
	header.index.on,
	header.index.fadedown {
		transform: none;
	}
	header .logo {
		width: calc(100% - 70px);
	}
	header.on .logo {
		margin: 0 0 0 60px;
		padding: 10px 20px;
	}
	header .logo img {
		width: 70%;
		max-width: 170px;
	}
	header .btn {
		width: calc(100% - 40px);
		height: 60px;
		position: fixed;
		left: 20px;
		bottom: 15px;
	}
	header.active .btn,
	header .btn.hide {
		transform: translateY(calc(100% + 15px));
	}
	/* メニュー -----------------------*/
	nav.gnav ul {
		top: 80px;
		left: 20px;
	}
	header.on nav.gnav.active ul {
		width: calc(100% - 40px);
		padding: 30px 20px;
		border-radius: 20px;
	}
	header.on nav.gnav.active ul li a.parents {
		font-size: 16px;
	}
	header.on nav.gnav.active ul li ul.child {
		margin: 10px 0 0;
	}
	header.on nav.gnav.active ul li ul.child li {
		margin-bottom: .5em;
	}
	header.on nav.gnav.active ul li ul.child li a {
		font-size: 12px;
	}
	.gnavToggle {
	    width: 50px;
	    height: 50px;
		left: 20px;
	}
	.gnavToggle span {
	    width: 25px;
	}
	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
	.container {
		width: calc(100% - 40px);
		padding: 0 20px;
	}
	/*==================================================================================
	INDEX
	==================================================================================*/
	/* 先輩の1日 -----------------------------------------------------------------------*/
	section#top_oneday .row.bg::before {
		width: calc(100% + ((100vw - 100%) / 2));
		height: calc(100% - 90px);
	    border-radius: 20px 0 0 20px;
		top: 90px;
		left: 0;
	}
	section#top_oneday ul.row li.col2 {
	    max-width: 100%;
	}
	section#top_oneday h2 {
		width: 100%;
		writing-mode: inherit;
		margin-bottom: 20px;
		text-align: center;
		letter-spacing: 0;
	}
	section#top_oneday ul.row {
		width: 100%;
	    padding: 40px 0 40px 40px;
	}
	/* 成長のロードマップ ----------------------------------------------------------------*/
	section#top_roadmap {
		overflow: hidden;
	}
	section#top_roadmap .img {
	    width: 110%;
		position: relative;
		bottom: auto;
		left: 0;
	}
	section#top_roadmap .txt {
		width: calc(100% - 40px);
		padding: 0 20px;
		margin: -60px 0 60px auto;
	}
	section#top_roadmap .txt .btn {
		margin: 0 auto;
	}
	/*==================================================================================
	下層共通
	==================================================================================*/
    section#main_2nd .container.max960 {
        max-width: 400px;
    }
    /*==================================================================================
    先輩の一日
    ==================================================================================*/
    section#oneday {
    	padding: 40px 0!important;
    }
    section#oneday .container.max960 {
    	max-width: 400px;
    }
    section#oneday .closeup {
    	width: 100%;
        margin-bottom: 40px;
        position: relative;
        top: 0;
    }
    section#oneday .closeup .img_round {
    	height: 300px;
    }
    section#oneday .boad {
    	width: 100%;
    }
    section#oneday .timeline {
    	padding: 0 0 30px 30px;
    	background-size: 23px;
    }
    section#oneday .timeline::before {
    	display: block;
        border-left-width: 1px;
        top: 35px;
        left: 11px;
    }
    section#oneday .timeline.yay.on::before {
    	height: calc(100% - 45px);
    }
    section#oneday .time {
    	padding-left: 0;
    }
    section#oneday .timeline .img_round {
    	height: 200px;
    }
    section#oneday .chat span {
        max-width: 72%;
    }
    /* 他の先輩 */
    section#other_day {
    	padding-top: 40px!important;
    	border-top: 1px var(--gray) dashed;
    }
    section#other_day .container.max960 {
        max-width: 400px;
    }
    section#other_day .closeup {
    	width: 100%;
    }
    section#other_day .closeup .img_round {
    	height: 340px;
    }
    section#other_day .closeup .img_round::after {
        right: 15px;
        bottom: 15px;
    }
    /*==================================================================================
    仕事を知る
    ==================================================================================*/
    section#roadmap .flag {
        width: 50%;
    }
    section#roadmap .section {
        padding: .65em;
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 20px), 50% 100%, 0 calc(100% - 20px));
    }
    section#roadmap .cont .boad {
        padding: 20px;
    }
    section#roadmap .cont .boad::before {
        left: -2.6%;
    }
    section#roadmap .cont .item {
        width: 100%;
        margin-bottom: 20px;
    }
    section#roadmap .cont .txt {
        width: 100%;
        padding: 20px 0 0;
        border-left: none;
        border-top: 1px var(--gray) dashed;
    }
	/*==================================================================================
	フッター
	==================================================================================*/
	/* ページトップへ戻るボタン */
	.btn_pagetop {
		display: none!important;
	}
}


@media screen and (max-width : 460px) {
	.tb {display: none;}
	.sp {display: inline;}
	p {font-size: 13px;}
	/*==================================================================================
	ヘッダー
	==================================================================================*/
	header .logo span {
		font-size: 12px;
	}
	header .btn {
		width: calc(100% - 30px);
		left: 15px;
	}
	header .btn .font_30 {
		font-size: 24px;
	}
    nav.gnav ul {
		left: 15px;
    }
    header.on nav.gnav.active ul {
        width: calc(100% - 30px);
		padding: 20px;
    }
	nav.gnav ul li {
		margin-bottom: 1em;
	}
	.gnavToggle {
	    left: 15px;
	}
	/*==================================================================================
	共通
	==================================================================================*/
	/* レイアウト */
	section {
		padding: 16vw 0 0!important;
	}
	.container {
		width: calc(100% - 30px);
		padding: 0 15px;
	}
	.sp100 {
		width: 100%;
	}
	.mb_120 {
		margin-bottom: 60px;
	}
	/* フォント */
	.font_14 {
		font-size: 13px;
	}
	.font_16 {
		font-size: 13px;
	}
	.font_20 {
		font-size: 14px;
	}
	.font_24 {
		font-size: 16px;
	}
	.font_30 {
		font-size: 20px;
	}
	.font_34 {
		font-size: 20px;
	}
	.font_40 {
		font-size: 20px;
	}
	.font_50 {
		font-size: 24px;
	}
	.font_60 {
		font-size: 24px;
	}
	.font_70 {
		font-size: 30px;
	}
	/* イメージ */
	.img_round {
	    border-radius: 15px;
	}
	/*==================================================================================
	メイン
	==================================================================================*/
    section#main video, 
	section#main .bg {
        top: 15%;
    }
	/* スライダー */
	section#main .slider ul li {
		width: 160px;
	}
	/* -------------------------------------------------------------------------------*/
	section#about::before {
		height: 125%;
	    top: -10%;
	}
	/* 数字で見るイトウ ------------------------------------------------------------------*/
	section#top_numbers .boad {
	    padding: 30px 20px;
	    border-radius: 20px;
	}
	.countup span.icon {
	    width: 30px;
		margin-right: 8px;
		top: 3px;
	}
	/* 先輩の1日 -----------------------------------------------------------------------*/
	section#top_oneday .row.bg::before {
		height: calc(100% - 70px);
		top: 70px;
	}
	section#top_oneday h2 {
		margin-bottom: 15px;
	}
	section#top_oneday ul.row {
		width: 100%;
	    padding: 20px 0 20px 20px;
	}
	section#top_oneday ul.row a {
	    height: 300px;
	}
	/* ポイント ------------------------------------------------------------------------*/
	section#points .bg01,
	section#points .bg02,
	section#points .bg03,
	section#points .bg04 {
	    padding: 100px 30px 140px;
	}
	section#points .bg01 {
	    margin-bottom: 6vw;
	}
	section#points .bg02 {
	    padding: 80px 60px 30%;
	    margin-bottom: 6vw;
	}
	section#points .bg02 .icon {
		top: -40px;
	}
	section#points .bg03 {
	    padding: 100px 30px 80px;
	}
	section#points .bg04 {
	    padding: 100px 30px 150px;
    }
    /* 育て育む風土 ----------------------------*/
    section#points .fudo {
        margin: 0 auto 140px;
        padding: 30px 20px 30vw;
    }
    section#points .fudo h3 span {
        padding-bottom: 15px;
    }
    section#points .fudo .inner {
        padding-left: 0;
    }
    section#points .fudo .img01 {
        width: 45%;
        position: relative;
        top: 0;
        right: 0;
        left: 0;
        margin: 0 -30px -45% auto;
    }
    section#points .fudo .img02 {
        width: 30%;
        right: auto;
        margin: 0 auto -16% -30px;
    }
    section#points .fudo .img03 {
        width: 34%;
        margin: 0px auto -14px 21%;
    }
    section#points .fudo .img04 {
        width: 40%;
        bottom: -8%;
        left: -20px;
    }
    section#points .fudo .img05 {
        width: 45%;
        bottom: -15%;
        right: 12%;
    }
	/* 管注くん、管材DEPO ---------------------------------------------------------------*/
	section#pr .bg {
	    padding: 20px;
	    border-radius: 20px;
	}
	section#pr .txt {
		margin-bottom: 20px;
	}
	section#pr .boad {
	    padding: 15px 15px 3%;
	    border-radius: 15px;
	}
	section#pr .boad.kanchu {
	    background-position: right 15px bottom;
	    background-size: 70px;
	}
	section#pr .boad.kanzai {
	    padding: 15px;
	}
	section#pr .boad.kanchu h3 {
		background-position: left top;
	    line-height: 1.4;
	}
	section#pr .boad .inner {
	    width: 100%;
	}
	section#pr .boad .inner .row {
		display: block;
	    width: calc(100% - 70px - 20px);
	}
	section#pr .boad .inner a {
		height: 40px;
		margin: 0 5px 5px 0;
	}
	/* スライダー -----------------------------------------------------------------------*/
	section#library .slider ul {
		animation: 40s linear infinite slider;
	}
	section#library .slider ul li {
		width: 160px;
	}
	/*==================================================================================
	下層共通
	==================================================================================*/
    section#main_2nd {
        padding: 100px 0 0!important;
    }
    /*==================================================================================
    先輩の一日
    ==================================================================================*/
    section#oneday .boad {
    	padding: 20px 15px;
    }
    section#oneday .timeline {
    	padding: 0 0 20px 25px;
    	background-size: 18px;
        background-position: left top 1px;
    }
    section#oneday .timeline::before {
        top: 30px;
        left: 9px;
    }
    section#oneday .timeline.yay.on::before {
    	height: calc(100% - 40px);
    }
    section#oneday .timeline .img_round {
    	height: 160px;
    }
    section#oneday .chat span {
        max-width: 80%;
    }
    /*==================================================================================
    数字で見るイトウ
    ==================================================================================*/
    section#numbers h3.icon {
        padding-left: 30px;
        text-indent: -30px;
    }
    section#numbers h3.icon img {
        width: 25px;
        top: 4px;
    }
    section#numbers .col2 {
        padding: 20px;
    }
    section#numbers .col2.cmnt {
        margin-top: 70px;
    }
    /*==================================================================================
    仕事を知る
    ==================================================================================*/
    section#roadmap .flag {
        width: 70%;
    }
    section#roadmap .cont {
        width: 80%;
    }
    section#roadmap .cont .boad {
        padding: 50px 15px 20px;
    }
    section#roadmap .cont .boad::before {
        height: calc(100% - 1.1em + 20px);
        border-left-width: 1px;
        top: 2.1em;
        left: -3.4%;
    }
    section#roadmap .cont .term {
        left: -7%;
    }
    section#roadmap .cont .item {
        justify-content: flex-start;
        margin-bottom: 15px;
    }
    section#roadmap .cont .txt {
        padding: 15px 0 0;
    }
	/*==================================================================================
	フッター
	==================================================================================*/
	footer .info ul {
		display: none;
	}
}

