@charset "utf-8";

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

    share 共通

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

/*--------------------マウスオンで色を薄く-----------------------*/
.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);
}   
/*--------------------スクロールでオブジェクトが動く-----------------------*/
.obj_in {
  opacity: 0;
  transition: 2s;
}
.obj_in.is-show {
  opacity: 1;
}
.obj_up {
  opacity: 0;
  transform: translate(0, 30%);
  transition: 1s;
}
.obj_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.obj_up1 {  opacity: 0;  transform: translate(0, 10%);  transition: 1s;}
.obj_up1.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_up2 {  opacity: 0;  transform: translate(0, 20%);  transition: 1s;}
.obj_up2.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_up3 {  opacity: 0;  transform: translate(0, 30%);  transition: 1s;}
.obj_up3.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_up4 {  opacity: 0;  transform: translate(0, 40%);  transition: 1s;}
.obj_up4.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_up5 {  opacity: 0;  transform: translate(0, 50%);  transition: 1s;}
.obj_up5.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_up6 {  opacity: 0;  transform: translate(0, 60%);  transition: 1s;}
.obj_up6.is-show {  transform: translate(0, 0);  opacity: 1;}

.obj_left {
  opacity: 0;
  transform: translate(-10%, 0);
  transition: 2s;
}
.obj_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.obj_left1 {  opacity: 0;  transform: translate(-10%, 0);  transition: 1s;}
.obj_left1.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_left2 {  opacity: 0;  transform: translate(-20%, 0);  transition: 1s;}
.obj_left2.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_left3 {  opacity: 0;  transform: translate(-30%, 0);  transition: 1s;}
.obj_left3.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_left4 {  opacity: 0;  transform: translate(-40%, 0);  transition: 1s;}
.obj_left4.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_left5 {  opacity: 0;  transform: translate(-50%, 0);  transition: 1s;}
.obj_left5.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_left6 {  opacity: 0;  transform: translate(-60%, 0);  transition: 1s;}
.obj_left6.is-show {  transform: translate(0, 0);  opacity: 1;}

.obj_right {
  opacity: 0;
  transform: translate(10%, 0);
  transition: 2s;
}
.obj_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
.obj_right1 {  opacity: 0;  transform: translate(10%, 0);  transition: 1s;}
.obj_right1.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_right2 {  opacity: 0;  transform: translate(20%, 0);  transition: 1s;}
.obj_right2.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_right3 {  opacity: 0;  transform: translate(20%, 0);  transition: 1s;}
.obj_right3.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_right4 {  opacity: 0;  transform: translate(30%, 0);  transition: 1s;}
.obj_right4.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_right5 {  opacity: 0;  transform: translate(40%, 0);  transition: 1s;}
.obj_right5.is-show {  transform: translate(0, 0);  opacity: 1;}
.obj_right6 {  opacity: 0;  transform: translate(50%, 0);  transition: 1s;}
.obj_right6.is-show {  transform: translate(0, 0);  opacity: 1;}

     @media screen and (max-width:1024px){
        .obj_in {
          opacity: 0;
          transition: 2s;
        }
        .obj_in.is-show {
          opacity: 1;
        }
        .obj_up {
          opacity: 0;
          transform: translate(0, 0%);
          transition: 2s;
        }
        .obj_up.is-show {
          transform: translate(0, 0);
          opacity: 1;
        }
        .obj_left {
          opacity: 0;
          transform: translate(-0%, 0);
          transition: 2s;
        }
        .obj_left.is-show {
          transform: translate(0, 0);
          opacity: 1;
        }
        .obj_right {
          opacity: 0;
          transform: translate(0%, 0);
          transition: 2s;
        }
        .obj_right.is-show {
          transform: translate(0, 0);
          opacity: 1;
        }
    }

/*-------------------------------------------*/

.hr1 {
  border-top: 3px dotted #F7D969;
}
.hr2 {
  border-top: 2px solid#F7D969;
}
/*-------------------------------------------*/

