@charset "utf-8";

/*=========================
 共通
=========================*/

/*=========================
 下層 main内
=========================*/
main {
}

/*===== #mv =====*/
#mv {
    width: 100%;
    max-width: 1820px;
    margin: 0 auto;
}
#mv .mv-img {
    padding: 3%;
}

/*===== #front =====*/
#front {
}
#front .bg {
    background: url(../img/common/bg01.jpg) no-repeat center top;
    background-size: cover;
    padding-bottom: 60px;
}
#front h2 {
    width: 300px;
    line-height: 1.4;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    background: url(../img/index/front-bg.png) no-repeat center top;
    background-size: 100%;
    padding: 30px 0 40px;
    margin: 0 auto;
}
#front h2 span {
    color: #ff9900;
}
#front .front-box {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1000px;
    padding: 0 3%;
    margin: -30px auto 0;
}
#front .front-box .main-txt {
    width: 125px;
    writing-mode: vertical-rl;
    text-align: center;
    line-height: 1.4;
    font-size: 30px;
    font-weight: bold;
}
#front .front-box .img-box {
    width: calc(90% - 125px);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
#front .front-box .img-box .box {
    width: calc(94% / 3);
    position: relative;
}
#front .front-box .img-box .box .img {
}
#front .front-box .img-box .box .txt {
    position: absolute;
    width: 42px;
}
#front .front-box .img-box .box.img01 {
}
#front .front-box .img-box .box.img01 .txt {
    top: 50%;
    left: 10px;
}
#front .front-box .img-box .box.img02 {
    margin-top: 10%;
}
#front .front-box .img-box .box.img02 .txt {
    top: 30%;
    left: 0;
}
#front .front-box .img-box .box.img03 {
}
#front .front-box .img-box .box.img03 .txt {
    top: 30%;
    right: 0;
}

/*===== #point =====*/
#point {
    padding-bottom: 30px;
}
#point .bg01 {
    background: url(../img/common/bg07.png) no-repeat left top / 450px auto,
     url(../img/common/bg09.png) no-repeat right 70% / 350px auto;
    padding: 60px 0 0;
}
#point .bg02 {
    background: url(../img/common/bg17.png) no-repeat right 5% / 350px auto;
}
#point .bg04 {
    background: url(../img/common/bg08.png) no-repeat right 50% / 500px auto;
}
#point h2 {
}
/*----- .point01 -----*/
#point .point01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 50px;
}
#point .point01 .text-box {
    width: 40%;
}
#point .point01 .text-box h3 {
    line-height: 1.4;
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    background: url(../img/common/icon-point01.png) no-repeat center top;
    background-size: 100px;
    padding-top: 75px;
    margin-bottom: 25px;
}
#point .point01 .text-box h3 span {
    color: #ff9900;
}
#point .point01 .text-box .text {
    margin-bottom: 0;
}
#point .point01 .text-box .text span {
    color: #ff9900;
    font-weight: bold;
}
#point .point01 .img {
    width: 55%;
}
/*----- .point-slide -----*/
#point .point-slide {
}
#point .point-slide .slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}
#point .point-slide .slider .slick-slide {
    margin:0 20px;/*スライド左右の余白調整*/
}
#point .point-slide ul {
}
#point .point-slide ul li {
}
#point .point-slide .slider .slick-slide.n2 {
    margin-top: 1%;
}
/*----- .point02 -----*/
#point .p02 {
    background: url(../img/common/bg12.png) no-repeat left center;
    background-size: auto 100%;
    padding: 50px 2%;
}
#point .point02 {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}
#point .point02 .text-box {
    width: 40%;
}
#point .point02 .text-box h3 {
    line-height: 1.4;
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    background: url(../img/common/icon-point02.png) no-repeat center top;
    background-size: 100px;
    padding-top: 75px;
    margin-bottom: 25px;
}
#point .point02 .text-box h3 span {
    color: #ff9900;
}
#point .point02 .text-box .text {
    margin-bottom: 0;
}
#point .point02 .text-box .text span {
    color: #ff9900;
    font-size: 16px;
    font-weight: bold;
}
#point .point02 .img {
    width: 55%;
}
/*----- .point03 -----*/
#point .bg03 {
    background: url(../img/common/bg11.png) no-repeat right top / 286px auto,
     url(../img/common/bg15.png) no-repeat left bottom / 472px auto,
     url(../img/common/bg03.png) no-repeat center 20% / 100% auto;
    padding: 5% 0 60px;
}
#point .point03 {
}
#point .point03 .text-box {
    margin-bottom: 25px;
}
#point .point03 .text-box h3 {
    line-height: 1.4;
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    background: url(../img/common/icon-point03.png) no-repeat center top;
    background-size: 100px;
    padding-top: 75px;
    margin-bottom: 25px;
}
#point .point03 .text-box .text {
    color: #fff;
}
#point .point03 .img {
    width: 100%;
}
/*----- .point04 -----*/
#point .point04 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
}
#point .point04 .text-box {
    width: 40%;
}
#point .point04 .text-box h3 {
    line-height: 1.4;
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    background: url(../img/common/icon-point04.png) no-repeat center top;
    background-size: 100px;
    padding-top: 75px;
    margin-bottom: 25px;
}
#point .point04 .text-box h3 span {
    color: #ff9900;
}
#point .point04 .text-box .text {
    margin-bottom: 0;
}
#point .point04 .text-box .text span {
    color: #ff6500;
    font-weight: bold;
}
#point .point04 .img {
    width: 55%;
}
/*----- .point05 -----*/
#point .bg05 {
    background: url(../img/common/bg02.jpg) no-repeat center top;
    background-size: cover;
    border-radius: 10px;
}
#point .point05 {
    position: relative;
    padding: 5%;
}
#point .point05 .text-box {
    width: 100%;
    max-width: 528px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
