@charset "utf-8";

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

    share 共通

=================================================================================================*/
*{
	outline: none;
	margin:0;
	padding:0;
	background-repeat: no-repeat;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
/*--------------------マウスオンで色を薄く-----------------------*/
.fade {  
	-webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
	-o-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out;  
}  
.fade:hover {  
	opacity: 0.6;
	filter: alpha(opacity=60);
}
/*-------------------indent------------------------*/
.indent-ptn1 {
    padding-left: 1em;
    text-indent: -1em;
}
/*-------------------スマホの電話番号制御------------------------*/
.tel-none a {
   pointer-events: none;
}
/*-------------------下スパン------------------------*/
.row-ptn1 {
}
.row-ptn1 > li {
    padding-bottom: 40px;
}
.row-ptn1 > li:nth-last-child(1) {
    padding-bottom: 0px;
}
	@media (max-width: 1000px){
        .row-ptn1 > li {
            padding-bottom: 30px;
        }
        .row-ptn1 > li:nth-last-child(1) {
            padding-bottom: 0px;
        }
        .row-ptn1-1 > li:nth-last-child(1) {
            padding-bottom: 30px;
        }
	}
/*-------------------------------------------*/

.reflection-img{
    width       :100%;
    position    :relative;
    overflow    :hidden;
}

.reflection {
    height      :100%;
    width       :60px;
    position    :absolute;
    top         :-180px;
    left        :0;
    background-color: #fff;
    opacity     :0;
    transform: rotate(45deg);
    animation: reflection 2s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
    -moz-transform: rotate(45deg);
    -moz-animation: reflection 2s ease-in-out infinite;
    -ms-transform: rotate(45deg);
    -ms-animation: reflection 2s ease-in-out infinite;
    -o-transform: rotate(45deg);
    -o-animation: reflection 2s ease-in-out infinite;
}

@keyframes reflection {
    0% { transform: scale(0) rotate(45deg); opacity: 0; }
    80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { transform: scale(4) rotate(45deg); opacity: 1; }
    100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflection {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-moz-keyframes reflection {
    0% { -moz-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -moz-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -moz-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -moz-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-ms-keyframes reflection {
    0% { -ms-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -ms-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -ms-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -ms-transform: scale(50) rotate(45deg); opacity: 0; }
}
@-o-keyframes reflection {
    0% { -o-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -o-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -o-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}
/*-------------------------------------------*/
.h2-1 {
    margin-bottom: 100px;
}
.h2-1 dt {
    font-size: 3em;
    font-weight: 600;
    color: #383838;
    text-align: center;
    margin-bottom: 15px;
}
.h2-1 dd {
    font-family: Arial;
    font-size: 2em;
    letter-spacing: 0.1em;
    color: #8ac45b;
    text-align: center;
}
/*-------------------------------------------*/
.h3-1 {
}

/*--------------------.tb1----------------------*/
.tb1 {
    width: 100%;
}
.tb1 table {
    width: 100%;
}
.tb1 th,
.tb1 td {
    border: 1px solid #dbe1e8;  
    padding: 10px;
    font-size: 1.6em
}
.tb1 th {
    background: #f9fafc;
    text-align: left;
    width: 180px;
    font-weight: normal;
    vertical-align: top;
}
    @media only screen and (max-width: 800px) {
        .tb1 tr,
        .tb1 th,
        .tb1 td {
            display: block;
            width: auto;
        }
        .tb1 tr:first-child {
            border-top: 1px solid #dbe1e8;  
        }
        .tb1 th,
        .tb1 td {
            border-top: none;
        }
    }
/*-------------------------------------------*/
.img-ov {
overflow:hidden;
width: 100%;
height: 100%;
}
.img-ov img {
display: block;
transition-duration: 0.5s;
}
.img-ov img:hover {
transform: scale(1.2,1.2);
transition-duration: 0.5s;
}
/*-------------------------------------------*/
.hr1 {
    margin: 0;
    border: none;
    height: 4px;
    background-image: radial-gradient(circle, #fff 2px, transparent 2px);/*丸の大きさと透明*/
    background-size: 8px 4px;/*背景のサイズ*/
    background-repeat: repeat-x;
}
/*-------------------------------------------*/
.hover1 img {
    color: #fff;
    display: inline-block;
    cursor: pointer;
    transition: all 0.3s ease 0s;
    transition: .3s;
    opacity: 1;
}
.hover1 img:hover {
    border-bottom-color: transparent;
    transform: translateY(0.4em);
    opacity: 1;
}
/*-------------------------------------------*/
.bt-ptn1 {
}
/*--------------------wrap-ptn1-----------------------*/
.wrap-ptn1 {
    width: 100%;
    background-color: #FFFFFF;
    position: relative;
    min-height: 1350px
}
.wrap-ptn1-left-txt {
    position: absolute;
    width: 240px;
}
	@media (max-width: 1024px){
        .wrap-ptn1-left-txt {
            width: 60px;
            padding-left: 10px;
        }
	}
.wrap-ptn1-left-txt img {
    max-width: 200px;
    width: 100%;
}
.wrap-ptn1-in {
    width: 100%;
    padding: 0px 240px;
}
	@media (max-width: 1024px){
        .wrap-ptn1-in {
            width: 100%;
            padding: 0px 30px 0px 70px;
        }
	}
.wrap-ptn1-bl {
    width: 1000px;
    margin: auto;
}
	@media (max-width: 1480px){
        .wrap-ptn1-bl {
            width: 100%;
        }
	}
/*--------------------wrap-ptn2-----------------------*/
.wrap-ptn2 {
    width: 100%;
    background-color: #FFFFFF;
    position: relative;
}
.wrap-ptn2-left-txt {
    position: absolute;
    width: 240px;
    padding-top: 30px;
}
	@media (max-width: 1024px){
        .wrap-ptn2-left-txt {
            width: 60px;
            padding-left: 10px;
        }
	}
.wrap-ptn2-left-txt img {
    max-width: 200px;
    width: 100%;
}
.wrap-ptn2-in {
    width: 100%;
    padding: 0px 240px;
}
	@media (max-width: 1380px){
        .wrap-ptn2-in {
            width: 100%;
            padding: 0px 0px 0px 240px;
        }
	}
	@media (max-width: 1024px){
        .wrap-ptn2-in {
            width: 100%;
            padding: 0px 0px 0px 70px;
        }
	}
.wrap-ptn2-bl {
    width: 1120px;
    margin: auto;
}
	@media (max-width: 1380px){
        .wrap-ptn2-bl {
            width: 100%;
        }
	}

/*===============================================================================================
index
=================================================================================================*/
.index-bl1 {
}
/*---------------------------*/
.index-bl1 .index-bl-image {
    width: 100%;
    height: 600px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 70px;
    padding-bottom: 100px;
}
	@media (max-width: 1024px){
        .index-bl1 .index-bl-image {
            height: 400px;
            margin-bottom: 50px;
        }
	}
.index-bl1 .index-bl-image .index-bl-image-bg {
    width: 92%;
    height: 100%;
    background-image: url("../img/index/index-image.png");
    background-position: center center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    margin-bottom: 100px;
}
	@media (max-width: 1024px){
        .index-bl1 .index-bl-image .index-bl-image-bg {
            width: 100%;
            background-image: url("../img/index/index-image_sp.png");
            background-position: left center;
            border-top-right-radius: 0px;
            border-bottom-right-radius: 0px;
        }
	}
.index-bl1 .index-bl-image .image-box1 {
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
    padding-top: 80px;
}
	@media (max-width: 1024px){
        .index-bl1 .index-bl-image .image-box1 {
            padding-right: 0px;
        }
	}
/* コピー */
.index-bl1 .index-bl-image .img-copy {
}
	@media (max-width: 1024px){
        .index-bl1 .index-bl-image .img-copy {
            padding-top: 50px;
        }
	}
.index-bl1 .index-bl-image .img-copy img {
    width: 100%;
    max-width: 829px;
}
	@media (max-width: 1024px){
        .index-bl1 .index-bl-image .img-copy img {
            width: 80%;
            max-width: 500px;
        }
	}
/* テキスト */
.index-bl1 .index-bl-image .img-txt {
    font-size: 2em;
    font-family: "Noto Serif JP", serif;
    color: #fff;
    text-align: center;
    margin-top: 20px;
}
	@media (max-width: 1024px){
        .index-bl1 .index-bl-image .img-txt {
            text-align: left;
            font-size: 1.6em;
            padding: 10px 30px 10px 10px;
        }
	}
	@media (max-width: 640px){
        .index-bl1 .index-bl-image .img-txt {
            font-size: 1.6em;
            margin-top: 0px;
            padding: 10px 10px 10px 20px;
        }
	}
/* ===== アニメ初期状態 ===== */

/* 背景（左から） */
.index-bl1 .index-bl-image .index-bl-image-bg {
  transform: translateX(-100%);
  opacity: 0;
  transition: transform 1s cubic-bezier(.2,.8,.2,1), opacity 1s ease;
}

/* 中身 */
.index-bl1 .index-bl-image .image-box1 {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s ease;
}

/* コピー */
.index-bl1 .index-bl-image .img-copy {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
}

/* テキスト */
.index-bl1 .index-bl-image .img-txt {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
}
/*---------------------------*/
/* box1 */
.index-bl1 .box1_wrap {
    background-color: rgba(255,255,255,0.70);
}
.index-bl1 .box1 {
    width: 1000px;
    padding: 50px;
}
	@media (max-width: 1040px){
        .index-bl1 .box1 {
            width: 94%;
            padding: 20px;
        }
	}
.index-bl1 .box1 h3 {
    font-family: "Noto Serif JP", serif;
    color: #8ac45b;
    font-size: 2.8em;
    letter-spacing : 4px;
    text-shadow: 
       2px  2px 1px #ffffff,
      -2px  2px 1px #ffffff,
       2px -2px 1px #ffffff,
      -2px -2px 1px #ffffff,
       2px  0px 1px #ffffff,
       0px  2px 1px #ffffff,
      -2px  0px 1px #ffffff,
       0px -2px 1px #ffffff;
    margin-bottom: 50px;
    text-align: center;
}
	@media (max-width: 1024px){
        .index-bl1 .box1 h3 {
            font-size: 2.4em;
            margin-bottom: 20px;
            text-align: left;
        }
	}
.index-bl1 .box1-in {
    display: flex;
    justify-content: space-between;
}
	@media (max-width: 1024px){
        .index-bl1 .box1-in {
            display: block;
        }
	}
.index-bl1 .box1-in .left {
    width: 645px;
}
	@media (max-width: 1024px){
        .index-bl1 .box1-in .left {
            width: 100%;
        }
	}
.index-bl1 .box1-in .left p {
    font-size: 1.8em;
    line-height: 2.1;
    padding-right: 20px;
}
	@media (max-width: 1024px){
        .index-bl1 .box1-in .left p {
            padding-right: 0px;
            padding-bottom: 20px;
        }
	}
.index-bl1 .box1-in .right {
    width: 210px;
}
	@media (max-width: 1024px){
        .index-bl1 .box1-in .right {
            width: 150px;
            margin: auto;
        }
	}
.index-bl1 .box1-in .right img {
    width: 100%;
}
/*---------------------------*/
.index-bl2 {
    padding-top: 100px;
    margin-bottom: 150px;
}
.index-bl2 .bl1-1 {
    width: 100%;
    margin-bottom: 165px;
    position: relative;
}
.index-bl2 .bl1-1_end {
    margin-bottom: 0px;
}
.index-bl2 .dot1 {
    position: absolute;
    top: 20%;
    left: 15%;
}
	@media (max-width: 1130px){
        .index-bl2 .dot1 {
            top: 25%;
            left: 10%;
        }
	}
	@media (max-width: 1110px){
        .index-bl2 .dot1 {
            transform: rotate(-5deg);
        }
	}
	@media (max-width: 1080px){
        .index-bl2 .dot1 {
            top: 25%;
            left: 8%;
            transform: rotate(-15deg);
        }
	}
	@media (max-width: 1024px){
        .index-bl2 .dot1 {
            display: none;
        }
	}
.index-bl2 .bl1-1 ul {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
	@media (max-width: 1024px){
        .index-bl2 .bl1-1 ul {
            display: block;
        }
	}
.index-bl2 .bl1-1 .ul-rev {
    flex-direction:row-reverse;
}
.index-bl2 .bl1-1 ul li:nth-child(1) {
    width: 53.5%;
    padding-right: 20px;
    flex: 1;
}
	@media (max-width: 1390px){
        .index-bl2 .bl1-1 ul li:nth-child(1) {
            padding-right: 30px;
        }
	}
	@media (max-width: 1024px){
        .index-bl2 .bl1-1 ul li:nth-child(1) {
            width: 100%;
        }
	}
.index-bl2 .bl1-1 ul li:nth-child(2) {
    padding-right: 20px;
}
.index-bl2 .bl1-1 ul li:nth-child(2) img{
    width: 100%;
    max-width: 400px;
}
.index-bl2 .bl1-1 ul li .h4-1 {
    margin-bottom: 40px;
    max-width: 349px;
}
.index-bl2 .bl1-1 ul li .p1 {
    font-size: 1.8em;
    margin-bottom: 60px;
    padding-right: 20px;
}
	@media (max-width: 1024px){
        .index-bl2 .bl1-1 ul li .p1 {
            font-size: 1.6em;
            margin-bottom: 30px;
            padding-right: 0px;
        }
	}
.index-bl2 .bl1-1 ul li .wrap1-img2 {
    display: none;
}
	@media (max-width: 1024px){
        .index-bl2 .bl1-1 ul li .wrap1-img2 {
            display: block;
            margin: auto;
            margin-bottom: 30px;
            max-width: 360px;
        }
	}
.index-bl2 .bl1-1 ul li .wrap1-img4 {
    display: none;
}
	@media (max-width: 1024px){
        .index-bl2 .bl1-1 ul li .wrap1-img4 {
            display: block;
            margin: auto;
            margin-bottom: 30px;
            max-width: 360px;
        }
	}
.index-bl2 .bl1-1 ul li a {
    font-size: 1.8em;
    display: flex;
    justify-content: center;
    background-color: #8AC45B;
    color: #FFFFFF;
    width: 450px;
    padding: 10px 0px;
    border-radius: 100px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    text-decoration: none;
}
	@media (max-width: 1024px){
        .index-bl2 .bl1-1 ul li a {
            font-size: 1.6em;
            margin: auto;
            width: 100%;
            padding: 10px 20px;
        }
	}
.index-bl2 .bl1-1 ul li a::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #6aa93f; /* hover時の色 */
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.4s ease;
    z-index: -1;
}
.index-bl2 .bl1-1 ul li a:hover::before {
    transform: scaleY(1);
}
/*---------------------------*/
.index-wrap2 {
    width: 100%;
    background-image: url("../img/index/wrap2-bg1.jpg");
    background-position: left center;
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 100px;
    padding-bottom: 70px;
}
	@media (max-width: 1024px){
        .index-wrap2 {
            padding-top: 40px;
            padding-bottom: 40px;
        }
	}
.index-wrap2 .bl1 {
    width: 1000px;
}
	@media (max-width: 1024px){
        .index-wrap2 .bl1 {
            width: 94%;
        }
	}
.index-wrap2 .bl1 h3 {
    font-family: "Noto Serif JP", serif;
    font-size: 5em;
    color: #fff;
    margin-bottom: 60px;
    text-align: center;
}
	@media (max-width: 1024px){
        .index-wrap2 .bl1 h3 {
            font-size: 2.8em;
            margin-bottom: 30px;
        }
	}
.index-wrap2 .bl1 .p1 {
    font-size: 1.8em;
    letter-spacing: 0.08em;
    text-align: left;
    color: #fff;
    margin-bottom: 50px;
    padding: 0px 50px;
}
	@media (max-width: 1024px){
        .index-wrap2 .bl1 .p1 {
            font-size: 1.6em;
            margin-bottom: 30px;
            padding: 0px 30px;
        }
	}
.index-wrap2 .bl1 .bl1-1 {
    margin-bottom: 70px;
}
	@media (max-width: 1024px){
        .index-wrap2 .bl1 .bl1-1 {
            margin-bottom: 30px;
        }
	}
.index-wrap2 .bl1 .bl1-1 ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 70px;
}
	@media (max-width: 1024px){
        .index-wrap2 .bl1 .bl1-1 ul {
            margin-bottom: 0px;
        }
	}
.index-wrap2 .bl1 .bl1-1 ul li {
    width: 30%;
}
	@media (max-width: 1024px){
        .index-wrap2 .bl1 .bl1-1 ul li {
            width: 48%;
            margin-bottom: 20px;
        }
	}
.index-wrap2 .bl1 .bl1-1 dl {
    background-color: #8AC45B;
    border-radius: 10px;
    padding: 20px 15px 30px 15px; 
    width: 100%;
}
.index-wrap2 .bl1 .bl1-1 dl dt {
    font-size: 2.4em;
    font-weight: 600;
    line-height: 60px;
    text-align: center;
    color: #2e411f;
}
	@media (max-width: 1024px){
        .index-wrap2 .bl1 .bl1-1 dl dt {
            font-size: 1.8em;
            line-height: 1.3;
            padding-bottom: 15px;
        }
	}
.index-wrap2 .bl1 .bl1-1 dl dd {
    font-weight: bold;
    font-size: 1.8em;
    line-height: 28px;
    text-align: center;
    color: #fff;
}
	@media (max-width: 1024px){
        .index-wrap2 .bl1 .bl1-1 dl dd {
            font-size: 1.6em;
            line-height: 1.3;
            text-align: left;
        }
	}
.index-wrap2 .bl1 .bl1-2 {
    display: flex;
    justify-content: center;
}
/*===============================================================================================
service
=================================================================================================*/
.service-box {
    margin-bottom: 150px;
}
	@media (max-width: 1024px){
        .service-box {
            margin-bottom: 70px;
        }
	}
.service-dl1 {
    width: 900px;
    margin-bottom: 70px;
}
	@media (max-width: 1480px){
        .service-dl1 {
            width: 100%;
        }
	}
.service-dl1 > dt {
    margin-bottom: 50px;
}
.service-dl1 dt .service-dl2 {
    display: flex;
    justify-content: flex-start;
    align-content: center;
    align-items: center;
}
.service-dl1 dt .service-dl2 dt {
    margin-right: 20px;
}
.service-dl1 dt .service-dl2 dd {
    font-weight: 600;
    font-size: 3.6em;
    text-align: left;
    color: #2ea7e0;
    padding-top: 20px;
}
	@media (max-width: 1024px){
        .service-dl1 dt .service-dl2 dd {
            font-size: 2.4em;
        }
	}
.service-dl1 dd {
    font-size: 1.6em;
    letter-spacing: 0.04em;
    line-height: 36px;
    text-align: left;
    color: #383838;
}
.service-ul1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.service-ul1 li {
    width: 31%;
}
	@media (max-width: 1024px){
        .service-ul1 li {
            width: 100%;
            margin-bottom: 30px;
        }
	}
.service-ul1 li div {
    border-radius: 10px;
    background: #8ac45b;
    padding: 18px;
}
.service-ul1 li div .p1 {
    margin-bottom: 20px;
}
.service-ul1 li div .p1 img {
    width: 100%;
}
.service-ul1 li div .p1 .img1-1 {
    max-width: 230px;
}
.service-ul1 li div .p1 .img1-2 {
    max-width: 228px;
}
.service-ul1 li div .p1 .img1-3 {
    max-width: 236px;
}
.service-ul1 li div .p2 {
    font-size: 2em;
    font-weight: 600;
    line-height: 1.5;
    color: #fff;
    display: flex;
    text-align: left;
    justify-content: flex-start;
    align-content: center;
    align-items: center;
}
.service-ul1 li div .hr1 {
    margin: 20px 0px;;
    color: #fff;
}
.service-ul1 li div .p3 {
    font-size: 1.6em;
    line-height: 2;
    text-align: left;
    color: #fff;
}
/*===============================================================================================
contact
=================================================================================================*/
.contact-box {
}
.contact-box .p1 {
    padding-bottom: 70px;
    font-size: 1.6em;
    letter-spacing: 0.08em;
    text-align: left;
    color: #383838;
}
.contact-box .contact-dl1 {
    margin-bottom: 70px;
}
.contact-box .contact-dl1 dt {
    font-size: 2.4em;
    font-weight: 600;
    text-align: center;
    color: #2ea7e0;
    margin-bottom: 30px;
}
.contact-box .contact-dl1 dd {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}
.contact-box .contact-dl1 dd .span1 {
    font-size: 2em;
    line-height: 1;
    font-weight: 600;
    padding-top: 15px;
}
.contact-box .contact-dl1 dd .span2 {
    font-size: 4em;
    line-height: 1;
    font-weight: 600;
}
.contact-box .contact-dl1 dd .span3 {
    font-size: 1.6em;
    letter-spacing: 0.08em;
    text-align: left;
    color: #383838;
}

/*------------------------------- テキストボックス */
input[type="text"] ,input[type="email"] ,input[type="tel"] {
    width:100%;
	border: 1px solid #143463;
    padding: 8px 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 1.6em;
}
.input400 {
    width: 400px!important;
    border-radius: 5px;
}
	@media (max-width: 1024px){
        .input400 {
            width: 100%!important;
        }
	}
.input560 {
    width: 100%!important;
    border-radius: 5px;
}
	@media (max-width: 1024px){
        .input560 {
            width: 100%!important;
        }
	}
/*------------------------------- */
.form_box {
    width: 100%;
}
.form_box .box1{
    width: 1000px;
    display: flex;
    justify-content: space-between;
    padding-bottom: 60px;
}
    @media (max-width: 1140px) {
        .form_box .box1{
            width: 86%;
        }
    }
    @media (max-width: 1024px) {
        .form_box .box1{
            display: block;
        }
    }
.caution{
    display: flex;
}
.caution_ptn1{
    margin-bottom: 20px;
}
.caution dt{
}
.caution dt img{
    max-width: 56px;
    min-width: 56px;
}
.caution dd{
    font-size: 1.6em;
    letter-spacing: 0.08em;
    text-align: left;
    color: #000;
    padding-left: 10px;
}
.nes {
    display: flex;
    align-items: center;
    position: relative;
    max-width: 56px;
    padding: 2px 1em;
    background-color: #C13042;
    color: #ffffff;
    font-size: 1.2em;
    font-weight: 600;
}
.nes::before {
    position: absolute;
    right: -14px;
    width: 15px;
    height: 23px;
    background-color: #C13042;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    content: '';
}
.form_box .box1 .left{
    width: 48%;
}
    @media (max-width: 1024px) {
        .form_box .box1 .left{
            width: 100%;
            margin: auto;
        }
    }
/*------------------------------- */
.form_box .box1 .right{
    width: 50%;
    position: relative;
}
    @media (max-width: 1024px) {
        .form_box .box1 .right{
            width: 100%;
        }
    }
.form_box .box1 .right .p1{
    font-size: 1.6em;
    letter-spacing: 0.08em;
    text-align: left;
    color: #000;
    margin-bottom: 20px;
}
.form_box .box1 .right .p1 .select_q{
    cursor: pointer;
}
.form_box .box1 .right .p1 .select_q img{
    max-width: 23px; 
}
.form_box .box1 .right .ul1{
}
.form_box .box1 .right .ul1 li{
    margin-bottom: 30px;
}
.form_box .box1 .right .ul1_2{
}
.form_box .box1 .right .ul1_2 li{
    margin-bottom: 22px;
}
/*------------------------------- */
.form_box .box3{
    width: 100%;
    padding: 40px 50px;
    background-color: #F2F5F6;
    margin-bottom: 50px;
}
    @media (max-width: 1140px) {
        .form_box .box3{
            width: 86%;
            padding: 20px 10px 20px 10px;
        }
    }
.form_box .box3 .h4_ptn1{
    font-size: 2.2em;
    letter-spacing: 0.08em;
    text-align: center;
    color: #000;
    margin-bottom: 50px;
}
.form_box .box3 ul{
    display: flex;
    justify-content: space-between;
    align-content: center;
    align-items: center;
    margin-bottom: 30px;
}
    @media (max-width: 1024px) {
        .form_box .box3 ul{
            display: block;
        }
    }
.form_box .box3 ul .left{
    width: 34%;
}
    @media (max-width: 1024px) {
        .form_box .box3 ul .left{
            width: 100%;
            padding-top: 10px;
            margin-bottom: 15px;
        }
    }
.form_box .box3 ul li dl{
    display: flex;
    justify-content: space-between;
}
    @media (max-width: 1024px) {
        .form_box .box3 ul li dl{
            justify-content: flex-end;
            flex-direction:row-reverse;
        }
    }
.form_box .box3 ul li dl dt{
    font-size: 1.8em;
    letter-spacing: 0.08em;
    color: #000;
}
.form_box .box3 ul li dl .dt_line2{
    padding-bottom: 15px;
}
.form_box .box3 ul li dl dd{
    padding-top: 5px;
}
    @media (max-width: 1024px) {
        .form_box .box3 ul li dl dd{
            padding-right: 10px;
        }
    }
.form_box .box3 ul .right{
    width: 60%;
}
    @media (max-width: 1024px) {
        .form_box .box3 ul .right{
            width: 100%;
        }
    }
.form_box .box3 ul .right .right_box{
    display: flex;
    align-content: center;
    align-items: center;
}
.form_box .box3 ul .right .p1{
    font-size: 1.4em;
    letter-spacing: 0.08em;
    color: #5e5e5e;
}
.form_box .box3 ul .right .p2{
    font-weight: normal;
    font-size: 1.8em;
    letter-spacing: 0.08em;
    padding-top: 10px;
}
.form_box .box3 ul .right .right_box .address_hyoji{
    font-size: 1.2em;
    letter-spacing: 0.08em;
    color: #fff;
    background-color: #143463;
    cursor: pointer;
    padding: 4px 5px 7px 5px;
    margin-left: 20px;
}
    @media (max-width: 1140px) {
        .form_box .box3 ul .right .right_box .address_hyoji{
            font-size: 1.2em;
            display: flex;
            align-content: center;
            align-items: center;
            height: 43px;
            line-height: 1.5;
            letter-spacing: 0.08em;
            cursor: pointer;
            padding: 0px 5px 0px 5px;
            margin-left: 20px;
        }
    }
/*------------------------------- */
.form_box .box4{
    width: 100%;
    margin-bottom: 70px;
}
    @media (max-width: 1140px) {
        .form_box .box4{
            width: 86%;
            margin-bottom: 30px;
        }
    }
.form_box .box4 dl{
}
.form_box .box4 dl dt{
    font-weight: 600;
    font-size: 1.6em;
    letter-spacing: 0.08em;
    text-align: left;
    color: #000;
    margin-bottom: 30px;
}
.form_box .box4 dl dd{
    padding: 0px 10px;
}
.form_box .box4 dl dd p{
    font-size: 1.6em;
    letter-spacing: 0.08em;
    line-height: 30px;
    text-align: left;
    color: #000;
}
.form_box .box4 dl dd p img{
    margin-top: 5px;
    margin-right: 5px;
    max-width: 16px;
}
.form_box .box4 dl dd p a{
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #1267E4;
    text-decoration: underline;
}
.form_box .box4 dl dd p a img{
    margin-top: 8px;
    margin-left: 5px;
    max-width: 16px;
}
/*==================================================
  フォーム全体
==================================================*/
.form_box .box5{
    width: 360px;
    margin-bottom: 100px;
}
.form_box .accept_check{
    width: 360px;
    background: #f2f5f6;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 70px;
    padding: 23px 0 28px;
}
/*==================================================
  ボタン（最重要：IDで統一）
==================================================*/
#regist {
  width: 360px;
  height: 60px;
  font-size: 2em;
  border-radius: 10px;
  transition: .3s;
}

/* OFF */
#regist.regist-off {
  background: #eee !important;
  color: #bbb !important;
  border: 2px solid #bbb !important;
  cursor: default;
}

/* ON */
#regist.regist-on {
  background: #8ac45b !important;
  color: #fff !important;
  border: 2px solid #8ac45b !important;
  cursor: pointer;
}
/*==================================================
  チェックボックス（CF7安定版）
==================================================*/
/*------------------------------- チェックボックス01 */
input[type=checkbox] {
    display: none;
}
.checkbox01 {
    cursor: pointer;
    display: inline-block;
    padding: 5px 0px 0px 30px;
    position: relative;
    font-size: 16px;
    line-height: 1;
    color: #492210;
    margin-bottom: 0px;
}
.checkbox01::before {
    width: 26px;
    height: 26px;
    border: 2px solid #143463;
    background-color: #FFFFFF;
    content: '';
    display: block;
    top: 0px;
    left: -10px;
    position: absolute;
    border-radius: 5px;
}
.checkbox01::after {
    content: '';
    display: block;
    opacity: 0;
    position: absolute;
    top: 0px;
    left: -10px;
    width: 22px;
    height: 22px;
    background-image: url("../img/common/check.png");
    background-repeat: no-repeat;
    background-position: center 2px center 2px;
}
input[type=checkbox]:checked + .checkbox01::after {
    opacity: 1;
}
/* checkbox本体は隠す（クリックは生かす） */
.wpcf7 input[type=checkbox] {
    opacity: 0;
    position: absolute;
}

/* ラベル */
.wpcf7-list-item-label {
    cursor: pointer;
    display: inline-block;
    padding-left: 45px;
    position: relative;
    font-size: 16px;
    color: #492210;
}

/* 枠 */
.wpcf7-list-item-label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 26px;
    height: 26px;
    border: 2px solid #143463;
    background: #fff;
    border-radius: 5px;
}

/* チェック */
.wpcf7-list-item-label::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 4px;
    width: 22px;
    height: 22px;
    background: url("../img/common/check.png") no-repeat center;
    opacity: 1;
}
.wpcf7 input[type="checkbox"]:checked ~ span .wpcf7-list-item-label::after {
    opacity: 1;
}
/* checked */
.wpcf7 input[type=checkbox]:checked + .wpcf7-list-item-label::after {
    opacity: 1;
}
.wpcf7-list-item input[type="checkbox"]:checked ~ span .wpcf7-list-item-label::after {
    opacity: 1;
}
/*==================================================
  エラーメッセージ
==================================================*/
.wpcf7 form {
  display: flex;
  flex-direction: column;
}
.wpcf7-response-output {
  margin-bottom: 50px;
  font-size: 1.6em
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
  border: none;
  color: #dc3232;
}
/* 項目ごと */
.wpcf7-not-valid-tip {
    font-size: 1.4em;
}
/*==================================================
  確認ページ
==================================================*/
.contact-confirm {
}
.contact-confirm .form_box {
    padding-bottom: 150px;
}
.contact-confirm .right p {
    font-size: 16px;
}
.contact-confirm-box {
    padding-bottom: 30px;
}
.contact-confirm-box .p1 {
    font-size: 1.6em;
}
.submit_box_ptn1_ul {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}
.submit_box_ptn1_ul li {
    padding: 0px 20px;
}
.submit_box_ptn1_ul li p {
    padding:0;
    margin: 0px;
}
.submit_box_ptn1_ul .wpcf7-previous {
  background: #8ac45b !important;
  color: #fff !important;
  border: 2px solid #8ac45b !important;
  cursor: pointer;
  height: 30px;
  font-size: 1.6em;
  padding: 0px 20px;
  border-radius: 10px;
}

/*==================================================
  サンクスページ
==================================================*/
.thanks_box {
    padding-bottom: 30px;
}
.thanks_box dl {
}
.thanks_box dt {
    font-size: 1.8em;
    font-weight: 600;
}
.thanks_box dd {
    font-size: 1.6em;
}

/*==================================================
  News lineup
==================================================*/
.news_area{
    max-width:1000px;
    margin:0 auto;
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    padding: 0px 5px;
    background-color: rgba(255,255,255,0.70);
    margin-bottom: 50px;
}
    @media (max-width: 1024px) {
        .news_area{
            width: 92%;
        }
    }
.news_list{
}
.news_list li{
    border-bottom:1px solid #ddd;
}
.news_list li:last-child{
    border-bottom:none;
}
.news_list a{
    display:flex;
    align-items:center;
    gap:30px;
    padding:5px;
    text-decoration:none;
    transition:0.3s;
    margin: 5px 0px;
    background-image:url("../img/common/ar1.svg");
    background-repeat: no-repeat;
    background-position: right 10px center;
}
.news_list a:hover{
    background:rgb(46,167,224,0.3);
    border-radius:5px;
    background-image:url("../img/common/ar1.svg");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

.news_date{
    width:180px;
    flex-shrink:0;
    color: #7e7c74;
    font-size: 1.2em;
}

.news_text{
    flex:1;
    font-size: 1.6em;
    text-align: left;
}

/*==============================
レスポンシブ
==============================*/

@media screen and (max-width:768px){

    .news_list a{
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
        padding:15px;
    }

    .news_date{
        width:auto;
        font-size:0.9rem;
    }

    .news_text{
        font-size:0.95rem;
    }

}
/*==================================================
  News detail
==================================================*/
.news_detail_area{
    max-width:1000px;
    margin:0 auto;
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    padding: 0px 5px;
    background-color: rgba(255,255,255,0.70);
    margin-bottom: 50px;
}
.news_detail_area dl{
    margin-bottom: 100px;
}
.news_detail_area dl dt{
    font-weight: bold;
    font-size: 1.8em;
    line-height: 28px;
    text-align: center;
    color: #000;
    margin-bottom: 20px;
}
.news_detail_area dl dd{
    font-size: 1.2em;
    line-height: 28px;
    text-align: center;
    color: #7e7c74;
}
.news_detail_area p{
    text-align: left;
    font-size: 1.6em;
}
.news_detail_area img{
    width: 100%;
    margin-top: 50px;
}
.news_detail_area_bt_bpx {
    padding-top: 100px;
    display: flex;
    justify-content: center;
    margin:0 auto;
}
.news_detail_area_bt_bpx .btn-ptn1 a {
    font-size: 1.8em;
    display: flex;
    justify-content: center;
    background-color: #8AC45B;
    color: #FFFFFF;
    width: 450px;
    padding: 10px 0px;
    border-radius: 100px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    text-decoration: none;
}
	@media (max-width: 1024px){
        .news_detail_area_bt_bpx .btn-ptn1 a {
            font-size: 1.6em;
            margin: auto;
            width: 100%;
            padding: 10px 20px;
        }
	}
.news_detail_area_bt_bpx .btn-ptn1 a::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #6aa93f; /* hover時の色 */
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform 0.4s ease;
    z-index: -1;
}
.news_detail_area_bt_bpx .btn-ptn1 a:hover::before {
    transform: scaleY(1);
}





