@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#container {
    padding-top: 0;
}
#gHeader {
    padding: 27px 0 10px;
    background: none;
}
#gHeader.fix #gNavi li .subInner {
    background: rgba(238,238,238,0.8);
}
#gHeader .hBox {
    max-width: 1760px;
}
#gHeader h1 {
    width: 300px;
}
#gHeader h1 img {
    opacity: 0;
}
#gHeader h1 a {
    display: block;
    background: url("images/index/logo.png") no-repeat center center;
    background-size: 300px auto;
}
#gHeader .rBox p {
    display: none;
}
#gNavi li {
    margin-right: 40px;
}
#gNavi li a {
    color: #FFF;
    font-weight: 700;
}
#gNavi li a::after {
    background: #FFF;
}
#gNavi li .subInner {
    top: 115px;
    background: none;
}
#gHeader.fix {
    padding: 10px 10px 0;
    position: fixed;
    background-color: #FFF;
}
#gHeader.fix h1 a {
    background: none;
}
#gHeader.fix h1 img {
    opacity: 1;
}
#gHeader.fix .hBox {
    max-width: 1840px;
    align-items: center;
}
#gHeader.fix #gNavi li a {
    color: #222;
}
#gHeader.fix #gNavi li a::after {
    background-color: #222;
}
.mainVisual {
    margin-bottom: 59px;
    padding-top: 5%;
    min-height: 900px;
    box-sizing: border-box;
    background: url("images/index/main_visual_bg.jpg") no-repeat center center;
    background-size: cover;
}
.mainVisual .inner {
	padding-top: 40px;
    margin: 0 auto;
    max-width: 1500px;
    height: 95%;
    position: relative;
	box-sizing: border-box;
}
.mainVisual h2 {
    margin-bottom: 28px;
    position: relative;
    z-index: 1;
}
.mainVisual h2 img {
    width: 1110px;
}
.mainVisual p {
    color: #FFF;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.75;
    text-align: center;
    position: relative;
    z-index: 1;
    text-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.mainVisual .photo01 {
    width: 400px;
    position: absolute;
    right: 0;
    top: 15%;
}
.mainVisual .photo02 {
    width: 420px;
    position: absolute;
    left: 70px;
    bottom: -6%;
}
.mainVisual .scroll {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 2%;
    text-align: center;
}
.mainVisual .scroll a {
    padding-bottom: 31px;
    color: #FFF;
    font-size: 2.4rem;
    background: url("images/common/scroll.png") no-repeat center bottom;
    background-size: 40px auto;
}
#main .store {
    margin-bottom: 100px;
}
#main .store h3 {
    margin-bottom: 45px;
    color: #EE7900;
    font-size: 4rem;
    text-align: center;
}
#main .store h3 .inner {
    display: inline-block;
    position: relative;
}
#main .store h3 .inner::before {
    width: 100%;
    height: 30px;
    position: absolute;
    left: 0;
    bottom: -5px;
    z-index: -1;
    background-color: #FFF966;
    
    content: "";
}
#main .store .imgBox {
    flex-direction: row-reverse;
}
#main .store .imgBox .photo {
    width: 506px;
}
#main .store .imgBox .txtBox {
    margin-top: 13px;
    width: 580px;
}
#main .store .imgBox .txtBox p {
    margin-bottom: 14px;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.75;
}
#main .store .imgBox .txtBox p:last-of-type {
    margin-bottom: 31px;
}
#main .instruct {
    margin-bottom: 185px;
    padding: 60px 0;
    position: relative;
    background-color: #F5FAE4;
}
#main .instruct::before {
    width: 20.8%;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    background: #FFF;
    content: "";
}
#main .bgSec {
    position: relative;
    z-index: 1;
    align-items: flex-end;
    flex-direction: row-reverse;
}
#main .bgSec .photo {
    margin-bottom: -120px;
    width: 46.8%;
}
#main .bgSec .txtBox {
    margin-top: 12px;
    width: 49%;
}
#main .bgSec .txtBox .inner {
    margin-left: auto;
    width: 536px;
}
#main .bgSec .txtBox h3 {
    margin-bottom: 25px;
    color: #98CB00;
    font-size: 4rem;
    line-height: 1.4;
}
#main .bgSec .txtBox p {
    margin-bottom: 12px;
    line-height: 1.8;
}
#main .bgSec .txtBox p:last-of-type {
    margin-bottom: 22px;
}
#main .bgSec .subBox .photo {
    width: 120px;
}
#main .bgSec .subBox .txtBox {
    margin-top: -11px;
    width: 396px;
}
#main .imgSec .imgBoxL {
    margin-bottom: 60px;
    align-items: flex-end;
}
#main .imgSec .photo {
    width: 600px;
}
#main .imgSec .txtBox {
    margin-bottom: 22px;
    width: 450px;
}
#main .imgSec h3 {
    margin-bottom: 26px;
    font-size: 3.2rem;
}
#main .imgSec p {
    margin-bottom: 30px;
    line-height: 1.75;
}
#main .imgSec .link a {
    padding-bottom: 5px;
    display: inline-block;
    color: #002AA9;
    font-size: 2rem;
    font-weight: 700;
    border-bottom: 2px solid #002AA9;
}
#main .imgSec .comLink {
    margin: 0 auto;
}
#main .imgSec .comLink01 {
    margin: 0 auto 120px;
    width: 400px;
}
#main .imgSec .imgBoxR {
    flex-direction: row-reverse;
}
#main .imgSec .imgBoxR .photo {
    width: 480px;
}
#main .imgSec .imgBoxR .txtBox {
    margin-top: 10px;
    width: 570px;
}
#main .imgSec .imgBoxR .txtBox h3 {
    margin-bottom: 18px;
    font-size: 4rem;
    text-align: center;
}
#main .imgSec .comDl {
    padding: 0;
    border-top: none;
}
#main .imgSec .comDl dt {
    font-weight: normal;
}
#main .imgSec .comDl dd {
    padding-bottom: 0;
    border-bottom: none;
}
#main .imgSec {
    margin-bottom: 125px;
}
#main .ma {
    margin-bottom: 108px;
    padding: 50px 0 60px;
    background-color: #e5f3fc;
}
#main .ma h3 {
    margin-bottom: 22px;
    color: #00678D;
    font-size: 4rem;
    text-align: center;
}
#main .ma p {
    margin-bottom: 32px;
    text-align: center;
    line-height: 1.8;
}
#main .ma ul {
    margin: 0 auto 58px;
    width: 950px;
}
#main .ma li {
    width: 450px;
}
#main .ma .comLink {
    margin: 0 auto;
    width: 400px;
}
#main .news h3 {
    margin-bottom: 50px;
    font-size: 4rem;
    text-align: center;
}
#main .news .comLink {
    margin: 0 auto;
}
#main .news {
    margin-bottom: 118px;
}
#main .akebono {
    margin-bottom: 175px;
    padding: 60px 0;
    position: relative;
    background-color: #fef4eb;
}
#main .akebono::before {
    width: 21%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #FFF;
    
    content: "";
}
#main .akebono .bgSec {
    flex-direction: row;
}
#main .akebono .bgSec .txtBox {
    width: 50%;
}
#main .akebono .bgSec .txtBox .inner {
    margin: 0 auto 0 0;
}
#main .akebono .bgSec .txtBox h3 {
    color: #EE7900;
}
#main .akebono .bgSec .txtBox .link {
    text-align: right;
}
#main .akebono .bgSec .txtBox .link a {
    padding-bottom: 5px;
    color: #EE7900;
    display: inline-block;
    font-weight: 500;
    border-bottom: 2px solid #EE7900;
}
#main .strength h3 {
    margin-bottom: 19px;
    font-size: 4rem;
    text-align: center;
}
#main .strength p {
    margin-bottom: 52px;
    font-size: 3.2rem;
    font-weight: 700;
    text-align: center;
}
#main .strength ul {
    margin: 0 25px 45px;
}
#main .strength li {
    margin-right: 80px;
    width: 300px;
}
#main .strength li:nth-child(3n) {
    margin-right: 0;
}
#main .strength li .ttl {
    margin: 28px 0 0;
    display: block;
    color: #002aa9;
    font-size: 2.4rem;
    font-weight: 700;
}
#main .strength .comLink {
    margin: 0 auto 118px;
}
#main .comMovieList01 {
    margin-bottom: 108px;
}
#main .comMovieList01 li {
    padding-bottom: 35px;
}
#main .comMovieList01 li .photo {
    height: auto;
    overflow-y: inherit;
}
#main .comMovieList01 li:last-of-type {
    background-color: #3B5999;
}
#main .interview h3 {
    margin-bottom: 51px;
    color: #222;
    font-size: 4rem;
    text-align: center;
}
#main .interview li {
    width: 540px;
    position: relative;
}
#main .interview li .txt {
    padding: 0 5px 2px;
    display: block;
    color: #FFF;
    font-size: 3.2rem;
    font-weight: 700;
    position: absolute;
    left: 40px;
    bottom: 40px;
    background-color: #31AAEF;
}
#main .interview li:last-of-type .txt {
    background-color: #98CC00;
}
#main .interview {
    margin-bottom: 120px;
}
#main .linkSec {
    margin-bottom: 106px;
    position: relative;
}
#main .linkSec .inner {
    width: 758px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
