/* -----------------------------------
   リセット 必要ない場合削除 */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, a:hover,abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-style:normal;
    font-weight: normal;
    list-style:  none;
}
h1,h2,h3,h4,h5,h6,td,th,p,ul,li,dt,dd {
    font-size: 1em;
}

body {
	-webkit-text-size-adjust: 100%;
	font-size: 17px;
	font-family:'Zen Maru Gothic', sans-serif, "メイリオ";
	width: 100%;
	height: 100%;
	color: #111;
}

/* ------------ containts ---------------- */

#containts{
	width: 1200px;
	margin: 0 auto;
}

/* ------------ header ---------------- */

header{
	width: 100%;
	height: 80px;
}

header h1{
	width: 180px;
	margin-right: 20px;
	float: left;
}

header h1 img{
	height: 80px;
}

header ul{
	width: auto;
	height: 80px;
}

header li{
	width: 125px;
	height: 80px;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	line-height: 88px;
	float: left;
}

header li a{
	font-size: 18px;
	color: #111;
	font-weight: 700;
	text-decoration: none;
}

ul.sns{
	float: right;
	position: relative;
}

ul.sns li{
	width: 75px;
	height: 80px;
	text-align: center;
	line-height: 88px;
	float: left;
}

ul.sns li a img{
	width: 40px;
	height: 40px;
	margin-top: 25px;
}

#container{
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding-bottom: 20px;
}

#container2{
	width: 100%;
	height: auto;
	margin: 0px auto 0;
	padding-top: 40px;
	padding-bottom: 20px;
	border-top: 2px solid #111;
}

section.one{
	width: 100%;
	height: auto;
	margin: 0 auto 50px;
}

.reflection-img{
	width:1200px;
	height:600px;
	position:relative;
	overflow:hidden;
}
 
.reflection {
	height:100%;
	width: 60px;
	position:absolute;
	top:-275px;
	left:-10px;
	background-color: #fff;
	opacity:0;
	transform: rotate(45deg);
	animation: reflection 1.5s ease-in-out 2;
	-webkit-transform: rotate(45deg);
	-webkit-animation: reflection 1.5s ease-in-out 2;
	-moz-transform: rotate(45deg);
	-moz-animation: reflection 1.5s ease-in-out 2;
	-ms-transform: rotate(45deg);
	-ms-animation: reflection 1.5s ease-in-out 2;
	-o-transform: rotate(45deg);
	-o-animation: reflection 1.5s ease-in-out 2;
}
 
@keyframes reflection {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.3; }
	81% { transform: scale(4) rotate(45deg); opacity: 0.8; }
	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.3; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 0.8; }
	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.3; }
	81% { -moz-transform: scale(4) rotate(45deg); opacity: 0.8; }
	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.3; }
	81% { -ms-transform: scale(4) rotate(45deg); opacity: 0.8; }
	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.3; }
	81% { -o-transform: scale(4) rotate(45deg); opacity: 0.8; }
	100% { -o-transform: scale(50) rotate(45deg); opacity: 0; }
}

#present_btn{
	width: 1070px;
	height: 125px;
	margin: 0 auto;
	overflow: hidden;
}

#present_btn img{
	width: 400px;
	height: 75px;
	margin: 25px 25px;
	float: left;
}

section.two{
	width: 1080px;
	height: auto;
	margin: 0 auto 60px;
}

section.two h2{
	width: 100%;
	margin: 0 auto 20px;
	font-size: 23px;
	font-weight: 700;
}

section.two h2{
  position: relative;
  background: #ffd98a;
  padding: 5px 5px 5px 33px;
  font-size: 23px;
  color: #474747;
  border-radius: 0 10px 10px 0;
  font-weight: 700;
}

section.two h2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f6cf";
  display: inline-block;
  line-height: 50px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #ffa337;
  font-weight: 900;
  width: 50px;
  text-align: center;
  height: 50px;
  line-height: 50px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 4px white; 
  border-radius: 50%;
}