#point .point05 .text-box h3 {
    line-height: 1.4;
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    background: url(../img/common/icon-point05.png) no-repeat center top;
    background-size: 100px;
    padding-top: 75px;
    margin-bottom: 25px;
}
#point .point05 .text-box h3 span {
    color: #ff6500;
}
#point .point05 .text-box .text {
    text-align: center;
    margin-bottom: 0;
}
#point .point05 .text-box .text span {
    color: #ff6500;
    font-size: 16px;
    font-weight: bold;
}
#point .point05 .img01 {
    width: 25%;
    position: absolute;
    left: -2%;
    top: 50%;
    transform: translateY(-50%);
}
#point .point05 .img02 {
    width: 18%;
    position: absolute;
    right: 2%;
    top: 10%;
}
#point .point05 .img03 {
    width: 14%;
    position: absolute;
    right: 12%;
    bottom: 10%;
}

/*===== #menu =====*/
#menu {
}
#menu .bg {
    background: url(../img/common/bg09.png) no-repeat right top / 350px auto,
     url(../img/common/bg14.png) no-repeat left 95% / 400px auto;
    padding: 30px 0 60px;
}
#menu .main-menu {
    margin-bottom: 25px;
}
#menu .main-menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#menu .main-menu ul li {
    width: calc(100% / 3);
    padding: 0 1%;
    margin-bottom: 20px;
}
#menu .main-menu ul li a {
    display: block;
    background-color: #ff9900;
    border-radius: 15px;
    text-decoration: none;
    color: #fff;
    padding: 13% 10%;
}
#menu .main-menu ul li a img {
    display: block;
    width: 100%;
    max-width: 150px;
    margin: 0 auto 25px;
}
#menu .main-menu ul li a span {
    display: block;
    line-height: 1.4;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    background: url(../img/common/icon13.png) no-repeat center bottom;
    background-size: 30px;
    padding-bottom: 60px;
}
#menu .sub-menu {
}
#menu .sub-menu h3 {
    margin: 0 1% 15px;
    line-height: 1.4;
    background-color: #000;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    padding: 9px 2%;
}
#menu .sub-menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#menu .sub-menu ul li {
    width: calc(100% / 4);
    padding: 0 1%;
    margin-bottom: 20px;
}
#menu .sub-menu ul li a {
    display: block;
    background-color: #ff9900;
    border-radius: 15px;
    text-decoration: none;
    color: #fff;
    padding: 13% 10%;
}
#menu .sub-menu ul li a img {
    display: block;
    width: 100%;
    max-width: 100px;
    margin: 0 auto 25px;
}
#menu .sub-menu ul li a span {
    display: block;
    line-height: 1.4;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    background: url(../img/common/icon13.png) no-repeat right center;
    background-size: 25px;
    padding: 2px 30px;
}