.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;
}
/*-------------------------------------------*/
.h2_1_page_title {
    padding: 20px 0 40px 0;
}
.h2_1 {
  position: relative;
  padding: 0.6em;
  background: -webkit-repeating-linear-gradient(-45deg, #fff5df, #fff5df 4px,#FFDEA2 3px, #FFDEA2 8px);
  background: repeating-linear-gradient(-45deg, #fff5df, #fff5df 4px,#FFDEA2 3px, #FFDEA2 8px);
  border-radius: 7px;
  font-size: 2.6em;
}
.h2_1:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid #ffebbe;
  width: 0;
  height: 0;
}

/*-------------------------------------------*/

.h3_1 {
  padding: 10px 10px;
  background-color: rgba(35,140,0, .4);
  background-image:
    linear-gradient(90deg, rgba(35,140,0, .3) 50%, transparent 50%),
    linear-gradient(rgba(35,140,0, .3) 50%, transparent 50%);
 background-size: 40px 40px;
    font-size: 2.2em;
    font-family: "Rounded Mplus 1c";
}

.h3_2 {
    position: relative;
    padding: 5px 5px;
    border-bottom: 2px solid #AAAAAA;
    font-size: 2.4em;
    margin-bottom: 30px;
    font-family: "Rounded Mplus 1c";
}
.h3_2:before {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 15%;
    height: 2px;
    content: '';
    background: #013686;
}
/*-------------------------------------------*/
.h4_1 {
    background-color: #334D73;
    font-size: 1.8em;
    padding-left: 20px;
    padding-right: 20px;
    display: inline-block;
    color: #FFFFFF;
}
/*--------------------.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;
        }
    }
main {
    width: 100%;
    margin: auto;
    padding-top: 180px;
    padding-bottom: 50px;
    background-image: url("../img/common/main_bottom_bg.png");
    background-position: bottom right;
    background-color: #E1F0D9;
}
.wrap_bg {
    background-image: url("../img/common/bg1.png");
    background-repeat: no-repeat;
    background-position: top left 30px;;
}

/*
main {
    width: 100%;
    background-size:auto;
    background-image: url(../img/index/bg1.png);
    background-repeat: repeat-y;
    background-position: center top;
    margin: auto;
}
*/
/*-------------------------------------------*/

/*===============================================================================================
index
=================================================================================================*/

#index  main {
    padding-top: 180px;
}

/*-------------------------------------------*/
#index .wrap1 {
}
#index .bl1 {
    margin-bottom: 60px;
}
#index .bl1_1 {
/* preview */
width: 100%x;
background-color: #fff;

/* border */
border: 1px solid #efecec;

/* box-shadow */
box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 28px 24px -8px rgba(10,10,10,0.02);
}
#index .bl1_1_in {
    padding: 20px;
}
#index .bl1 h3 {
    margin-bottom: 20px;
}
#index .bl1 p {
	font-size: 1.8em;
}
#index .bl1 .ul_ptn1 {
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between; 
}
#index .bl1 .ul_ptn1 li{
    padding-right: 20px;
}
#index .bl1 .ul_ptn1 li:nth-child(1){
    width: 70%;
}
#index .bl1 .ul_ptn1 li:nth-child(2){
    width: 30%;;
}
#index .bl1 .ul_ptn1 li:nth-child(2) img{
    width: 100%;
}
#index .bl1 .ul_ptn2{
}
#index .bl1 .ul_ptn2 .li_ptn1{
    width: 100%!important;
}
#index .bl1 .ul_ptn2 .li_ptn1 ul{
    margin-bottom: 20px;
}
#index .bl1 .ul_ptn2 .li_ptn1 ul li{
	font-size: 1.8em;
}
#index .bl1 .ul_ptn2 .li_ptn1 ul li:nth-child(1){
    color: #238C00;
    font-weight: bold;
}
    @media screen and (max-width:1024px){
        #index .fade_slide {
            padding-top: 100px;
        }
    }

#index .fade_slide_cnt_h .ul2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: auto;
}
    @media screen and (max-width:1300px){
        #index .fade_slide_cnt_h .ul2 {
            width: 96%;
        }
    }
    @media screen and (max-width:1024px){
        #index .fade_slide_cnt_h .ul2 {
            display: none;
        }
    }