section.two p{
	width: 690px;
	margin: 0 20px 30px 35px;
	padding: 10px;
	line-height: 1.8;
	float: left;
}

.mt13{
	margin-top: 13px;
}

.box{
	width: 1080px;
	height: auto;
	margin: 0 auto;
	padding: 40px 0 45px;
	background: #D2EEFF;
	border-radius: 10px;
	overflow: hidden;
}

section.two h3{
	width: 100%;
	margin: 0 auto 10px;
	text-align: center;
	font-size: 22px;
	font-weight: 700;
}

section.two ul{
	width: 1020px;
	height: auto;
	margin: 5px auto;
	overflow: hidden;
}

section.two li{
	width: 300px;
	height: 100px;
	margin: 20px;
	float: left;
}

section.three{
	width: 800px;
	height: 170px;
	margin: 0 auto;
	padding: 0 0 60px;
	background: url(../img/contact.png) no-repeat;
}

section.three img{
	width: 276px;
	margin: 13px 0px 13px 505px;
}

section.three img :hover{
	opacity: 0.5;
}

section.four{
	width: 1080px;
	height: auto;
	margin: 0 auto 60px;
	position: relative;
}

section.four h2{
  position: relative;
  background: #ffd98a;
  padding: 5px 5px 5px 33px;
  font-size: 23px;
  color: #474747;
  border-radius: 0 10px 10px 0;
  margin-bottom: 30px;
  font-weight: 700;
}

section.four h2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f6cf";
  display: inline-block;
  line-height: 50px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #ffa337;
  font-weight: 900;
  width: 50px;
  text-align: center;
  height: 50px;
  line-height: 50px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 4px white; 
  border-radius: 50%;
}

section.four h3{
	width: 100%;
	margin: 0 auto 30px;
	text-align: center;
	font-size: 23px;
	font-weight: 700;
}

section.four img{
	width: 1000px;
	margin: 20px 40px 0;
	text-align: center;
}

.four ul{
	width: 1000px;
	margin-left: 32px;
	overflow: hidden;
	position: absolute;
	top: 315px;
	left: 55px;
}

.four li{
	width: 200px;
	float: left;
	text-align: left;
	margin: 20px 39px 0 0;
	line-height: 1.7;
	font-weight: 700;
}

section.four p{
	width: 900px;
	margin: 20px auto 0;
	padding: 10px;
	line-height: 2.0;
}

section.five{
	width: 1080px;
	height: auto;
	margin: 40px auto 60px;
	border-bottom:  2px solid #111;
	padding-bottom: 20px;
}

section.five h2{
  position: relative;
  background: #ffd98a;
  padding: 5px 5px 5px 33px;
  font-size: 23px;
  color: #474747;
  border-radius: 0 10px 10px 0;
  margin-bottom: 30px;
  font-weight: 700;
}

section.five h2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f6cf";
  display: inline-block;
  line-height: 50px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #ffa337;
  font-weight: 900;
  width: 50px;
  text-align: center;
  height: 50px;
  line-height: 50px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 4px white; 
  border-radius: 50%;
}

section.five h3{
	width: 100%;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 25px;
}

section.five h4{
	width: 90%;
	font-size: 20px;
	font-weight: 700;
	margin: 0 auto;
	color: #ffa337;
}

section.five p{
	width: 90%;
	margin: 0 auto 30px;
	line-height: 1.8;
	overflow: hidden;
}

section.five img{
	float: left;
	margin-right: 30px;
}

section.five iframe{
	margin: 0 auto 30px;
	display: block;
}

section.six{
	width: 1080px;
	height: auto;
	margin: 20px auto 70px;
	border-bottom:  2px solid #111;
	padding-bottom: 20px;
}

section.six h2{
  position: relative;
  background: #D2EEFF;
  padding: 5px 5px 5px 33px;
  font-size: 23px;
  color: #474747;
  border-radius: 0 10px 10px 0;
  margin-bottom: 30px;
  font-weight: 700;
}