/*===== #first =====*/
#first {
}
#first .bg {
    background: url(../img/common/bg04.jpg) no-repeat center top;
    background-size: cover;
    padding: 60px 0;
}
#first .first-box {
    background-color: #fff;
    border: 1px solid #ff6500;
    border-radius: 15px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 5%;
}
#first .first-box .text-box {
    width: 70%;
    background: url(../img/index/first-bg.png) no-repeat right top;
    background-size: 125px;
}
#first .first-box .text-box h2 {
    line-height: 1.4;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    border-bottom: 4px dotted #ff9900;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
#first .first-box .text-box .text {
}
#first .first-box .text-box ul {
    width: 100%;
    max-width: 500px;
    margin: 35px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#first .first-box .text-box ul li {
    width: 49%;
    margin-bottom: 9px;
}
#first .first-box .text-box ul li a {
    display: block;
    background: linear-gradient(135deg, #c95500 0%, #ff8e44 100%);
    border-radius: 10px;
    padding: 13px 8%;
    line-height: 1.4;
    color: #fff;
    text-decoration: none;
    text-align: center;
}
#first .first-box .text-box ul li a span {
    display: block;
    background: url(../img/common/icon01.png) no-repeat right center;
    background-size: 8px;
    padding: 2px 12px;
}
#first .first-box .img {
    width: 27%;
}
#first .first-box .link {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
}
#first .first-box .link a {
    background: linear-gradient(135deg, #c95500 0%, #ff8e44 100%);
    width: 40px;
    height: 40px;
    border-radius: 10px 0 10px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
#first .first-box .link a img {
    width: 8px;
}

/*===== #aisatu =====*/
#aisatu {
    padding: 60px 0 30px;
}
#aisatu .bg {
    background: url(../img/common/bg11.png) no-repeat right 5% / 170px auto;
}
#aisatu .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
#aisatu .box .img {
    width: 40%;
}
#aisatu .box .text-box {
    width: 55%;
}
#aisatu .box .text-box h2 {
    line-height: 1.4;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 25px;
}
#aisatu .box .text-box h2 span {
    color: #ff9900;
}
#aisatu .box .text-box .name {
    line-height: 1.4;
    text-align: center;
    font-weight: bold;
    border-bottom: 3px dotted #555454;
    padding-bottom: 15px;
    margin-bottom: 20px;
}
#aisatu .box .text-box .name span {
    color: #ff9900;
    font-size: 21px;
    padding: 0 10px;
}

/*===== #bnr-list =====*/
#bnr-list {
    padding: 30px 0 10px;
}
#bnr-list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#bnr-list ul li {
    width: 25%;
    padding: 0 10px;
    margin-bottom: 20px;
}


/*===============================================
    ■tablet 画面の横幅が800pxまで
===============================================*/
@media screen and (max-width: 800px) {
/*===== #mv =====*/
  #mv {
    margin-bottom: 30px;
  }
  #mv .mv-img {
    padding: 0;
  }
/*===== #front =====*/
  #front .cn-w {
    padding: 0;
  }
  #front .front-box {
    align-items: flex-start;
    padding: 0 5%;
  }
  #front .front-box .main-txt {
    width: 84px;
    text-align: left;
  }
  #front .front-box .img-box {
    width: calc(90% - 84px);
    align-items: flex-start;
  }
  #front .front-box .img-box .box {
    width: 55%;
  }
  #front .front-box .img-box .box.img01 .txt {
    transform: translateY(-50%);
    width: 14%;
  }
  #front .front-box .img-box .box.img02 {
    margin-top: 0;
    margin-left: auto;
  }
  #front .front-box .img-box .box.img02 .txt {
    top: 50%;
    transform: translateY(-50%);
    width: 14%;
  }
  #front .front-box .img-box .box.img03 .txt {
    top: 50%;
    transform: translateY(-50%);
    width: 14%;
  }
/*===== #point =====*/
  #point .point01 .text-box {
    width: 100%;
    margin-bottom: 30px;
  }
  #point .point01 .img {
    width: 100%;
  }
  #point .point02 .text-box {
    width: 100%;
    margin-bottom: 30px;
  }
  #point .point02 .img {
    width: 100%;
  }
  #point .bg03 {
    background: url(../img/common/bg11.png) no-repeat right top / 286px auto,
     url(../img/common/bg15.png) no-repeat left bottom / 472px auto,
     url(../img/common/bg03.png) no-repeat center 20% / 200% auto;
  }
  #point .point04 .text-box {
    width: 100%;
    margin-bottom: 30px;
  }
  #point .point04 .img {
    width: 100%;
  }
  #point .point05 .img01 {
    width: 25%;
    left: -2%;
    top: -12px;
    transform: none;
  }
  #point .point05 .img02 {
    width: 21%;
    right: -1%;
    top: -5%;
  }
  #point .point05 .img03 {
    width: 18%;
    right: 6%;
    bottom: 23%;
  }
