﻿@charset "utf-8";
html{
  scroll-behavior: smooth;
}
*{
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
img{
  max-width: 100%;
  height: auto;
  vertical-align:top;
}
a{
  text-decoration: none;
}
a:hover{
  opacity: 0.8;
}
.inner{
  max-width: 1000px;
  margin: auto;
}
h2.title{
  padding: 2em 1em;
  text-align: center;
}
.f_left{
  float: left;
}
.f_right{
  float: right;
}
.clear{
  clear: both;
}
#header{
  max-width: 1000px;
  margin: auto;
  padding: 5px 10px;
}
#header h1{
  padding: 5px;
}
#footer{
  padding-top: 2em;
  background: #003399;
  color: #fff;
  text-align: center;
}
#footer table{
  margin-bottom:2em;
  margin: 0 auto 1em;
font-size: 1rem;
}
#footer table th{
  padding:0 1em;
  font-weight: normal;
}
#footer table td{
  text-align: left;
  padding:0 1em;
  border-left:1px #fff dotted;
}
#copyright{
  font-size: 12px;
  line-height: 2;
}
#tel_box{
  border: 3px solid #FF6600;
border-radius: 10px;
}
#tel_box dt{
  color: #FF6600;
  text-align: center;
  padding: 0 1em;
  font-weight: bold;
}
#tel_box dd{
  background: #FF6600;

}
#tel_box img{
  margin: 5px 10px;
  max-height: 50px;
}
#tel_box a{
  color: #fff;
font-size: 1.5em;
font-weight: bold;
display: block;
}

#main_img{
  background-image: url(/images/main_bg.png);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
}

#main_img #tel_area{

  background-color: #003399;
  padding: 1em 0;
}

#main_img #tel_area dl{
  background-color: #339900;
  color:#fff;
  border-radius: 10px;
}
#main_img #tel_area dt,
#main_img #tel_area dd{
  padding: 0 1em;
  position: relative;
}
#main_img #tel_area dt{
  font-weight: bold;
  text-align: center;
}
#main_img #tel_area dd a{
  display: block;
  background: linear-gradient(orange, red);
      /*background-image: url(/images/main_tel_bg.png);
      background-position: left center;
      background-repeat: no-repeat;
      background-size: cover;*/
      color: #fff;
      font-weight: bold;
      border-radius: 20px;
      padding: 0 1em;
      line-height: 2;
}

img#hand{
  position: absolute;
right: 0;
bottom: 0;
}

.contact_tel_banner{
  background-image: url(/images/contact_tel_bg.png);
  background-position:center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 1em; 
}
.contact_tel_banner dl a,
.contact_tel_banner dl td{
  font-weight: bold;
  color: #fff;
}
.contact_tel_banner dl td{
  text-align: center;
}

  .contact_tel_banner dl td img{
    height: 35px;
    margin: 5px 10px 5px 0;
    
  }
  .contact_tel_banner dl .tel_btn a{
    font-size: 35px;
  }
  .contact_tel_banner dl .mail_btn a{
    display: block;
    color: #666;
    font-weight: normal;
    background: linear-gradient(#eee, #ccc);
    border-radius: 20px;
    font-size: 1.5rem;
    line-height: 2;
  }
  #section_01,
  #section_02,
  #section_03,
  #section_05,
  #section_06,
  #section_07,
  #section_08,
  #section_09,
  #section_10,
  #section_11,
  #section_12,
  #section_13,
  #section_14{
    padding-bottom: 2em;
  }
#section_01{
  background: #BAE1F3;
  padding-top: 1em;
}
#section_01 #menu_area{
  background-image: url(/images/bg_01.png);
  background-position:center;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 1em 0;
}
  #tel_info ul,
#section_12 ul,
#section_10 ul,
#section_05 ul,
#section_01 #menu_area ul{
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#section_01 .list > div{
  background: #fff;
  margin-bottom: 1em;
}
#section_01 .list > div h3{
  background: #003399;
  color: #fff;
  padding: 10px 1em;
}
#section_01 .list > div h3 span{
  padding: 0 1em;
}
#section_01 .list > div dl{
  background: #fff;
}
#section_01 .list > div dl dd,
#section_01 .list > div dl dt{
  padding: 1em ;
}

#section_01 .list > div dl dd >img{
  margin-bottom: 1em;
}
#section_01 .list > div dl dd li{
  list-style: none;
  background-image: url(/images/check.png);
  background-position: top left;
  background-repeat: no-repeat;
  padding-left: 2em;
  line-height: 2;
}