section.six h2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f6cf";
  display: inline-block;
  line-height: 50px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #00a0e9;
  font-weight: 900;
  width: 50px;
  text-align: center;
  height: 50px;
  line-height: 50px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 4px white; 
  border-radius: 50%;
}

section.six h3{
	width: 100%;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 25px;
}

section.six h4{
	width: 90%;
	font-size: 20px;
	font-weight: 700;
	margin: 0 auto 20px;
}

section.six h5{
	width: 90%;
	font-size: 20px;
	font-weight: 700;
	margin: 0 auto 20px;
	color: #00a0e9;
	border-bottom: 2px solid #00a0e9;
	padding-bottom: 8px;
}

section.six img{
	float: left;
	margin-right: 30px;
}

section.six p{
	width: 90%;
	margin: 0 auto 30px;
	line-height: 2.1;
	overflow: hidden;
}

section.six iframe{
	margin: 0 auto 30px;
	display: block;
}

section.about{
	width: 1080px;
	height: auto;
	margin: 40px auto 60px;
	padding-bottom: 20px;
}

section.about h2{
  position: relative;
  background: #D2EEFF;
  padding: 5px 5px 5px 33px;
  font-size: 23px;
  color: #474747;
  border-radius: 0 10px 10px 0;
  margin-bottom: 30px;
  font-weight: 700;
}

section.about h2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f6cf";
  display: inline-block;
  line-height: 50px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #00a0e9;
  font-weight: 900;
  width: 50px;
  text-align: center;
  height: 50px;
  line-height: 50px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 4px white; 
  border-radius: 50%;
}

.ab{
	width: 100%;
	border-top: 1px solid #dadada;
}

.ab dl{
	width: 100%;
}

.ab dt{
	float: left;
	line-height: 25px;
	min-height: 25px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	width: 130px !important;
	padding: 25px 0;
}

.ab dd{
	font-size: 16px;
	padding: 25px 25px 25px 160px;
	text-align: left;
	line-height: 1.5;
	min-height: 25px;
	border-bottom: 1px solid #ccc;
}

.bgfa{
	background: #fafafa;
}

section.pp{
	width: 1080px;
	height: auto;
	margin: 40px auto 70px;
}

section.pp h2{
  position: relative;
  background: #D2EEFF;
  padding: 5px 5px 5px 33px;
  font-size: 23px;
  color: #474747;
  border-radius: 0 10px 10px 0;
  margin-bottom: 30px;
  font-weight: 700;
}

section.pp h2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f6cf";
  display: inline-block;
  line-height: 50px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #00a0e9;
  font-weight: 900;
  width: 50px;
  text-align: center;
  height: 50px;
  line-height: 50px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 4px white; 
  border-radius: 50%;
}

section.pp h3{
	width: 100%;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 25px;
}

section.pp h4{
	width: 90%;
	font-size: 20px;
	font-weight: 700;
	margin: 0 auto 20px;
}

section.pp p{
	width: 90%;
	margin: 0 auto 30px;
	line-height: 1.9;
	font-size: 14px;
	overflow: hidden;
}

a:hover{
	opacity: 0.8;
	font-weight: 700;
}

.center{
	display: block;
	margin: 0 auto;
	text-align: center;
}

span.red{
	font-weight: 700;
	color: #ED1C24;
}

span.blue{
	font-weight: 700;
	color: #00a0e9;
}

/* ------------ footer ---------------- */

footer{
	width: 1060px;
	height: 30px;
	margin: 0 auto;
	background: #fff;
	border-top: 1px solid #111;
	padding: 20px 70px;
	text-shadow: none;
	font-size: 14px;
}

footer ul{
	width: 660px;
	height: 30px;
	float: left;
}

footer li{
	width: auto;
	height: 20px;
	margin-right: 25px;
	float: left;
}

footer li a{
	text-decoration: underline;
	color: #111;
}

footer li a:hover{
	opacity: 0.8;
}