/*===== #point =====*/
  #menu .sub-menu ul li {
    width: calc(100% / 2);
  }
/*===== #bnr-list =====*/
  #bnr-list ul {
    max-width: 600px;
    margin: 0 auto;
  }
  #bnr-list ul li {
    width: 50%;
  }
}

/*===============================================
    ■tablet 画面の横幅が570pxまで
===============================================*/
@media screen and (max-width: 570px) {
/*===== #front =====*/
  #front .bg {
    padding-bottom: 30px;
  }
/*===== #point =====*/
  #point .bg01 {
    background: url(../img/common/bg07.png) no-repeat left top / 57% auto,
     url(../img/common/bg09.png) no-repeat right bottom / 335px auto;
    padding: 30px 0 0;
  }
  #point .bg02 {
    background: url(../img/common/bg13.png) no-repeat left top / 40% auto;
  }
  #point .p02 {
    background: url(../img/common/bg12.png) no-repeat center bottom;
    background-size: 100%;
    padding: 30px 2%;
  }
  #point .bg03 {
    background: url(../img/common/bg11.png) no-repeat right top / 40% auto,
     url(../img/common/bg15.png) no-repeat left bottom / 40% auto,
      url(../img/common/bg03.png) no-repeat center 20% / 265% auto;
  }
  #point .bg04 {
    background: url(../img/common/bg08.png) no-repeat right 48% / 84% auto;
  }
  #point .point05 .text-box .text {
    text-align: left;
  }
  #point .point05 .img01 {
        width: 30%;
  }
  #point .point05 .img02 {
        width: 34%;
  }
  #point .point05 .img03 {
        width: 25%;
        right: 12%;
  }
/*===== #menu =====*/
  #menu .bg {
    background: url(../img/common/bg09.png) no-repeat 200% top / 328px auto,
     url(../img/common/bg14.png) no-repeat left bottom / 300px auto;
    padding: 15px 0 30px;
  }
  #menu .main-menu ul li {
    width: calc(100% / 2);
    padding: 0 1%;
    margin-bottom: 10px;
  }
  #menu .main-menu ul li a {
    padding: 10% 10%;
  }
  #menu .main-menu ul li a img {
    max-width: 100px;
    margin: 0 auto 15px;
  }
  #menu .main-menu ul li a span {
    font-size: 14px;
    background-size: 25px;
    padding-bottom: 45px;
  }
  #menu .sub-menu ul li {
    margin-bottom: 10px;
  }
  #menu .sub-menu ul li a {
    padding: 10% 10%;
  }
  #menu .sub-menu ul li a img {
    max-width: 100px;
    margin: 0 auto 15px;
  }
  #menu .sub-menu ul li a span {
    font-size: 14px;
    background-size: 20px;
    padding: 2px 25px;
  }
/*===== #first =====*/
  #first .bg {
    padding: 30px 0;
  }
  #first .first-box {
    padding: 8% 5%;
  }
  #first .first-box .text-box {
    width: 100%;
    margin-bottom: 20px;
  }
  #first .first-box .text-box ul li a span {
    font-size: 14px;
  }
  #first .first-box .img {
    display: none;
  }
/*===== #aisatu =====*/
  #aisatu {
    padding: 30px 0 15px;
  }
  #aisatu .bg {
    background: url(../img/common/bg11.png) no-repeat right top / 200px auto;
  }
  #aisatu .box {
    position: relative;
    padding-top: 53px;
  }
  #aisatu .box .img {
    width: 100%;
    margin: 0 auto 20px;
  }
  #aisatu .box .text-box {
    width: 100%;
  }
  #aisatu .box .text-box h2 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
  }
/*===== #bnr-list =====*/
  #bnr-list {
    padding: 15px 0 10px;
  }
  #bnr-list ul li {
    padding: 0 5px;
    margin-bottom: 10px;
  }
}