#section_02 #box_01{
  background: #AADEFF;
}
#section_02 #box_01 h3{
  background: #003399;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
  line-height: 2;
}
#section_02 #box_01 dl{
  margin: 1em 2em;
}

#section_02 #box_01 dd h4{
  color: #003399;
  font-weight: bold;
  font-size: 1.8rem;
}

#section_02 #box_01 > p{
  text-align: center;
}
#section_02 #box_01 dt,
#section_02 #box_01 dd{
  padding: 1em;
}
#section_02 #box_01 dt img{
  border: 3px solid #fff;
  border-radius: 10px;
  
}

#hukidashi {
  text-align: center;
  padding: 0 1em;
}
#hukidashi p{
  background: #12B9FF;
  color: #fff;
  padding: 1em;
  border-radius: 20px;
}
#section_03{
  background: #E7E7E7;
}
#section_03 .box{
  background: #fff;
  padding: 20px;
  margin: auto;
  text-align: center;
  max-width: 90%;
}
#section_04 p{
  margin: 0 1em;
  padding: 1em;
  background: #FD6601;
  color: #fff;
  font-weight: bold;
  font-size: 1.2rem;
  border: #000 solid 5px;
  border-radius: 20px;
}
#header h1{
  width: 35%;
}

#section_05 ul li{
  margin: 5px;
  text-align: center;
  border: #009931 3px solid;
  border-radius: 20px;
  overflow: hidden;
}
#section_05 ul li h3{
  background: #009931;
}
#section_05 ul li p{
  text-align: left;
  padding: 0 1em 1em;
  font-size: 0.9rem;
}

#section_06{
  background: #CBCBCB;
}
#section_06 .box{
  background: #fff;
  margin: 0 1em 2em;
  padding: 1em;
  border-radius: 20px;
}
#section_06 .box p{
  font-size: 1.1rem;
  font-weight: bold;
  padding: 1em;
  color: #003399;
}
#section_08{
  background: #AADEFF;
}
#section_08 dl{
  background: rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  margin-bottom: 1em;
  overflow: hidden;
}
#section_08 dd{
  vertical-align:top;
  padding: 1em 1em 1em 0;
  }
#section_08 h3{
  background: #fff;
  color: orange;
  text-align: center;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 1em;
}
#section_09 .inner {
  padding-top:2em; 
}
#section_09 .inner > div{
  background-image: url(/images/green_hand.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size:contain;
  margin: 1em;
}
#section_09 .inner > div p{
  border: #23A227 10px solid;
  border-radius: 20px;
  padding: 1em;
  background:rgba(255,255,255,0.6);
}

#section_10{
  
  background-image: url(/images/bg_01.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 1em 0;
}
#section_11{
  padding: 2em 0;
  background: #BAE1F3;
}
#section_11 dl{
  margin: 1em;
}
#section_11 dt{
  color: #fff;
  font-weight: bold;
  line-height: 3;
  padding: 0 2em;
  font-size: 1.5rem;
}
#section_11 dd{
  background: #fff;
  padding: 2em;
}
#section_11 #a_1{
  background: #1E4CD5;
}
#section_11 #a_2{
  background: #0CC3C4;
}
#section_11 #a_3{
  background: #0FC04A;
}
#section_11 #a_4{
  background: #87D518;
}
#section_11 #a_5{
  background: #E48910;
}
#section_11 #a_6{
  background: #F4460D;
}

#section_12{
  background-image: url(/images/wave_bg.png);
    background-position: center;
    background-size: 100%;
    padding: 2em 0;
}
#section_12 ul li{
  border-radius: 20px;
  
  padding: 10px;
}
#section_12 ul li dl{
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
}
#section_12 ul li dt{
  background: #1E59D3;
  text-align: center;
  color: #fff;
  font-weight: bold;
  padding: 1em;
}
#section_12 ul li dt img{
  max-width: 150px;
  margin: 10px;
}
#section_12 ul li dd{
  padding: 2em;
  font-size: 1rem;
  line-height:2; 
}
#section_13{
  background: #FEF2DC;
}
#section_13 h2 img{
  max-width: 60%;
}
#section_13 dl{
  padding: 1em;
}
#section_13 dt{
  background: #35669A;
  color: #fff;
  font-weight: bold;
}
#section_13 dd{
  background: #fff;
  border: 2px solid #35669A;
}
.answer {
  display: none;
}
#section_13 dt,
#section_13 dd{
  padding: 1em;
  overflow: hidden;
}
#section_13 dt > p{
  padding-top: 0.4em;
  font-size: 1.8rem;
}
#section_13 dt > p,
#section_13 dd > p{
  margin-left: 80px;
}
#section_13 dt > img,
#section_13 dd > img{
  max-width: 50px;
  float: left;
  margin: 5px;
}