footer p.cr{
	width: 400px;
	height: 20px;
	float: right;
	text-align: right;
}


/* ------------ form ---------------- */

section.mail{
	width: 1080px;
	height: auto;
	margin: 40px auto 60px;
	padding-bottom: 20px;
}

section.mail h2{
  position: relative;
  background: #D2EEFF;
  padding: 5px 5px 5px 33px;
  font-size: 23px;
  color: #474747;
  border-radius: 0 10px 10px 0;
  margin-bottom: 30px;
  font-weight: 700;
}

section.mail h2:before {
  font-family: "Font Awesome 5 Free";
  content: "\f6cf";
  display: inline-block;
  line-height: 50px;
  position: absolute;
  padding: 0em;
  color: white;
  background: #00a0e9;
  font-weight: 900;
  width: 50px;
  text-align: center;
  height: 50px;
  line-height: 50px;
  left: -1.35em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border: solid 4px white; 
  border-radius: 50%;
}

section.mail p{
	width: 90%;
	margin: 0 auto 30px;
	line-height: 1.8;
	overflow: hidden;
}

section.mail h4{
	width: 90%;
	font-size: 20px;
	font-weight: 700;
	margin: 0 auto 20px;
}

section.mail span.red{
	font-size: 14px;
	margin-left: 23px;
}

#mailform{
	width: 750px;
	margin: 40px auto;
	padding: 50px 60px;
	overflow: hidden;
	position: relative;
	border: solid 1px #111;
	background: #fafafa;
}

#mailform table{
	width: 700px;
	font-size: 18px;
	line-height: 150%;
	text-align:left;
}

#mailform td.memo{
	width: 300px;
}n

#mailform th , #mailform td{
	padding: 15px 0;
	vertical-align:top;
}

#mailform th{
	font-size: 17px;
	line-height: 1.0;
	padding-right: 15px;
	font-weight:bold;
	width: 110px;
}

#mailform th.memo{
	font-size: 17px;
	line-height: 1.3;
	padding-right: 15px;
	font-weight:bold;
	width: 110px;
}

#mailform td select{
	padding: 8px 0;
	text-indent: 10px;
	font-size: 17px;
}

#mailform td input{
	padding: 5px 0;
	text-indent: 10px;
	font-size: 17px;
	width: 350px;
}

#mailform td textarea{
	font-size: 17px;
	width: 500px;
	height: 180px;
}

#mailform .btn{
	width: 700px;
	margin: 20px 0;
	text-align:center;
}

#mailform .btn p{
	width: 700px;
	font-size: 17px;
	text-align: center;
	font-weight: normal;
}

#mailform .btn input{
	margin: 30px 20px 0;
	padding: 5px 40px;
	font-size: 17px;
	font-weight: bold;
	background: #111;
	border-radius: 5px;
	cursor:pointer;
	color: #fff;
}

#mailform .btn input:hover{
	opacity: 0.7;
}


/* チェックボックス01 */
input[type=checkbox] {
    display: none;
}
.checkbox01 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 0px 30px 10px;
    position: relative;
    width: auto;
}
.checkbox01::before {
    background: #fff;
    border: 1px solid #231815;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -13px;
    position: absolute;
    top: 50%;
    width: 16px;
}
.checkbox01::after {
    border-right: 3px solid #00a0e9;
    border-bottom: 3px solid #00a0e9;
    content: '';
    display: block;
    height: 9px;
    left: 10px;
    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: 0px 30px 10px;
    position: relative;
    width: auto;
}
.radio01::before {
    background: #fff;
    border: 1px solid #231815;
    border-radius: 50%;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -13px;
    position: absolute;
    top: 50%;
    width: 16px;
}
.radio01::after {
    background: #00a0e9;
    border-radius: 50%;
    content: '';
    display: block;
    height: 10px;
    left: 9px;
    margin-top: -9px;
    opacity: 0;
    position: absolute;
    top: 50%;
    width: 10px;
}
input[type=radio]:checked + .radio01::after {
    opacity: 1;
}

