@charset "utf-8";



/* ================================

common

================================ */



body {

    font-size: 14px;

}



img {

    vertical-align: top;

}



a:hover img {

    opacity: .8;

}


p , h1 , h2 , h3 , h4 , h5 , h6 {
    font-family: 'Noto Sans JP', sans-serif;
}

.txt_bold {

    font-weight: 700 !important;

}


.wrap {

    width: 999px;

    margin: 0 auto;

}



.fadetop-hito {

    opacity: 0.1;

    transform: translate(80px, 50px);

    transition: all 1s;

}



.fadetop-hito.scrollin {

    opacity: 1;

    transform: translate(0, 0);

}



.fade-text1 {

    font-size: 20px;

    font-weight: bold;

    animation-name: fadein1;

    animation-duration: 0.6s;

    animation-iteration-count: 1;

    animation-timing-function: ease-in-out;

    animation-delay: 0.2s;

    animation-fill-mode: both;

}



@keyframes fadein1 {

    0% {

        opacity: 0;

        transform: translateY(200px);

    }

    100% {

        opacity: 1;

        transform: translateY(0);

    }

}



.fade-text2 {

    font-size: 20px;

    font-weight: bold;

    animation-name: fadein2;

    animation-duration: 0.8s;

    animation-iteration-count: 1;

    animation-timing-function: ease-in-out;

    animation-delay: 0.5s;

    animation-fill-mode: both;

}



@keyframes fadein2 {

    0% {

        opacity: 0;

        transform: translate(50px, -30px) rotate(-10deg);

    }

    70% {

        opacity: 0.4;

        transform: translate(-10px, -30px) rotate(-10deg);

    }

    100% {

        opacity: 1;

        transform: translateY(0);

    }

}



.fade-text4 {

    font-size: 20px;

    font-weight: bold;

    animation-name: fadein1;

    animation-duration: 0.8s;

    animation-iteration-count: 1;

    animation-timing-function: ease-in-out;

    animation-delay: 0.2s;

    animation-fill-mode: both;

}



@keyframes fadein4 {

    0% {

        opacity: 0;

        transform: translate(50px, -30px) rotate(-10deg);

    }

    70% {

        opacity: 0.4;

        transform: translate(-10px, -30px) rotate(-10deg);

    }

    100% {

        opacity: 1;

        transform: translateY(0);

    }

}



.fade-text5 {

    position: absolute;
    top: 30px;
    right: 0;
	width: 258px;
	z-index: 10;
	animation-name: fadein5;
	animation-duration: 0.6s;
	animation-iteration-count: 1;
	animation-timing-function: ease-in-out;
	animation-delay: 1s;
	animation-fill-mode: both;

}

@keyframes fadein5 {

    0% {

        opacity: 0;

        transform: translateY(200px);

    }

    100% {

        opacity: 1;

        transform: translateY(0);

    }

}



.fade-text6 {

    position: absolute;
    top: 30%;
    right: 230px;
    margin-bottom: 50px;
	width: 130px;
	z-index: 100;
	animation-name: fadein6;
	animation-duration: 0.6s;
	animation-iteration-count: 1;
	animation-timing-function: ease-in-out;
	animation-delay: 1.2s;
	animation-fill-mode: both;

}

@keyframes fadein6 {

    0% {

        opacity: 0;

        transform: translateY(160px) rotateZ(90deg);

    }

    100% {

        opacity: 1;

        transform: translateY(0) rotateZ(90deg);


    }

}


.fade-text7 {

    position: absolute;
    bottom: 35px;
    right: 0;
	width: 328px;
	z-index: 10;
	animation-name: fadein7;
	animation-duration: 0.6s;
	animation-iteration-count: 1;
	animation-timing-function: ease-in-out;
	animation-delay: 1.3s;
	animation-fill-mode: both;

}

@keyframes fadein7 {

    0% {

        opacity: 0;

        transform: translateY(160px);

    }

    100% {

        opacity: 1;

        transform: translateY(0);

    }

}





/* 画面外にいる状態 */



.fadein {

    opacity: 0;

    transform: translate(0, 100px);

    transition: all 500ms;

}





/* 画面内に入った状態 */



.fadein.scrollin {

    opacity: 1;

    transform: translate(0, 0);

}





/* 2つ目の要素に200msのdelayをかける */



#effect2>div .fadein:nth-of-type(2) {

    -moz-transition-delay: 200ms;

    -webkit-transition-delay: 200ms;

    -o-transition-delay: 200ms;

    -ms-transition-delay: 200ms;

}





/* 3つ目の要素に400msのdelayをかける */



#effect2>div .fadein:nth-of-type(3) {

    -moz-transition-delay: 400ms;

    -webkit-transition-delay: 400ms;

    -o-transition-delay: 400ms;

    -ms-transition-delay: 400ms;

}



.cbg01 {

    background: #0c5dac;

}



.cbg02 {

    background: #d8f5ff;

}



.cbg03 {

    background: #fffcdb;

}



