@charset "UTF-8";

.policies .philosophy-outer{background-color: #f0f0f0; padding: 0 40px; box-sizing: border-box;}
.policies .philosophy{position: relative; max-width: 1200px; width: 100%; height: 810px; margin: 0 auto;}
.policies .philosophy-ttl{position: absolute; right: 0; bottom: 260px; font-size: 6.4rem; font-weight: 900; line-height: 80px; text-align: right; width: 476px; padding-bottom: 26px; box-sizing: border-box; z-index: 1;}
.policies .philosophy-ttl:before,
.policies .philosophy-ttl:after{content: ""; display: block; position: absolute; right: 0; bottom: 0; height: 7px;}
.policies .philosophy-ttl:before{width: 100%; background-color: #fabe00;}
.policies .philosophy-ttl:after{width: 350px; background-color: #1a2978;}
.policies .philosophy-list{position: absolute; left: 0; bottom: 28px; width: 100%; display: flex; justify-content: space-between; z-index: 1;}
.policies .philosophy-item{width: 32%; max-width: 376px; height: 174px; display: flex; align-items: center; justify-content: center; text-align: center; background-color: #cc0000; font-size: 3.2rem; font-weight: 700; line-height: 39px; color: #ffffff;}
.policies .philosophy-img{position: absolute; left: 0; bottom: 98px;}


.policies .main-policies-outer{padding: 45px 40px 70px; box-sizing: border-box; background-color: #1a2978;}
.policies .main-policies{max-width: 1200px; margin: 0 auto;}
.policies .main-policies-ttl{font-size: 6.4rem; font-weight: 900; line-height: 1; color: #fabe00; text-align: center;}
.policies .main-policies-desc{font-size: 1.6rem; color: #ffffff; margin: 17px 0 30px; text-align: center;}

.policies .three{padding: 30px 65px 25px; box-sizing: border-box; background-color: #ffffff;}
.policies .three-ttl{font-size: 3.8rem; font-weight: 900; text-align: center; margin-bottom: 50px;}
.policies .three-ttl .big{font-size: 6.2rem;}
.policies .three-ttl .middle{font-size: 4.9rem; color: #cc0000;}
.policies .three-list{display: flex; justify-content: space-between; width: 100%;}
.policies .three-item{width: 32%; max-width: 324px;}
.policies .three-link{position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 206px; box-sizing: border-box; border: #cc0000 solid 5px;}
.policies .three-link:after{content: ""; display: block; position: absolute; right: -5px; bottom: -5px; width: 36px; height: 36px; background: url("../img/icon_arrow_r.svg") no-repeat center center; background-size: 24px 13px; background-color: #000000; transition: .3s background;}
.policies .three-link:hover:after{background-color: #cc0000;}
.policies .three-item-ttl{position: absolute; top: -27px; left: -18px; display: flex; align-items: center; justify-content: center; width: 200px; height: 46px; background-color: #1a2978; font-size: 26px; font-weight: 500; line-height: 30px; letter-spacing: .2rem; color: #ffffff;}
.policies .three-item-ttl .num{font-size: 3rem; color: #fabe00; margin-right: 10px;}
.policies .three-item-txt{font-size: 2.2rem; font-weight: 700; line-height: 32px; text-align: center;}
.policies .three-other-list{margin-top: 28px; display: flex; justify-content: space-between;}
.policies .three-other-item{max-width: 580px; width: 48.5%; background-color: #ffffff; padding: 25px 20px 22px; box-sizing: border-box;}
.policies .three-other-item-ttl{font-size: 3.6rem; font-weight: 900; text-align: center; margin-bottom: 10px;}
.policies .three-other-link{position: relative; display: flex; align-items: center; justify-content: center; max-width: 424px; width: 100%; height: 155px; margin: 0 auto; box-sizing: border-box; border: #cc0000 solid 5px;}
.policies .three-other-link:after{content: ""; display: block; position: absolute; right: -5px; bottom: -5px; width: 36px; height: 36px; background: url("../img/icon_arrow_r.svg") no-repeat center center; background-size: 24px 13px; background-color: #000000; transition: .3s background;}
.policies .three-other-link:hover:after{background-color: #ce0000;}

.policies .policies-detail-outer{width: 100%; overflow: hidden;}
.policies .policies-detail{padding: 90px 40px 140px 84px; box-sizing: border-box; width: 100%; max-width: 1280px; margin: 0 auto;}
.policies .policies-detail-box-outer{padding-top: 50px; margin-bottom: 70px;}
.policies .policies-detail-box{position: relative; background-color: #ededed; padding: 47px 0 60px 70px; box-sizing: border-box;}
.policies .policies-detail-box:last-of-type{margin-bottom: 0;}
.policies .policies-detail-ttl{position: absolute; top: -44px; left: -44px; display: flex; align-items: center; justify-content: center; width: 375px; height: 88px; background-color: #1a2978;}
.policies .policies-detail-ttl .num{font-size: 3.8rem; font-weight: 500; letter-spacing: .2rem; color: #fabe00; margin-right: 12px;}
.policies .policies-detail-ttl .txt{font-size: 3.4rem; font-weight: 500; letter-spacing: .2rem; color: #ffffff; margin-right: 15px;}
.policies .policies-detail-ttl .small{font-size: 1.2rem; font-weight: 500; color: #fabe00;}
.policies .policies-detail-flex{display: flex; justify-content: space-between; align-items: flex-end;}
.policies .policies-detail-list{max-width: 600px; width: calc(100% - 457px); padding-top: 40px;}
.policies .policies-detail-item{width: 100%; margin-bottom: 15px; padding: 20px; border-left: #cc0000 solid 27px; box-sizing: border-box; background-color: #ffffff;}
.policies .policies-detail-item:last-child{margin-bottom: 0;}
.policies .policies-detail-item-txt-big{font-size: 2.2rem; font-weight: 700; line-height: 28px;}
.policies .policies-detail-item-txt-small{font-size: 1.6rem; line-height: 1.5; margin-top: 10px;}
.policies .policies-detail-item-txt-small a{color: #003571;}
.policies .policies-detail-item-txt-small a:hover{color: #ce0000;}
.policies .policies-detail-item-txt-list{margin-top: 10px;}
.policies .policies-detail-item-txt-item{position: relative; padding-left: 20px; font-size: 1.6rem; line-height: 1.5;}
.policies .policies-detail-item-txt-item .num{position: absolute; left: 0; top: 0;}
.policies .policies-detail-channel{position: relative; width: 425px; padding: 30px 0 45px 75px; box-sizing: border-box; background-color: #ce0000;}
.policies .policies-detail-channel:after{content: ""; display: block; position: absolute; left: 100%; top: 0; width: 100vw; height: 100%; background-color: #ce0000;}
.policies .channel-balloon{position: absolute; top: -25px; left: -20px;}
.policies .policies-detail-channel-ttl{font-size: 3rem; font-weight: 900; color: #fabe00; text-align: center; margin-bottom: 10px;}
.policies .policies-detail-channel-date{display: block; margin-bottom: 15px; font-size: 1.4rem; line-height: 1; color: #ffffff; text-align: center;}
.policies .policies-detail-channel-img{width: 100%;}

.policies .policies-detail-others{margin-top: 60px; display: flex; justify-content: space-between;}
.policies .policies-detail-box02{display: flex; flex-flow: column; max-width: 552px; width: 47.84%; padding: 48px 0 0; background-color: #ededed;}
.policies .policies-detail-others-ttl{font-size: 4.2rem; font-weight: 900; text-align: center; margin-bottom: 30px; width: 100%;}
.policies .policies-detail-others-list{padding: 0 30px; box-sizing: border-box; margin-bottom: 100px; width: 100%; max-width: none;}
.policies .policies-others-channel{width: 100%; padding: 30px 20px 45px; box-sizing: border-box; margin-top: auto;}
.policies .policies-others-channel:after{display: none;}
.policies .channel-balloon-others{top: -77px; left: 20px;}
.policies .policies-detail-channel-img-box{text-align: center;}
.policies .policies-detail-channel-img{max-width: 350px;}
.policies .policies-detail-channel-movie-box{text-align: center;}
.policies .policies-detail-channel-movie-box iframe{width: 350px; height: 200px;}


.policies .proposal-outer{position: relative; padding: 80px 40px; box-sizing: border-box; background-color: #cc0000;}
.policies .proposal-outer:before{content: ""; display: block; position: absolute; left: 0; top: 0; width: calc(50% + 194px); height: 365px; background-color: #1a2978;}
.policies .proposal{position: relative; z-index: 1; max-width: 1200px; width: 100%; margin: 0 auto;}
.policies .proposal-ttl{font-size: 4.2rem; font-weight: 900; color: #ffffff; margin-bottom: 65px;}
.policies .proposal-list{text-align: center; /* display: flex; justify-content: space-between; */}
.policies .proposal-item:first-child{/* width: 50.5%; */}
.policies .proposal-item:last-child{/* width: 45%; */}
.policies .proposal-img{/* width: 100%; */}

@media screen and (max-width:1200px){
.policies-5 { width: 100%; }
}




@media screen and (min-width:768px) and (max-width:1040px){
    .policies .policies-detail-others-ttl{font-size: 3.6rem;}
}





@media screen and (max-width:768px){
    .policies .philosophy-outer{background-color: #ffffff; padding: 0 0 30px;}
    .policies .philosophy{height: auto;}
    .policies .philosophy-ttl{position: relative; right: auto; bottom: auto; font-size: 3.9rem; line-height: 48px; text-align: left; width: 195px; padding-bottom: 10px; margin-left: 15px; margin-top: -155px; margin-bottom: 10px;}
    .policies .philosophy-ttl:before,
    .policies .philosophy-ttl:after{left: 0; right: auto; height: 4px;}
    .policies .philosophy-ttl:after{width: 140px;}
    .policies .philosophy-list{position: static; display: block; padding: 0 15px; box-sizing: border-box;}
    .policies .philosophy-item{width: 100%; max-width: none; height: 70px; font-size: 2rem !important; line-height: 1.5; margin-bottom: 8px; position: relative; z-index: 1;}
    .policies .philosophy-item:last-child{margin-bottom: 0;}
    .policies .philosophy-img{position: static; width: 100%;}


    .policies .main-policies-outer{padding: 40px 15px;}
    .policies .main-policies-ttl{font-size: 3.9rem;}
    .policies .main-policies-desc{display: flex; justify-content: center; margin: 13px 0 25px; text-align: left; padding: 0 30px; box-sizing: border-box;}

    .policies .three{padding: 38px 15px;}
    .policies .three-ttl{font-size: 2.5rem; margin-bottom: 45px;}
    .policies .three-ttl .big{font-size: 4rem;}
    .policies .three-ttl .middle{font-size: 3.1rem;}
    .policies .three-list{display: block;}
    .policies .three-item{width: 100%; max-width: none; margin-bottom: 40px;}
    .policies .three-item:last-child{margin-bottom: 0;}
    .policies .three-link{height: auto; border: #cc0000 solid 3px; padding: 30px 10px; box-sizing: border-box;}
    .policies .three-link:after{right: -3px; bottom: -3px; width: 20px; height: 20px; background-size: 14px 8px;}
    .policies .three-item-ttl{top: -20px; left: -12px; width: 150px; height: 35px; font-size: 22px;}
    .policies .three-item-ttl .num{font-size: 2rem;}
    .policies .three-item-txt{font-size: 1.7rem; line-height: 27px;}
    .policies .three-other-list{margin-top: 25px; display: block;}
    .policies .three-other-item{max-width: none; width: 100%; padding: 17px 15px 15px;}
    .policies .three-other-item-ttl{font-size: 2.3rem;}
    .policies .three-other-link{max-width: none; height: auto; border: #cc0000 solid 3px; padding: 20px 10px; box-sizing: border-box;}
    .policies .three-other-link:after{right: -3px; bottom: -3px; width: 20px; height: 20px; background-size: 14px 8px;}

    .policies .policies-detail{padding: 46px 15px 0;}
    .policies .policies-detail-box-outer{padding-top: 30px; margin-bottom: 30px;}
    .policies .policies-detail-box{padding: 60px 0 0;}
    .policies .policies-detail-box:last-of-type{margin-bottom: 0;}
    .policies .policies-detail-ttl{top: -23px; left: -15px; width: 255px; height: 58px;}
    .policies .policies-detail-ttl .num{font-size: 2.9rem;}
    .policies .policies-detail-ttl .txt{font-size: 2.6rem;}
    .policies .policies-detail-ttl .small{font-size: 1rem;}
    .policies .policies-detail-flex{display: block;}
    .policies .policies-detail-list{max-width: none; width: 100%; padding: 0 23px; box-sizing: border-box; margin-bottom: 68px;}
    .policies .policies-detail-item{padding: 20px 12px; border-left: #cc0000 solid 13px;}
    .policies .policies-detail-item:last-child{margin-bottom: 0;}
    .policies .policies-detail-item-txt-big{font-size: 1.7rem; line-height: 23px;}
    .policies .policies-detail-item-txt-small{font-size: 1.4rem; line-height: 19px; margin-top: 8px;}
    .policies .policies-detail-item-txt-list{margin-top: 8px;}
    .policies .policies-detail-item-txt-item{padding-left: 20px; font-size: 1.4rem; line-height: 19px;}
    .policies .policies-detail-channel{width: 100%; padding: 20px;}
    .policies .policies-detail-channel:after{display: none;}
    .policies .channel-balloon{top: -55px; left: -5px;}
    .policies .channel-balloon-img{width: 75px; height: auto;}
    .policies .policies-detail-channel-ttl{font-size: 2.4rem;}
    .policies .policies-detail-channel-date{font-size: 1.2rem;}
    .policies .policies-detail-channel-img-box{padding: 0 40px; box-sizing: border-box;}
    .policies .policies-detail-channel-img{width: 100%;}

    .policies .policies-detail-others{display: block; padding-bottom: 60px;}
    .policies .policies-detail-box02{max-width: none; width: 100%; padding: 37px 0 0; box-sizing: border-box;}
    .policies .policies-detail-box02:first-child{margin-bottom: 60px;}
    .policies .policies-detail-others-ttl{font-size: 2.3rem;}
    .policies .policies-detail-others-list{padding: 0 23px; margin-bottom: 68px; height: auto !important;}
    .policies .policies-others-channel{padding: 20px;}
    .policies .policies-others-channel:after{display: none;}
    .policies .channel-balloon-others{top: -55px; left: -5px;}
    .policies .policies-detail-channel-img-box{padding: 0 40px; box-sizing: border-box;}
    .policies .policies-detail-channel-img{max-width: none; width: 100%;}
    .policies .policies-detail-channel-movie-box{padding: 0 40px; box-sizing: border-box;}
    .policies .policies-detail-channel-movie-box iframe{width: 100%; height: calc((100vw - 150px) * .5625);}

    .policies .proposal-outer{padding: 50px 30px;}
    .policies .proposal-outer:before{width: calc(50% + 100px); height: 77.5%;}
    .policies .proposal-ttl{font-size: 2.9rem; line-height: 34px; margin-bottom: 33px;}
    .policies .proposal-list{display: block;}
    .policies .proposal-item:first-child{width: 100%; margin-bottom: 30px;}
    .policies .proposal-item:last-child{width: 100%;}
	
}



@media screen and (max-width:1040px){
    .policies .philosophy-item{font-size: 2.8rem;}
}