/* ===========================
    サブページヘッダー共通ここから
============================*/
@media screen and (max-width:768px) {

.page header {
    height: 100px;
}

.page #header-logo {
    margin-top: 33px;
}
    
}

@media screen and (max-width:480px) {
.page header {
    height: 70px;
}

.page #header-logo {
    margin-top: 20px;
}

}

/* ===========================
    サブページヘッダー共通ここまで
============================*/



/* ===========================
    TOP-CONTENTSここから
============================*/

.ab-sec-01 {
    background-color: #f5f5f5;
    padding: 80px 0;
}

.ab-sec-01 .inner-1230 {
    padding:165px 135px 135px;
    position:relative;
}

.ab-sec-01 .inner-1230::before {
    content: '';
    position: absolute;
    display: block;
    background-image: url(images/about/about-catch.png);
    background-repeat: no-repeat;
    width:423px;
    height:115px;
    right:135px;
    top:110px;
}

.ab-sec-01 .inner-1230::after {
    content: '';
    position: absolute;
    display: block;
    background-image: url(images/about/about-bg-pc.png);
    background-repeat: no-repeat;
    width:256px;
    height:340px;
    right:59px;
    top:178px;
    z-index: 2;
}

.ab-contents-top {
    margin-top:70px;
}

.about-wrap {
    z-index: 200;
    position: relative;
}

.ab-left {
    float:left;
    width:55%;
		margin-bottom:20px;
}

.ab-right {
    float:right;
    width:45%;
    padding-left:5%;
    z-index: 90;
}

.ab-right img {
    z-index: 100;
}

.ab-text {
    font-weight: 400;
    line-height: 160%;
    font-size:18px;
}

.yellow {
    color:#072B6F;
    font-weight: 700;
    background: linear-gradient(transparent 50%, #FFF581 50%);
}

.important {
    font-weight: 700;
    font-size:24px;
    color:#072B6F;
}

.ab-contents-bottom {
    margin-top: 20px;
}

.ab-left-50 {
    width:50%;
    float: left;
    padding:0 4%;
}

.ab-right-50 {
    width: 50%;
    float: right;
    padding:0 4%;
}

.ab-contents-bottom .small {
    display: block;
    overflow: hidden;
    color:#9B9B9B;
    margin-top: 20px;
    font-size:10px;
}

.clear{
    clear:both;
}

.about-wrap h3 {
	margin: 50px auto 0;
	text-align: center;
}
.about-wrap h3 img {
	margin: 0 auto;
	text-align: center;
}


.inner-1020 {
    max-width: 1020px;
    padding: 50px 30px;
    margin: 0 auto;
    background: #fff;
}

.check-wrap h3 {
    text-align: center;
}
@media screen and (max-width:1120px) {

.ab-sec-01 .inner-1230::before {
    top: 53px;
}
}
@media screen and (max-width:768px) {

.ab-sec-01 .inner-1230::before, .ab-sec-01 .inner-1230::after {
    display: none;
}
    
    .ab-sec-01 .inner-1230 {
    padding: 80px 10px 80px;    
    }
    .ab-contents-top {
    margin-top: 40px;
    }
    
    .ab-left, .ab-right {
    float: none;
    width: 100%;
}
    
    .ab-right {
    padding-left:0;
        margin:40px 0;
}

    .ab-left-50, .ab-right-50 {
        width: 100%;
            float:none;
    }
    .ab-right-50 {
        margin-top:50px;
    }
    
    .ab-contents-bottom .small {
    font-size: 16px;
}
    
    .about-wrap h3 {
        padding: 0;
}
}
/* ===========================
    TOP-CONTENTSここまで
============================*/


/* ===========================
    BOTTOM-CONTENTSここから
============================*/

.ab-sec-02 {
    background-image: url(images/about/check_bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top:1px;
    padding-bottom: 80px;
}

.inner-1020 {
    background-image: url(images/about/check_box.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border: 10px solid #fff;
    margin-top: -160px;
    position: relative;
    border-radius: 10px;
    
}

.check-box {
    margin-bottom: 40px;
}

.check-box h4 {
    background-color: #4771BF;
    border-radius: 5px;
    color:#fff;
    font-size:20px;
    font-weight:700;
    text-align: center;
    padding:5px 0;
    margin-bottom:15px;
}

.check-box label{
  display:block;
  position:relative;
  padding-left:1.5em;
    margin-bottom: 10px;
}

.check-box label input{
  position:absolute;
  left:0;
  margin:auto;
top:7px;
    font-size:20px;
}

.total-box {
    font-size:24px;
    font-weight: 700;
    color:#072B6F;
    margin: 0 auto;
    text-align: center;
}


.total-box p {
    display: inline-block;
    padding:0 5px;
}

.total-box .total {
    padding:10px 60px;
    background-color: #fff;
    font-size: 50px;
    border-radius: 10px;
    box-shadow: 0 0 5px gray;
}


input[type=checkbox] {
  -ms-transform: scale(1.8, 1.8);
  -webkit-transform: scale(1.8, 1.8);
  transform: scale(1.8, 1.8);
}

.lang {
    counter-reset: characters;
}
input:checked {
    counter-increment: characters;
}
.total:after {
    content: counter(characters);
}

.ab-sec-03 {
    background-color:#9B9B9B;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.ab-sec-03 .inner {
    background-color: rgba(255,255,255,0.3);
    max-width: 100%;
    padding:85px 0;
}

.about-link {
    max-width: 960px;
    margin:0 auto;
}


.com-button {
    display: flex;
    padding: 0 10px;
}
.com-button a {
    display: flex;
    align-items: center;
}

.flex {
    display: flex;
  justify-content: center;

}

@media screen and (max-width:768px) {
.inner-1020 {
margin-top: -145px;
    }
    .m-12 {
        width: 100%;
            float:none;
    }
    .total-box p {
        display:block;
        margin-bottom:10px;
    }
    .total {
        max-width: 30%;
        text-align: center;
        margin: 0 auto;
    }
    
    .flex {
    display: block;
        width: 100%;
}
    .com-button {
    display: block;
        text-align: center;
}
    
    .com-button a {
    display: block;
        text-align: center;
}
    .ab-sec-02 {
        padding: 0 20px;
    }
    .ab-sec-03, .ab-sec-02 {
    background-image: none;
}
    .contents-bottom-warp {
    background-image: url(images/about/check_bg-sp.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 10px;
    }
    .ab-sec-03 {
        padding-bottom: 0;
    }
    
    
    .ab-sec-03 .inner {      
        margin: 50px auto 0;
        padding:60px 0;
		background: #9B9B9B;
    }
}
@media screen and (max-width:480px) {
.inner-1020 {
    padding: 50px 10px;
}
.lang h3 {
    margin: 0 -20px;
}
.check-box label input {
    left: 5px;
}
}
.check-box label {
    padding-left: 2em;
}
}
/* ===========================
    BOTTOM-CONTENTSここまで
============================*/