.cbg04 {

    background: #7dba1d;

}



.cbg06 {

    background: #fffcdb;

}



.cbg07 {

    background: #009944;

}





/* ================================

head

================================ */





/* ================================

main

================================ */



.main {

    background: url("../images/top_bk.png") no-repeat center top;

    background-size: cover;

    position: relative;

    height: 100%;

}



.main_in {

    width: 100%;

    position: relative;

}



.main img {

    margin: 20px;

}

.main img.fade-text4 {

    margin: 0 20px 20px 20px;

}




.main_pic {

    position: absolute;
    top: 80px;
    right: 40px;
    margin-bottom: 50px;

}



.rerelative {

    position: relative;

}





/* ================================

cv

================================ */



.cv {

    text-align: center;

    margin: 50px auto 40px auto;

}

.web_btn_top {
    color: #f85050;
    font-size: 36px;
    margin-bottom: 24px;
    font-weight: 500;
}
.web_btn_top:before,
.web_btn_top:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #f85050;
  width: 3px;
  height: 2em;
  margin: 0 1em;
  margin-top: -.2em;
  vertical-align: middle;
}
 
.web_btn_top:before {
  transform: rotate(-35deg);
}
 
.web_btn_top:after {
  transform: rotate(35deg);
}

.web_btn {

    display: inline-block;

    position: relative;

    margin: 0 auto 40px auto;

    padding: 2em 4em;

    text-decoration: none;

    background: #f85050;

    /*ボタン色*/

    color: #fff;

    border-bottom: solid 10px #d32626;

    /*ボタン色より暗めに*/

    border-right: solid 10px #d32626;

    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);

    /*角の丸み*/

    border-radius: 4px;

    /*ボタン色より暗めに*/

}



.web_btn:before {

    content: " ";

    position: absolute;

    bottom: -5px;

    left: -1px;

    width: 0;

    height: 0;

    border-width: 0 6px 6px 0px;

    border-style: solid;

    border-color: transparent;

    border-bottom-color: #fff;

}



.web_btn:after {

    content: " ";

    position: absolute;

    top: -1px;

    right: -5px;

    width: 0;

    height: 0;

    border-width: 0px 6px 6px 0px;

    border-style: solid;

    border-color: #fff;

    border-bottom-color: transparent;

}



.web_btn:active {

    /*ボタンを押したとき*/

    border: none;

    -webkit-transform: translate(6px, 6px);

    transform: translate(6px, 6px);

}



.web_btn:after,

.web_btn:before {

    content: none;

    /*ボタンを押すと線が消える*/

}



.tel_btn {

    display: inline-block;

    position: relative;

    margin-right: 10px;

    padding: 1.7em 1.6em;

    text-decoration: none;

    background: #009944;

    /*ボタン色*/

    color: #fff;

    border-bottom: solid 10px #0e572e;

    /*ボタン色より暗めに*/

    border-right: solid 10px #0e572e;

    /*ボタン色より暗めに*/

    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);

    border-radius: 4px;

}



.tel_btn:before {

    content: " ";

    position: absolute;

    bottom: -5px;

    left: -1px;

    width: 0;

    height: 0;

    border-width: 0 6px 6px 0px;

    border-style: solid;

    border-color: transparent;

    border-bottom-color: #fff;

}



.tel_btn:after {

    content: " ";

    position: absolute;

    top: -1px;

    right: -5px;

    width: 0;

    height: 0;

    border-width: 0px 6px 6px 0px;

    border-style: solid;

    border-color: #fff;

    border-bottom-color: transparent;

}



.tel_btn:active {

    /*ボタンを押したとき*/

    border: none;

    -webkit-transform: translate(6px, 6px);

    transform: translate(6px, 6px);

}



.tel_btn:after,

.tel_btn:before {

    content: none;

    /*ボタンを押すと線が消える*/

}



.btm {

    overflow: hidden;

    cursor: pointer;

}



.btm img {

    transition-duration: 0.5s;

}



.btm:hover img {

    transform: scale(0.9);

    transition-duration: 0.5s;

}



.web_btn:hover img {

    opacity: 0.85;

}



.tel_btn:hover img {

    opacity: 0.85;

}





/* ================================

sec01

================================ */



.sec01 {

    text-align: center;

    padding: 50px 0;

}



.sec01 img {

    margin: 20px auto;

}



.sec01 .wrap {

    width: 1000px;

}





/* ================================

sec02

================================ */



.sec02 {

    text-align: center;

    padding: 50px 0 30px 0;

}



.sec02 img {

    margin: 20px;

}



.boxs {

    padding: 1em 1em;

    margin: 2em 0;

    font-weight: bold;

    color: #ffffff;

    /*文字色*/

    background: #fff;

    border: solid 3px #ffffff;

    /*線*/

    border-radius: 10px;

    /*角の丸み*/

}



.boxs p {

    margin: 0;

    padding: 0;

}





/* ================================

sec03

================================ */



