@charset "utf-8";

@media screen and (max-width: 979px) {
    
    body {
        padding-top: 87px;
    }
    
    .start {
        border-top: 8px solid #ffe500;
        border-bottom: 8px solid #45b035;
    }
    .start img {
        width: auto;
        min-width: auto;
        height: 130px;
    }
    
    header {
        position: fixed;
        left: 0;
        top: 0;
        z-index: 50000;
        height: 87px;
        border-top: 9px solid #ffe500;
    }
    header h1,
    .menu_box .title {
        font-size: 0;
        text-align: center;
        padding: 20px 0 0;
    }
    header h1 img,
    .menu_box .title img {
        width: auto;
        min-width: auto;
        height: 38px;
    }
    header .menu_btn,
    .menu_box .close_btn {
        position: absolute;
        right: 25px;
        top: 20px;
        width: 36px;
        min-width: 36px;
        height: 39px;
    }
    header .menu_btn img,
    .menu_box .close_btn img {
        width: 36px;
        height: auto;
    }

    .menu_box {
        display: none;
        position: fixed;
        left: 0;
        top: 0;
        z-index: 50001;
        width: 100%;
        height: 100vh;
        background-color: #fff;
        border-top: 9px solid #ffe500;
        border-bottom: 9px solid #45b035;
    }

    .menu_box .m {
        text-align: center;
        padding: calc(((100vh - 574px) / 2) + 40px) 0 0;
    }
    .menu_box .m li {
        font-size: 18px;
        line-height: 1em;
        margin-bottom: 50px;
    }
    .menu_box .m li a {
        position: relative;
        color: #45b035;
    }
    .menu_box .m li a:hover {
        opacity: 1;
    }
    .menu_box .m li a:hover::after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        bottom: -3px;
        width: 100%;
        height: 2px;
        background-color: #ffe500;
    }
    .menu_box .sns {
        position: absolute;
        left: 0;
        bottom: 53px;
        font-size: 0;
        text-align: center;
        width: 100%;
    }
    .menu_box .sns li {
        display: inline-block;
        margin: 0 15px;
    }
    .menu_box .sns li img {
        width: auto;
        height: 34px;
        min-height: 34px;
    }

    footer {
        border-bottom: 9px solid #45b035;
    }
    footer .inner {
        width: 100%;
        height: auto;
        padding: 60px 52px 52px;
    }
    footer .inner .logo {
        position: static;
        left: auto;
        top: auto;
        text-align: center;
    }
    footer .inner .logo img {
        width: auto;
        height: 110px;
    }
    footer .inner .text {
        position: static;
        left: auto;
        top: auto;
        margin: 40px 0 60px;
    }
    footer .inner .text p {
        font-size: 13px;
        line-height: 1.8em;
    }
    footer .inner .text p:first-of-type {
        font-size: 15px;
        margin-bottom: 14px;
        letter-spacing: 0.01em;
    }

    footer .inner .mark {
        position: static;
        right: auto;
        top: auto;
        width: 100%;
        height: 120px;
        padding-top: 30px;
        margin-bottom: 55px;
        text-align: center;
    }
    footer .inner .mark img {
        position: static;
        left: auto;
        top: auto;
        width: auto;
        height: 49px;
    }
    footer .inner .mark p {
        font-size: 10px;
        padding-top: 15px;
    }
    footer .copy {
        position: static;
        left: auto;
        bottom: auto;
        font-size: 11px;
        text-align: center;
        margin-bottom: 15px;
    }
    footer .zaidan {
        position: static;
        right: auto;
        bottom: auto;
        text-align: center;
    }
    footer .zaidan img {
        width: auto;
        height: 23px;
    }



    h3.midashi {        
        font-size: 17px;
    }
    h3.midashi span {
        font-size: 17px;
    }
    h3.midashi span::after {
        height: 6px;
        bottom: -1px;
    }
	h3.midashi.db {
		line-height: 1.8em;
		height: auto;
	}


    .topimage {
        position: relative;
        width: 100%;
        height: 253px;
        overflow: hidden;
        margin-bottom: 90px;
    }
    .topimage img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    .news {
        font-size: 10px;
        height: 35px;
        overflow: hidden;
        padding: 11px 25px 0 25px;
    }
    .news .inner {
        width: 200%;
    }
    .news span {
        margin-right: 10px;
    }
	
	.internship_logo {
		padding-bottom: 80px;
	}
	.internship_logo img {
		width: 200px;
		height: auto;
	}
	.video {
		padding: 0 37px;
		margin-bottom: 120px;
	}
	.video.type2 {
		margin-top: 80px;
		margin-bottom: 40px;
	}
    .video iframe {
	    width: 100%;
    	height: 100%;
    }

    .about_text {
        text-align: left;
        padding: 0 37px 80px;
    }
    .about_text p {
        font-size: 14px;
        line-height: 2.2em;
        margin: 41px 0 0;
    }
	.internship .about_text p:first-of-type {
		font-size: 22px;
	}	
    .about_text p br {
        display: none;
    }
    .about_text p:first-of-type {
        font-size: 23px;
        text-align: center;
    }
    .about_text a:first-of-type {
        margin: 41px auto 25px;
    }

    .page_title h2 {
        font-size: 15px;
        width: 100%;
        height: 40px;
        padding-top: 12px;
        margin-bottom: 80px;
    }


    .point_box {
        width: 100%;
        padding: 0 52px;
        margin: 60px auto 120px;
    }
    .point_box .wp-block-columns {
        display: block;
    }
    .point_box .wp-block-column {
        display: block;
        margin-right: 0;
        margin-bottom: 70px;
    }
    .point_box .wp-block-column:not(:first-child) {
        margin-left: 0;
    }
    .point_box h3 img {
        height: 56px;
    }