#main .linkSec .img {
    margin-bottom: 70px;
}
#main .linkSec .comLink {
    margin: 0 auto;
}
#main .recruit {
    text-align: center;
}
#main .recruit h3 {
    margin-bottom: 50px;
    font-size: 4rem;
    text-align: center;
}
#main .recruit .banner {
    margin-bottom: 120px;
}
#main .comLinkList li:first-of-type {
    margin-right: 0;
    width: 100%;
}
#main .comLinkList li:nth-of-type(3) {
    margin-right: 2.75%;
}
#main .comLinkList li:nth-of-type(4) {
    margin-right: 0;
}
@media all and (min-width: 897px) and (max-width: 1736px) {
	#main .instruct::after {
		height: 0;
	}
	#main .akebono::after {
		height: 0;
	}
}

@media all and (min-width: 897px) and (max-width: 1500px) {

	#main .linkSec .img {
		margin-bottom: 15px;
	}
}
@media all and (max-width: 896px) {
    #gHeader {
        padding: 15px 15px 0;
        box-sizing: border-box;
    }
    #gHeader.fix {
        padding: 0 0 0 10px;
    }
    #gHeader .hBox {
        padding: 0;
        max-width: inherit;
    }
    #gHeader h1 {
        padding-left: 0;
        width: 180px;
    }
    #gHeader h1 a {
        background-size: 180px auto;
    }
    #gHeader .menu a {
        padding: 9px 5px 0 0;
        text-align: right;
        background: none;
    }
    #gHeader.fix .menu a {
        padding-right: 0;
        text-align: center;
        background-color: #012aaa;
    }
    .mainVisual {
        margin-bottom: 34px;
        padding-top: 97px;
        min-height: 568px;
        overflow: hidden;
    }
    .mainVisual .inner {
		padding-top: 0;
        max-width: inherit;
    }
    .mainVisual h2 {
        margin: 0 0 -114px -45px;
    }
    .mainVisual h2 img {
        width: 382px;
    }
    .mainVisual p {
        font-size: 1.8rem;
        line-height: 2;
    }
    .mainVisual .photo01 {
        width: 200px;
        top: 45%;
        right: -40px;
    }
    .mainVisual .photo02 {
        width: 200px;
        left: -42px;
        bottom: 46px;
    }
    .mainVisual .scroll a {
        padding-bottom: 24px;
        font-size: 2rem;
        background-size: 32px auto;
    }
    #main .store {
        margin-bottom: 58px;
    }
    #main .store h3 {
        margin-bottom: 21px;
        font-size: 1.8rem;
    }
    #main .store h3 .pcInline {
        display: none;
    }
    #main .store h3 .inner::before {
        height: 17px;
        bottom: -5px;
    }
    #main .store .imgBox {
        display: block;
    }
    #main .store .imgBox .photo {
        margin: 0 6px 33px 18px;
        width: auto;
        text-align: center;
    }
    #main .store .imgBox .txtBox {
        margin-top: 0;
        width: auto;
    }
    #main .store .imgBox .txtBox p {
        margin-bottom: 16px;
        font-size: 1.6rem;
        line-height: 1.75;
    }
    #main .store .imgBox .txtBox p:last-of-type {
        margin-bottom: 25px;
    }
    #main .instruct {
        margin-bottom: 60px;
        padding: 0 0 25px;
    }
    #main .instruct::before {
        display: none;
    }
    #main .instruct::after {
        display: none;
    }
    #main .bgSec {
        display: block;
    }
    #main .bgSec .photo {
        margin-bottom: 18px;
        width: auto;
        text-align: center;
    }
    #main .bgSec .txtBox {
        margin-top: 0;
        padding: 0 15px;
        width: auto;
    }
    #main .bgSec .txtBox .inner {
        margin-left: 0;
        width: auto;
    }
    #main .bgSec .txtBox h3 {
        margin-bottom: 20px;
        font-size: 2.4rem;
        line-height: 1.45;
    }
    #main .bgSec .txtBox p {
        margin-bottom: 8px;
        line-height: 1.85;
    }
    #main .bgSec .txtBox p:last-of-type {
        margin-bottom: 17px;
    }
    #main .bgSec .subBox .photo {
        margin: 0;
        width: 120px;
    }
    #main .bgSec .subBox .txtBox {
        margin-top: -10px;
        padding: 0;
        width: calc(100% - 140px);
    }
    #main .imgSec .imgBoxL {
        margin-bottom: 30px;
        display: block;
    }
    #main .imgSec .photo {
        margin-bottom: 24px;
        width: auto;
        text-align: center;
    }
    #main .imgSec .txtBox {
        margin-bottom: 20px;
        width: auto;
    }
    #main .imgSec h3 {
        margin-bottom: 15px;
        font-size: 2rem;
    }
    #main .imgSec p {
        margin-bottom: 8px;
        line-height: 1.9;
    }
    #main .imgSec .link {
        text-align: right;
    }
    #main .imgSec .link a {
        padding-bottom: 7px;
        font-size: 1.4rem;
    }
    #main .imgSec .comLink01 {
        margin: 0 auto 60px;
        width: 260px;
    }
    #main .imgSec .imgBoxR .photo {
        width: auto;
    }
    #main .imgSec .imgBoxR .txtBox {
        margin: 0 0 29px;
        width: auto;
    }
    #main .imgSec .imgBoxR .txtBox h3 {
        margin-bottom: 20px;
        font-size: 2.4rem;
    }
    #main .imgSec {
        margin-bottom: 62px;
    }
    #main .imgSec .comDl dd {
        margin-bottom: 0;
    }
    #main .ma {
        margin-bottom: 50px;
        padding: 26px 0 33px;
    }
    #main .ma h3 {
        margin-bottom: 16px;
        font-size: 2rem;
    }
    #main .ma p {
        margin-bottom: 26px;
        text-align: left;
    }
    #main .ma ul {
        margin: 0 auto 30px;
        width: auto;
        display: block;
    }
    #main .ma li {
        margin-bottom: 20px;
        width: auto;
        text-align: center;
    }
    #main .ma li:last-of-type {
        margin-bottom: 0;
    }
    #main .ma .comLink {
        width: 240px;
    }
    #main .news h3 {
        margin-bottom: 26px;
        font-size: 2.4rem;
    }
    .comNewsDl {
        border-width: 2px;
    }
    .comNewsDl dd {
        border-width: 2px;
    }
    #main .news {
        margin-bottom: 72px;
    }
    #main .akebono {
        margin-bottom: 50px;
        padding: 0 0 40px;
    }
    #main .akebono::before {
        display: none;
    }
    #main .akebono::after {
        display: none;
    }
    #main .akebono .bgSec {
        display: block;
    }
    #main .akebono .bgSec .txtBox {
        width: auto;
    }
    #main .akebono .bgSec .txtBox .inner {
        margin: 0;
    }
    #main .strength h3 {
        margin-bottom: 19px;
        font-size: 2.4rem;
    }
    #main .strength p {
        margin-bottom: 30px;
        font-size: 2rem;
    }
    #main .strength ul {
        margin: 0 0 40px;
        display: block;
    }
    #main .strength li {
        margin: 0 0 30px;
        width: auto;
    }
    #main .strength li:last-of-type {
        margin-bottom: 0;
    }
    #main .strength li .ttl {
        margin: 15px 0 0;
        font-size: 1.6rem;
    }
    #main .strength li img {
        margin: 0 auto;
        width: 200px;
        display: block;
    }
    #main .strength .comLink {
        margin: 0 auto 59px;
    }
    #main .comMovieList01 {
        margin-bottom: 54px;
    }
    #main .comMovieList01 li {
        padding-bottom: 20px;
    }
    #main .interview h3 {
        margin-bottom: 25px;
        font-size: 2.4rem;
    }
    #main .interview li {
        margin-bottom: 20px;
        width: auto;
    }
    #main .interview li:last-of-type {
        margin-bottom: 0;
    }
    #main .interview li .txt {
        padding: 0 5px 2px;
        font-size: 2rem;
        left: 20px;
        bottom: 20px;
    }
    #main .interview {
        margin-bottom: 60px;
    }
    #main .linkSec {
        margin-bottom: 53px;
        min-height: 300px;
        background: url("images/index/photo11.jpg") no-repeat center center;
        background-size: auto 100%;
    }
    #main .linkSec > img {
        display: none;
    }
    #main .linkSec .inner {
        width: 336px;
    }
    #main .linkSec .img {
        margin-bottom: 50px;
    }
    #main .recruit h3 {
        margin-bottom: 25px;
        font-size: 2.4rem;
    }
    #main .recruit .banner {
        margin-bottom: 60px;
    }
    #main .comLinkList li:first-of-type {
        margin-bottom: 20px;
        width: 48%;
    }
    #main .comLinkList li:nth-of-type(3) {
        margin-right: 0;
    } 
	#main .comMovieList01 li .photo {
		margin: 0 auto;
		max-width: 480px;
		width: 100%;
	}
}
@media all and (max-width: 896px) and (max-height: 600px) {
	
}
@media all and (max-width: 374px) {
    #main {
        overflow: hidden;
    }
    #main .linkSec .inner {
        width: 300px;
    }
    #main .store h3 {
        font-size: 1.3rem;
    }
	.mainVisual h2 img {
		width: 300px;
	}
	.mainVisual p {
		font-size: 1.6rem;
	}
}