#section_14 .inner > div{
  margin: 2em 0 0;
  background: linear-gradient(#00B8C8, #024472);
  color: #fff;
  padding: 2em;
  text-align: center;
  
}
#section_14 .inner > div h2{
  margin-bottom: 1em;
  
}
#section_14 .inner > div p{
  text-align: left;
}
#tel_info{
  display: none;
}
@media screen and (min-width: 940px){
  #main_img #tel_area dd a{
    font-size: 2em;
  }
  .contact_tel_banner dl td{
    font-size: 2rem;
  }
}
@media screen and (max-width: 939px){
  #main_img #tel_area dd a{
    font-size: 1.5em;
  }

}

@media screen and (min-width: 560px){
  .table dl{
    display: table;
  }
  .table dl dt,.table dl dd{
    display: table-cell;
    vertical-align: middle;
  }
  .t4_d6 dt{
    width: 40%;
  }
  .t4_d6 dd{
    width: 60%;
  }
  .t6_d4 dt{
    width: 60%;
  }
  .t6_d4 dd{
    width: 40%;
  }
  .t7_d3 dt{
    width: 70%;
  }
  .t7_d3 dd{
    width: 30%;
  }
  #section_01 .list > div dl dd{
    padding-left:0;
  }
  #section_05 ul li{
    max-width: 30%;
  }
  #section_01 #menu_area ul li{
    max-width: 25%;
  }
  #section_08 dl{
    padding: 1em 0;
    margin: 1em;
  }
  #section_10 li{
    width: 33%;
  }
  #section_12 ul li{
    max-width: 50%;
  }
  #section_14 .inner > div{
    border-radius: 50%;
  }
  #section_14 .inner > div p{
    padding: 0 5em 3em;
  }
  #section_14 .inner #sasae{
  margin-top: -8em;
  }
  #tel_box a::before,
  #main_img #tel_area dd a::before{
    content:url(/images/free_dial_2.png);
    vertical-align: middle;
    margin: 0 10px;
  }

}
@media screen and (max-width: 560px){
  #form_contents table th,
  #form_contents table td{
    display: block;
    width: 100%;
    border: #dcdddd 1px solid;
  }
  #form_contents textarea{
    width: 100%!important;
  }
  #footer{
    padding-bottom: 5em;
  }
  #tel_box{
    display: none;
  }
  #tel_info{
    background: #003399;
    padding: 10px 0;
    position: fixed;
    bottom:0;
    left: 0;
    right: 0;
    display:block;
  }
  #tel_info ul{
    transition: all .3s;
  }
  #tel_info li{
    width: 50%;
    cursor: pointer;
  }
  #tel_info a{
    display: block;
    width: 100%;
    text-align: center;
    padding: 5px;
  }
  #tel_info li:active{
    opacity: .8;
  }
  #tel_info li:first-child{
    border-right: 1px #fff solid;
  }
  #tel_info a img{
    max-width: 60px;
  }

  #section_14 .inner > div{
    border-radius: 30px;
  }
  #section_14 .inner > div p{
    padding: 0 1em;
  }
  #section_14 .inner #sasae{
    margin-top: -2em;
  }
  
  #section_13 dt > p{
    font-size: 1.2rem;
  }
  #section_02 .table dl dd img{
    display: none;
  }
  #section_02 #box_01 dl{
    margin: 1em;
  }
  #section_12 ul li,
  #section_05 ul li{
    max-width: 100%;
  }
  #section_05 ul li > img,
  #section_05 ul li p{
    
    float: left;
  }
  #section_05 ul li > img{
    width: 40%;
  }
  #section_05 ul li p{
    padding: 1em 1em 1em 0;
    width: 60%;
  }
  #section_08 dd{
    padding: 1em;
  }
  #section_10 li{
    width: 50%;
  }
}

