@charset "UTF-8";
#mainvisual { background: url(../images/mainvisual_bg.jpg) no-repeat center top; }

#mainvisual .container { height: 610px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-align: end; -ms-flex-align: end; align-items: flex-end; }

#mainvisual .container h1 { padding-bottom: 70px; margin-right: -70px; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 766px) { #mainvisual .container { height: auto; }
  #mainvisual .container h1 { margin-right: 0; padding-bottom: 0; } }

/* ========== end △ */
.rikunabi_sec {
  display: flex;
  padding-top: 50px;
  align-items: center;
  justify-content: center; }
.rikunabi_sec__image { width: 420px; }
.rikunabi_sec__text { font-size: 24px; }

.tt1_sec { padding: 50px 0; }

.tt1_sec .container .wrap_box { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-around; }

.tt1_sec .container .wrap_box .box { width: 328px; border: 1px solid #00bcd1; }

.tt1_sec .container .wrap_box .box h2 { background: url(../images/bg_blue.png) no-repeat center top; background-size: cover; font-size: 24px; color: #fff; text-align: center; padding: 15px 0; position: relative; }

.tt1_sec .container .wrap_box .box h2:after { display: block; position: absolute; width: 100%; height: 14px; bottom: -14px; background: url(../images/tt1_row.png) no-repeat center bottom; content: ""; }

.tt1_sec .container .wrap_box .box .content { padding: 20px; }

.tt1_sec .container .wrap_box .box .content a { border-bottom: 1px solid #a29b93; display: block; text-align: center; padding-bottom: 15px; margin-bottom: 15px; }

.tt1_sec .container .wrap_box .box .content a img { margin: 0 auto; }

.tt1_sec .container .wrap_box .box .content a:hover img { -webkit-transform: translateY(-15px); -ms-transform: translateY(-15px); transform: translateY(-15px); }

/* ▽ SP layout ========== */
@media only screen and (max-width: 766px) { .tt1_sec { padding: 8% 3%; }
  .tt1_sec .container .wrap_box .box { width: 100%; margin-bottom: 5%; }
  .tt1_sec .container .wrap_box .box .content > a img { width: 50%; } 
  .rikunabi_sec {
    flex-direction: column;
    padding-top: 8%; }
  .rikunabi_sec__image { width: 100%; }
}
/* ========== end △ */
.tt2_sec { background: #f0f0f0; padding: 70px 0; }

.tt2_sec .container h2 { color: #004e8a; font-size: 37px; margin-bottom: 20px; text-align: center; }

.tt2_sec .container > .btn1 a { margin:0 auto 20px; }

.tt2_sec .container ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.tt2_sec .container ul li { margin-bottom: 20px; }

.tt2_sec .container ul li:hover img { -webkit-transform: translateY(-15px); -ms-transform: translateY(-15px); transform: translateY(-15px); }

.tt2_sec .container .wrap_inner1 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 25px; }

.tt2_sec .container .wrap_inner1 .inner { position: relative; }

.tt2_sec .container .wrap_inner1 .inner h3 { position: absolute; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; background: rgba(0, 0, 0, 0.6); font-size: 28px; bottom: 70px; padding: 10px 0; color: #fff; }

.tt2_sec .container .wrap_inner1 .inner h3 span { font-size: 17px; margin-left: 20px; }

.tt2_sec .container .wrap_inner1 .inner .btn1 { position: absolute; bottom: 15px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 766px) { .tt2_sec .container .wrap_inner1 { -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom }
  .tt2_sec .container .wrap_inner1 figure { display: none; }
  .tt2_sec .container .wrap_inner1 .inner { background: url(../images/add1.png) no-repeat center top; height: 300px; background-size: cover; width: 100%; margin-bottom: 8%; }
  .tt2_sec .container .wrap_inner1 .inner h3 { font-size: 20px; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .tt2_sec .container .wrap_inner1 .inner h3 span { font-size: 12px; }
  .tt2_sec .container .wrap_inner1 .inner .btn1 a { font-size: 12px; padding: 10px; width: 70%; min-width: 30%; text-align: center; }
  .tt2_sec .container .wrap_inner1 .inner:nth-child(2) { width: 48%; background: url(../images/add2.png) no-repeat center top; background-size: cover; }
  /* ▽ SP layout ========== */ }

@media only screen and (max-width: 766px) and (max-width: 420px) { .tt2_sec .container .wrap_inner1 .inner:nth-child(2) h3 { font-size: 16px; } }

@media only screen and (max-width: 766px) { /* ========== end △ */
  .tt2_sec .container .wrap_inner1 .inner:nth-child(3) { width: 48%; background: url(../images/add3.png) no-repeat center top; background-size: cover; }
  /* ▽ SP layout ========== */ }

@media only screen and (max-width: 766px) and (max-width: 420px) { .tt2_sec .container .wrap_inner1 .inner:nth-child(3) h3 { font-size: 16px; }
  .tt2_sec .container .wrap_inner1 .inner:nth-child(3) h3 span { font-size: 10px; } }

@media only screen and (max-width: 766px) { /* ========== end △ */ }

/* ========== end △ */
.tt2_sec .container .wrap_inner2 { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-bottom: 25px; }

.tt2_sec .container .wrap_inner2 .inner { position: relative; }

.tt2_sec .container .wrap_inner2 .inner h3 { position: absolute; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-align: center; width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; justify-content: center;  background: rgba(0, 0, 0, 0.6); font-size: 24px; height: 56px; -webkit-box-sizing: border-box; box-sizing: border-box; bottom: 70px; padding: 10px 0; color: #fff; }

.tt2_sec .container .wrap_inner2 .inner h3 span { font-size: 14px; margin-left: 20px; width: 100%; }

.tt2_sec .container .wrap_inner2 .inner .btn1 { position: absolute; bottom: 15px; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100%; }

.tt2_sec .container .wrap_inner2 .inner:nth-child(n + 3) { margin-top:25px; }

.tt2_sec .container .wrap_inner2 .inner:nth-child(3) h3 { padding: 5px; line-height: 1.2; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 766px) { .tt2_sec .container .wrap_inner2 { -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom:0; }
  .tt2_sec .container .wrap_inner2 figure { display: none; }
  .tt2_sec .container .wrap_inner2 .inner { background: url(../images/add4.png) no-repeat center top; height: 200px; background-size: cover; width: 100%; margin-bottom: 8%; }
  .tt2_sec .container .wrap_inner2 .inner h3 { font-size: 20px; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .tt2_sec .container .wrap_inner2 .inner h3 span { font-size: 12px; }
  .tt2_sec .container .wrap_inner2 .inner .btn1 a { font-size: 12px; padding: 10px; width: 70%; min-width: 30%; text-align: center; }
  .tt2_sec .container .wrap_inner2 .inner:nth-child(n + 3) { margin-top:0; }
  .tt2_sec .container .wrap_inner2 .inner:nth-child(2) { background: url(../images/add5.png) no-repeat center top; background-size: cover; }
  .tt2_sec .container .wrap_inner2 .inner:nth-child(3) { background: url(../images/add6.png) no-repeat center top; background-size: cover; } }

/* ========== end △ */
.tt2_sec .container .content { background: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.tt2_sec .container .content .left { padding: 0 0 0 50px; }

.tt2_sec .container .content .left h2 { text-align: left; margin-bottom: 10px; }

.tt2_sec .container .content .left p { line-height: 3.5; margin-bottom: 30px; }

.tt2_sec .container .content .left p span { padding-bottom: 20px; border-bottom: 1px solid #ccc3bd; }

.tt2_sec .container .content .left .btn1 { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 766px) { .tt2_sec { padding: 8% 3%; }
  .tt2_sec .container h2 { font-size: 30px; }
  .tt2_sec .container ul li:nth-child(2), .tt2_sec .container ul li:nth-child(3) { width: 48%; }
  .tt2_sec .container .content { padding: 8% 3%; }
  .tt2_sec .container .content .left { padding: 0; }
  .tt2_sec .container .content .left h2 { text-align: center; font-size: 30px; }
  .tt2_sec .container .content .left .btn1 { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } }

/* ========== end △ */
.tt3_sec { padding: 50px 0; background: #fff; }

.tt3_sec .container { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }

.tt3_sec .container .left { width: 325px; text-align: center; }

.tt3_sec .container .left h2 { color: #004e8a; font-size: 30px; font-weight: bold; }

.tt3_sec .container .left h2:after { content: ""; display: block; width: 80px; height: 2px; background: #004e8a; margin: 10px auto 20px; }

.tt3_sec .container .left a { color: #004e8a; text-decoration: none; }

.tt3_sec .container .left a:hover { text-decoration: underline; }

.tt3_sec .container .right { width: 655px; height: 170px; overflow: auto; }

.tt3_sec .container .right dl { display: -webkit-box; display: -ms-flexbox; display: flex; margin-bottom: 20px; }

.tt3_sec .container .right dl dt { color: #fff; background: #004e8a; padding: 2px 30px; margin-right: 20px; height: 100%; }

.tt3_sec .container .right dl dt a { text-decoration: none; }

.tt3_sec .container .right dl dt a:hover { text-decoration: underline; }

/* ▽ SP layout ========== */
@media only screen and (max-width: 766px) { .tt3_sec { padding: 8% 3%; }
  .tt3_sec .container .left { width: 100%; margin-bottom: 5%; }
  .tt3_sec .container .right { height: 250px; }
  .tt3_sec .container .right dl { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .tt3_sec .container .right dl dt { margin-bottom: 3%; }
  .tt3_sec .container .right dl dd { width: 100%; } }

/* ========== end △ */
.tt4_sec { padding: 50px 0; background: #f0f0f0; }

.tt4_sec .container ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.tt4_sec .container ul li a:hover img { -webkit-transform: translateY(-15px); -ms-transform: translateY(-15px); transform: translateY(-15px); }

/* ▽ SP layout ========== */
@media only screen and (max-width: 766px) { .tt4_sec { padding: 8% 3%; }
  .tt4_sec .container ul { -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .tt4_sec .container ul li { width: 100%; margin-bottom: 5%; padding: 0 10%; } }

/* ========== end △ */