/*===============================================================================================
flow
=================================================================================================*/
.flow_box {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  background: #FFF;
  border: solid 3px #CCCCCC;
  box-sizing: border-box;
  width: 100%;
}
.flow_box:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}
.flow_box:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #CCCCCC;
  z-index: 1;
}
.flow_box .ul1 {
}
.flow_box .ul1 li {
    padding-bottom: 10px;
}
.flow_box .ul1 li .dl1 {
    display: flex;
    align-items: center;
}
.flow_box .ul1 li .dl1 dt {
    background-color: #29A5E1;
    color: #FFFFFF;
    text-align: center;
    padding: 0px 20px;
    font-size: 2.6em;
	font-family: "Rounded Mplus 1c";
    border-radius: 20px;
    margin-right: 20px;
    font-weight: bold;
}
.flow_box .ul1 li .dl1 dd {
    font-size: 2.0em;
    font-weight: bold;
}
.flow_box .ul1 li .dl2 {
    padding:0px 20px 10px 20px;
}
.flow_box .ul1 li .dl2 dt {
    font-size: 1.6em;
    font-weight: bold;
    padding-bottom: 10px;
}
.flow_box .ul1 li .dl2 dd {
    font-size: 1.6em;
}


/*===============================================================================================
contact
=================================================================================================*/

.form_box_bg{
    background-color: #FFFFFF;
    margin-bottom: 20px;
}
.form_box_bg_in{
    padding: 20px;
}
#contact .wrap1{
}
#contact .wrap1 .bl1{
    margin-bottom: 30px;
}
#contact .wrap1 .bl1 h4{
}
#contact .wrap1 .bl1 .p1{
    font-size: 1.6em;
    padding-bottom: 30px;
}
#contact .wrap1 .ul1{
    background-color: #F2F2F2;
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
#contact .wrap1 .ul1 li{
    text-align: center;
}
#contact .wrap1 .ul1 li .span1{
    font-size: 1.8em;
    font-weight: bold;
}
#contact .wrap1 .ul1 li .span2{
    font-size: 3.0em;
    font-weight: bold;
}
#contact .wrap1 .ul1 li:nth-child(1){
    font-size: 1.8em;
    width: 100%;
    padding-bottom: 20px;
}
#contact .wrap1 .ul1 li:nth-child(2){
    width: 50%;
}
#contact .wrap1 .ul1 li:nth-child(3){
    width: 50%;
}
#contact .wrap1 .p1{
    font-size: 1.6em;
}
#contact .wrap1 th{
    width: 30%;
}
    @media (max-width: 800px){
        #contact .wrap1 th{
            width: 100%;
        }
	}


/*===============================================================================================
form parts
=================================================================================================*/
.form_box {
    margin-top: 10px;
    width: 100%;
    background-color: #F2F2F2;
}
.form_box_in {
    padding: 0px 20px 20px 20px;
}
.form_box .ul_form {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 20px 20px 10px 20px;
    align-content: center;
    align-items: center;
}
.form_box .dl1 {
}
.form_box .dl1 .dt1 {
    font-weight: bold;
    font-size: 1.6em;
    float: left;
    padding-top: 28px;
}
.form_box .dl1 .dd1 {
    padding-left: 130px;
}
.form_box .ul_form li {
    padding-bottom: 10px;
}
.form_box .ul_form .span1{
    font-weight: bold;
    font-size: 1.6em;
}
.form_box .ul_form .span2{
    font-weight: bold;
    font-size: 1.6em;
    margin-right: 20px;
}
.form_box .span3{
    display: block;
}
.form_box .ul_form .li2 {
    padding-right: 30px;
    font-weight: bold;
    font-size: 1.6em;
}
.form_box .ul_form .li3 {
    width: 20%;
    font-weight: bold;
    font-size: 1.6em;
}
.form_box .ul_form .li3_2 {
    width: 10%;
    font-weight: bold;
    font-size: 1.6em;
}
.form_box .ul_form .li4 {
    width: 20%;
    font-weight: bold;
    font-size: 1.6em;
}
.form_box .ul_form .li5 {
    font-weight: bold;
    font-size: 1.6em;
    margin-right: 20px;
    width: 20px;
}
.form_box .ul_form .li1 {
    width: 100%;
    text-align: center;
}
.form_box .ul_form label {
    font-size: 1.6em;
}
.form_box2 {
    margin-top: 10px;
    margin-bottom: 40px;
    width: 100%;
    background-color: #F2F2F2;
}
.form_box2_in {
    padding: 20px;
}
.submit_box_all {
    margin-top: 10px;
    width: 100%;
}
.submit_box {
	width: 350px;
	margin: auto;
	overflow: hidden;
    display: flex;
    justify-content: space-between;
}
.submit_box li {
}
	@media (max-width: 959px){
        .submit_box {
        }
	}