.sec03 {

    background: url("../images/sec03_bk_b.png"), url("../images/sec03_bk.png") no-repeat center top;

    background-repeat: no-repeat;

    background-size: 100%, cover;

    text-align: center;

    padding: 50px 0 30px 0;

    background-position: bottom, center;

}



.sec03 .wrap {

    width: 1023px;

}



.sec03 img {

    margin-top: 35px;

}



.sec03_text {

    margin-top: 60px;

}





/* ================================

sec04

================================ */



.sec04 {

    text-align: center;

    padding: 70px 0;

}



.sec04 .wrap {

    width: 1003px;

}



.sec04 img {

    margin: 30px auto;

}





/* ================================

sec05

================================ */



.sec05 {

    text-align: center;

    padding: 70px 0;

}



.sec05 .wrap {

    width: 1002px;

}



.sec05 img {

    margin: 30px auto;

}



.sec05_btm {

    position: absolute;

    bottom: 55px;

    left: 100px;

    margin-bottom: 50px;

}





/* ================================

sec06

================================ */



.sec06 {

    text-align: center;

    padding: 70px 0;

}



.sec06 .wrap {

    width: 1000px;

}



.sec06 img {

    margin: auto;

}





/* ================================

sec07

================================ */



.sec07 {

    text-align: center;

    padding: 50px 0;

}



.sec07 .wrap {

    width: 998px;

}



.sec07 img {

    margin: 30px auto;

}



.sec07 {

    text-align: center;

    margin: auto;

}





/* ================================

sec08

================================ */



.sec08 {

    background: url("../images/sec08_bk.png") no-repeat center top;

    background-size: cover;

    text-align: center;

    padding: 50px 0;

}



.sec08 .wrap {

    width: 998px;

}



.sec08 img {

    margin: 30px auto;

}



.sec08 {

    text-align: center;

    margin: auto;

}

.sec08_tytle {
    color: #ffffff;
    font-size: 44px;
    font-weight: 700;
    letter-spacing: 2px;
    background-color: #0C5DAC;
    border-radius: 30px 30px 0 0;
    border: #0C5DAC 2px solid;
    padding: 40px 0;
}

.sec08_content {
    background-color: #ffffff;
    border-radius: 0 0 30px 30px;
    border: #0C5DAC 2px solid;
}

.sec08_txt_content {
    padding-top: 26px;
    padding-bottom: 72px;
}

.sec08_txttytle {
    text-align: left !important;
    width: 90%;
    margin: 0 auto;
    font-weight: 700;
    font-size: 20px;
    color: #0C5DAC;
    margin-top: 36px;
    margin-bottom: 11px;
}

.sec08_txt {
    text-align: left !important;
    width: 90%;
    margin: 0 auto;
    font-size: 16px;
    font-weight: 400;
    margin: 8px auto;
}

.sec08_txt_space {
    padding-left: 32px;
}
.sec08_before_circle {
    position: relative;
}
.sec08_before_circle::before {
    content: '●';
    position: absolute;
    margin-left: -18px;
}
.sec08_before_kome {
    position: relative;
}

.sec08_before_kome::before {
    content: '※';
    position: absolute;
    margin-left: -18px;
}



/* ================================

sec09

================================ */



.sec09 {

    text-align: center;

}



.sec09 .wrap {

    width: 1000px;

}



footer {

    background: #009944;

    color: #fff;

    text-align: center;

    clear: both;

    font-size: 75%;

    padding: 20px;

    margin-top: 50px;

}

.case{

    background-color: #fff;

    font-size: 2rem;

    margin: 3%;

    display: flex;

    justify-content: space-evenly;

    align-items: center;

    padding: 2%;
    
    border-radius: 5%;

}



.case b{

    color: rgb(252,93,21);

}



.case img{

    width:200px;

}

.accordion {
    margin: 70px auto 0;
    padding: 0 10px 24vh;
    box-sizing: border-box;
}
.accordion .toggle {
    display: none;
}
.accordion .option {
    position: relative;
    margin-bottom: 1em;
}
.accordion .title,
.accordion .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
}
.accordion .title {
    display: block;
    color: #fff;
    font-size: 38px;
    font-weight: bold;
    text-align: center;
    padding: 20px 0;
    background-color: #009944;
    margin-bottom: 30px;
    cursor: pointer;
}
.accordion .title::after,
.accordion .title::before {
    content: "";
    position: absolute;
    right: 33px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 5px;
    height: 38px;
    background-color: #fff;
    transition: ease-in-out 0.3s;
}
.accordion .title::after {
    transform: rotate(90deg);
}
.accordion .content {
    max-height: 0;
    overflow: hidden;
}
.accordion .content p {
    margin: 0;
    padding: 0.5em 1em 1em;
    font-size: 0.9em;
    line-height: 1.5;
}
.accordion .toggle:checked + .title + .content {
    max-height: 100%;
    transition: ease-in-out 0.3s;
}
.accordion .toggle:checked + .title::before {
    transform: rotate(90deg) !important;
}