/*	.internship .point_box h3 {
		font-size: 20px;
		width: 133px;
		height: 76px;
		padding: 14px 32px 0 15px;
		margin: auto;
		background: url("../img/internship-point-m.png") no-repeat 0 0;
		background-size: 133px 76px;
	}*/
	.internship .point_box h3 img {
		width: 133px;
		height: 76px;
	}
    .point_box h4 {
        color: #45b035;
        font-size: 22px;
        line-height: 1.6em;
        text-align: center;
        margin: 23px 0 36px;
    }
	.internship .point_box h4 {
		font-size: 22px;
		letter-spacing: 0.02em;
	}
    .point_box .wp-block-image {
        width: 100%;
        height: 187px;
        overflow: hidden;
        margin-bottom: 28px;
    }
    .point_box p {
        font-size: 14px;
        line-height: 1.78em;
    }

    .prog_box {
        padding: 0 37px;
        margin: 27px 0 120px;
    }
    .prog_box p {
        font-size: 14px;
        line-height: 2.14em;
        text-align: left;
        margin-bottom: 51px;
    }
    .prog_box .wp-block-columns {
        display: block;
        width: calc(100% - 30px);
        margin: 0 auto 100px;
    }
    .prog_box .wp-block-column {
        display: block;
        margin: 0 !important;
    }
    .prog_box .wp-block-column:nth-of-type(1) {
        width: 100% !important;
    }
    .prog_box .wp-block-column:nth-of-type(2) {
        margin: 26px 0 0 !important
    }
    .prog_box .wp-block-column .wp-block-image {
        width: 100%;
        height: 180px;
    }
    .prog_box .wp-block-column h3 {
        font-size: 18px;
        line-height: 1em;
        margin: 20px 0 22px;
    }
    .prog_box .wp-block-column h3 span {
        font-weight: 700;
        font-size: 13px;
        margin-top: 13px;
    }
    .prog_box .wp-block-column p {
        font-size: 14px;
        line-height: 1.78em;
    }
	.internship .prog_box .wp-block-column h3 {
		line-height: 1.2em;
	}

    dl.qa {
        width: calc(100% - 75px);
        margin: 60px auto 120px;
    }
    dl.qa dt {
        font-size: 14px;
        line-height: 1.5em;
        text-indent: -22px;
        padding: 17px 35px 17px 30px;
        background: url("../img/plus.png") no-repeat calc(100% - 11px) 19px;
        background-size: 13px 13px;
    }
    dl.qa dt.open {
        background: url("../img/minus.png") no-repeat calc(100% - 11px) 19px;
        background-size: 13px 13px;
    }
    dl.qa dd {
        font-size: 13px;
        line-height: 1.6em;
        text-indent: -20px;
        padding: 17px 20px 17px 30px;
    }
	.internship dl.qa dt,		
	.internship dl.qa dt.open {
		background: url("../img/plus2.png") no-repeat calc(100% - 11px) 19px;
		background-size: 13px 13px;
	}


    .fair_wrap a {
        color: #45b035;
    }

    .box01 {
        width: calc(100% - 105px);
        margin: 0 auto 120px;
    }
    .box01 .clearfix {
        padding-bottom: 50px;
    }
    .box01 .img {
        float: none;
        width: 100%;
        height: 180px;
        overflow: hidden;
    }
    .box01 .text {
        float: none;
        width: 100%;
        margin-top: 35px;
    }
    .box01 .text span {
        display: block;
        color: #45b035;
    }
    .box01 .text .title {
        font-size: 30px;
		margin-top: -3px;
        margin-bottom: 27px;
    }
    .box01 .text .d {
        font-size: 23px;
        line-height: 1em;
        margin-bottom: 15px;
    }
    .box01 .text .h {
        font-size: 13px;
        line-height: 1.2em;
		margin-top: -1.3px;
        margin-bottom: 23.7px;
    }
    .box01 .text table td {
        font-size: 13px;
    }

    .box02 {
        color: #45b035;
        width: calc(100% - 75px);
        height: auto;
        padding: 137px 0 0 0;
        margin: 0 auto 120px;
        background: url("../img/tokuten.png") no-repeat 50% 0;
        background-size: 178px 97px;
    }
	.internship .box02 {
		background: url("../img/tokuten2.png") no-repeat 50% 0;
        background-size: 178px 97px;
	}
    .box02 p {
        font-size: 14px;
        line-height: 1.78em;
        margin-bottom: 12px;
        padding-left: 1.5em;
        text-indent: -1.5em;
    }

    .box03 {
        width: calc(100% - 75px);        
        padding: 0;
        margin: 120px auto 120px;
    }
    .box03 .kwaku {
        padding: 20px 20px 0;
        margin: 50px 0 0;
        border: 1px solid #FFE100;
    }
    .box03  table {
        display: block;
    }
    .box03  tbody,
    .box03 tr {
        display: block;
        width: 100%
    }
    .box03  table td {
        display: block;
        font-size: 10px;
        line-height: 1em;
        width: 100%;
    }
    .box03  table td p {
        font-size: 10px;
        padding-bottom: 20px;
        margin-bottom: 0;
    }
    .box03  table td p a {
        display: block;
        font-size: 13px;
        margin-bottom: 5px;
    }
    .box03  table tr td:nth-of-type(1) {
        padding: 0;
    }
    .box03  table tr td:nth-of-type(2) {
        padding: 0;
    }
    .box03 .ryaku {
        margin: 40px 0 45px;
    }
    .box03 .ryaku p:nth-of-type(1) {
        font-size: 15px;
        line-height: 1em;
        margin-bottom: 15px;
    }
    .box03 .ryaku p:nth-of-type(2) {
        font-size: 12px;
        line-height: 1.75em;
    }

    .box04 {
        width: calc(100% - 75px);
        margin: 0 auto 120px;
    }
    .box04 .name {
        font-size: 14px;
        margin: 50px 0 30px;
    }
    .box04 iframe {
        width: 100%;
        height: 150px;
    }
    .box04 p {
        font-size: 14px;
        line-height: 1.6em;
        margin: 25px 0 0;
    }


    .box05 table {
        display: block;
        width: calc(100% - 75px);
        margin: 50px auto;
        border-bottom: none;
    }
    .box05 tbody,
    .box05 tr {
        display: block;
    }
    .box05 table td {
        display: block;
        font-size: 13px;
        line-height: 1.6em;
        width: 100%;
        padding: 0 20px 14px;
        border: none;
        border-bottom: 1px solid #45b035;        
    }
    .box05 table tr td:first-of-type {
        color: #45b035;
        width: 100%;
        padding-top: 14px;
        padding-bottom: 10px;
        vertical-align: top;
        border: none;
    }

    .box06 {
        padding: 100px 0 90px;
    }
    .box06 ul {
        position: static;
        width: 100%;
        height: auto;
        margin: auto;
    }
    .box06 ul li {
        position: static;
        text-align: center;
        margin-bottom: 25px;
    }
    .box06 ul li:nth-of-type(1) {
        left: auto;
        top: auto;
    }
    .box06 ul li:nth-of-type(2) {
        left: auto;
        bottom: auto;
    }
    .box06 ul li:nth-of-type(3) {
        right: auto;
        top: auto;
    }
    .box06 ul li:nth-of-type(4) {
        right: auto;
        bottom: auto;
        margin-bottom: 0;
    }


    a.btn1 {
        display: block;
        color: #fff;
        font-size: 15px;
        line-height: 1em;
        text-align: center;
        width: 270px;
        height: 40px;
        padding: 12px 0 0;
        margin: auto;
        background-color: #45b035;
        border-radius: 5px;
    }
    a.btn1.b {
        font-size: 17px;
        padding-top: 11px;
    }
    a.btn2 {
        display: block;
        color: #fff;
        font-size: 15px;
        line-height: 1em;
        text-align: center;
        width: 270px;
        height: 40px;
        padding: 12px 0 0;
        margin: auto;
        background-color: #1b559a;
        border-radius: 5px;
    }
    a.btn3 {
        display: block;
        color: #45b035;
        font-size: 15px;
        line-height: 1em;
        text-align: center;
        width: 270px;
        height: 40px;
        padding: 12px 0 0;
        margin: auto;
        border: 1px solid #45b035;
        border-radius: 5px;
    }
	.internship a.btn3.mini {
		font-size: 12px;
		padding-top: 13px;
	}



    .event_wrap {
        width: calc(100% - 105px);
        padding: 0;
        margin: 60px auto 0;
        box-sizing: border-box;
    }
	.internship .event_wrap {
		margin-bottom: 120px;
	}
    .event_wrap ul {
        display: block;
    }
    .event_wrap ul li {
        float: none;
        width: 100%;
        min-height: auto;
        margin-right: 0;
        margin-bottom: 60px;
    }
    .event_wrap ul li a .img {
        width: 100%;
        height: 180px;
        margin-bottom: 21px;
    }
    .event_wrap ul li a .date {
        position: absolute;
        left: -5px;
        top: -5px;
        color: #fff;
        font-family: 'Roboto', sans-serif;
        width: 48px;
        height: 48px;
        background-color: #45b035;
        border-radius: 4px;
    }
    .event_wrap ul li a .date::after {
        content: "";
        display: block;
        position: absolute;
        left: 7px;
        top: 50%;
        width: 38px;
        height: 1px;
        background-color: #fff;
        transform: rotate(-45deg)
    }
    .event_wrap ul li a .date .m {
        position: absolute;
        left: 6px;
        top: 6px;
        font-size: 15px;
        line-height: 1em;
    } 
    .event_wrap ul li a .date .d {
        position: absolute;
        right: 5px;
        bottom: 5px;
        font-size: 15px;
        line-height: 1em;
    }
    .event_wrap ul li a .cat {
        font-size: 12px;
        width: 97px;
        padding: 4px 0;
        border-radius: 4px;
    }
	.event_wrap ul li.int a .cat {
		width: 150px;
	}
    .event_wrap ul li a .title {
        font-size: 18px;
        margin: 13px 0 10px;
    }
    .event_wrap ul li a table td {
        font-size: 13px;
        padding-bottom: 5px;
    }
    
    br.sp {
        display: inline;
    }
    
    /* 20200415岩本追加 */
	.video2 {
		padding: 0 10px;
		margin-bottom: 50px;
	}

    .video2 iframe {
	    width: 100%;
    	height: 100%;
    }   
    
    
}