.submit_box .submit_btn{
	background-color: #003A81;
	color: #fff;
	padding: 20px 50px;
	border-style: none;
	cursor: pointer;
    font-size: 1.6em;
}
.submit_box .submit_btn:hover {
  background-color: #0058C4;
}

.inputbox1 {
    padding: 10px;
	width: 500px;
}
.inputbox2 {
    padding: 10px;
	width: 300px;
}
.inputbox3 {
	width: 100%;
    margin: auto;
}
	@media (max-width: 959px){
        .inputbox1 {
            width: 90%;
        }
        .inputbox2 {
            width: 90%;
        }
        .inputbox3 {
	        width: 100%;
        }
	}
    
/* チェックボックス01 */
input[type=checkbox] {
    display: none;
}
.checkbox01 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 35px;
    position: relative;
    width: auto;
}
.checkbox01::before {
    background: #fff;
    border: 1px solid #BCE0FD;
    content: '';
    display: block;
    height: 28px;
    left: 0px;
    margin-top: -16px;
    position: absolute;
    top: 50%;
    width: 28px;
}
.checkbox01::after {
    border-right: 3px solid #2699FB;
    border-bottom: 3px solid #2699FB;
    content: '';
    display: block;
    height: 15px;
    left: 12px;
    margin-top: -12px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: rotate(45deg);
    width: 5px;
}
input[type=checkbox]:checked + .checkbox01::after {
    opacity: 1;
}

/* ラジオボタン01 */
input[type=radio] {
    display: none;
}
.radio01 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 5px 30px;
    position: relative;
    width: auto;
}
.radio01::before {
    background: #fff;
    border: 1px solid #BCE0FD;
    border-radius: 50%;
    content: '';
    display: block;
    height: 28px;
    left: -10px;
    margin-top: -15px;
    position: absolute;
    top: 50%;
    width: 28px;
}
.radio01::after {
    background: #2699FB;
    border-radius: 50%;
    content: '';
    display: block;
    height: 10px;
    left: 0px;
    margin-top: -5px;
    opacity: 0;
    position: absolute;
    top: 50%;
    width: 10px;
}
input[type=radio]:checked + .radio01::after {
    opacity: 1;
}

/* セレクト */
select::-ms-expand {
	display: none;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin-bottom: 20px;
	padding: 5px 50px 5px 20px;
	border: 1px solid #7FC4FD;
    background-image: url(../img/common/select.svg);
	background-repeat: no-repeat;
	background-size: 12px 10px;
	background-position: right 10px center;
    cursor: pointer;
    font-size: 1.0em
}
    @media screen and (max-width:560px) { 
        select {
            width: 90%;
        }
    }

/* テキストエリア */
textarea {
    width:100%;
	border: 1px solid #7FC4FD;
}

/* テキストエリア */
input {
    width:100%;
	border: 1px solid #7FC4FD;
}
/* ボタン1 */
.btn1{
    width: 280px;
}
.btn1 {
    padding-top: 30px;
    padding-bottom: 100px;  
}
.btn1 li {
    width: 280px;
}
.btn1 li input {
    background-color: #1B95D2;
    width: 280px;
    color: #FFFFFF;
    border:  none;
    cursor: pointer;
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 10px;
    font-size: 2.0em;
}
    @media screen and (max-width:280px) {
        .btn1 {
            width: 94%;
        }
    }


/* ボタン2 管理 */
.btn2{
    padding-top: 30px;
    padding-bottom: 20px;  
}
.btn2 li {
    border: 1px #999999 solid;
    text-align: center;
}
.btn2 li a {
    display: block;
    border:  none;
    cursor: pointer;
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 10px;
    font-size: 2.0em;
    text-decoration: none;
}
.btn2 li a:hover {
    background-color: whitesmoke;
}
    @media screen and (max-width:280px) {
        .btn2 {
            width: 94%;
        }
    }