@media screen and (min-width: 796px){

  #header dl{
    width: 65%;
  }
  #section_01 .list > div h3{
    font-size: 2em;
  }
  #section_01 .list > div h3 span{
    font-size: 0.8em;
  }
  #section_02 .inner .flex_left{
    max-width: 740px;
    margin: auto;
  }
  #section_02 .inner .flex_left img{
    max-width: 35%;
  }
  #section_02 .inner .flex_left p{
    max-width: 65%;
  }
  #section_09 .inner > div{
    max-width: 45%;
  }
  .sp{
    display: none;
  }

  .flex_center{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .flex_space{
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between;
  }
  .flex_left{
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
  }
  .flex_right{
    display: flex;
    flex-wrap: wrap;
    justify-content: right;
  }
  body{
    font-size: 20px;
  }

.contact_tel_banner dl{
  overflow: hidden;
  padding: 1em 2em;
}
.contact_tel_banner dt{
  float: left;
  max-width: 40%;
}
.contact_tel_banner dd{
  float: right;
  max-width: 60%;

}

.contact_tel_banner .inner > img{
  margin-bottom: 25px;
}

#main_img #tel_area .inner .img{
  max-width: 25%;
}
#main_img #tel_area .inner dl{
  max-width: 75%;
}

#header dl {
    max-width: 530px;
}
.contact_tel_banner dl td.text{
  font-size: 1.2rem;
  text-align: center;
}

}


@media screen and (max-width:795px) {
  h2.title{
    padding: 1em 0;
  }
  .contact_tel_banner dl td{
    font-size: 18px;
    text-align: center;
  }
  #box_01 > p > img{
    max-width: 60px;
  }
  #section_01 .list > div h3 span{
    font-size: 16px;
  }
  #section_01 .list > div dl dd, #section_01 .list > div dl dt{
    text-align: center;
  }
  #section_01 .list > div dl dd  ul{
    text-align: left;
  }
  body{
    font-size: 18px;
  }
  .pc{
    display: none;
  }
  .inner{
    padding: 0 10px;
  }
#main_img #tel_area dd a{
  background-size: inherit;
      max-width: 20em;
      padding: 10px;
      margin: auto;
}
#tel_box a{
  padding: 10px 10px 0;
  text-align: center;
}
#main_img #tel_area dl{
  margin: auto;
  padding: 10px 0;
}
.contact_tel_banner dl,
.contact_tel_banner table{
  width: 100%;
}

#section_01 #menu_area ul li{
  max-width: 50%;
}
#main_img #tel_area dd{
  text-align: center;
}
#main_img #tel_area p{
  color: #fff;
  font-weight: bold;
  text-align: center;
  line-height: 2;
  width: 100%;
  margin-bottom: 0.5em;
} 
}
/****************お問い合わせフォーム*******************/
#form_contents {
	line-height: 1.8;
	padding: 10px;
	max-width: 650px;
  margin: auto;
}

#form_contents .title {
	background-color: #efefef;
	text-align: left;
	padding: 10px;
	margin: 10px 0 0 0;
	font-size: 14px;
	font-weight: bold;
	border-top: 3px double #dcdddd;
	border-right: 1px solid #dcdddd;
	border-bottom: 1px solid #dcdddd;
	border-left: 1px solid #dcdddd;
}

#form_contents .require {
	color: red;
}

#form_contents .error-message {
	color: red;
	font-weight: bold;
}

#form_contents table {
	background-color: #ffffff;
	border-collapse: collapse;
	font-size: 14px;
	width: 100%;
	color:#333333;
	margin: 0;
	padding: 0;
}

#form_contents th {
	background-color: #fff;
	text-align: left;
	padding: 10px;
	vertical-align: top;
	border-bottom: #dcdddd 1px solid;
	border-left: #dcdddd 1px solid;
	font-weight: normal;
	width: 200px;
}

#form_contents td {
	background-color: #fff;
	text-align: left;
	padding: 10px;
	vertical-align: top;
	border-right: #dcdddd 1px solid;
	border-bottom: #dcdddd 1px solid;
}

#form_contents .border {
	border: #dcdddd 1px solid;
}

#form_contents label {
	display: block;
	float: left;
	margin: 0 10px 0 0;
}

#form_contents textarea {
	height: 100px;
	width: 400px;
}

#form_contents .kiyaku {
	height: 150px;
	overflow-y: scroll;
}

#form_contents .center {
	text-align: center;
}

#form_contents input[type="text"] {
	width: 150px;
}

#form_contents input[type="text"].long {
	width: 300px;
}
#form_contents input[type="submit"]{
  padding: 5px 10px;
}
