/*
 Theme Name:   Twenty Nineteen Child
 Theme URI:    http://example.com/twentynineteen-child/
 Description:  Twenty Nineteen Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     twentynineteen
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  twenty-fifteen-child
*/



/* ==================================================================
CSS information
================================================================== */
html {
  font-size: 62.5%;
	height:100%;
	overflow-x:hidden;
}
html img{
	max-width:100%;	
}
html *{
	box-sizing:border-box;
}

/* --------------------------------------------------------
	body
-------------------------------------------------------- */
body {
	position:relative;
	box-sizing: border-box;
	background: #fff;
	width: 100%;
	max-width:100%;
	font-size: 1.6rem;
	max-width:100%;
	height:100%;
	min-height:100%;
}
#wrap{
	width: 100%;
	position: relative;
	height:auto !important; /*IE6対策*/
	height: 100%; /*IE6対策*/
	min-height: 100%;
}
#page{
	position: relative;
	padding-bottom: 100px;
}
h1 {
	font-size: 1rem;
	color: #13679a;
	padding-top: 8px;
}
h2 {
	color: #409eff;
	font-size: 3rem;
	z-index: 2;
	display: inline-block;
	background: linear-gradient(0deg, #409eff, #996ccd, #ea4176, #fdcb00);
	background: -webkit-linear-gradient(0deg, #409eff, #996ccd, #ea4176, #fdcb00);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-align: center;
}
h2 .ja {
	display: block;
	font-size: 1rem;
	position: initial;
	margin-bottom: 1rem;
}
p {
	font-size: 1.6rem;
}
.note {
	font-size: 1.6rem;
}
a:link {
	color: #409eff;
	text-decoration: none;
	font-weight: bold;
}
a:visited {
	color: #409eff;
	text-decoration: none;
	font-weight: bold;
}
a:hover {
	color: #409eff;
	text-decoration: underline;
}
@media only screen and (max-width: 767px) {
	body {
		font-size: large;
	}
}
#fb_box {
	display: none;
}
/* 基本のスタイル */
.delighter{
	transition: all .8s ease-out;
	transform: translateY(10%);
	opacity: 0;
}
.delighter.started {
	/* スタート時のスタイル */
	transform: none;
	opacity: 1;
}
.delighter.started.ended {
	/* エンド時のスタイル */
}
@keyframes spin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #fff;
	z-index: 9999;
	opacity: 1;
}
#loader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 200px;
	margin-top: -100px;
	margin-left: -100px;
	text-align: center;
	color: #13679a;
	z-index: 9999;
}
.loader {
	border: 12px solid #409eff;
	border-top: 12px solid #fff;
	border-radius: 50%;
	position: relative;
	left: 20%;
	bottom: 4%;
	width: 100px;
	height: 100px;
	animation: spin 1s linear infinite;
}
/* --------------------------------------------------------
	#header
-------------------------------------------------------- */
#header {
	padding: 0 10px;
	display: block;
	z-index: 1000;
	width: 100%;
	transition: 2s ease;
}
#header li {
	display: block;
	margin: 0;
	padding: 0;
}
#header li a {
	display: block;
	padding: 16px 0 16px;
	font-size: 1.6rem;
	color: #409eff;
	text-align: center;
	text-decoration: none;
}
#header li a:hover {
	color: #ea4176;
}
#header.headerscroll {
	position: fixed;
	background-color: #fff;
	top:0;
}
#header.headerscroll li a {
	color: #409eff;
}
#header.headerscroll li a:hover {
	color: #ea4176;
}
#header #headerInner {
	position: relative;
	max-width: 850px;
	margin: 0 auto;
}
#header #headerInner p {
	text-align: right;
}
#header #headerInner #nav-drawer {
	position: relative;
}
#header .headerInnerGroup {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header .headerInnerGroup .textLink:hover {
	opacity: 0.7;
}
#header .headerInnerGroup .siteLogo {
	width: 160px;
	text-align: left;
	margin:0;
}
#header .headerInnerGroup .siteLogo img {
	height: 40px;
	margin-bottom: 10px;
}
/*スマホハンバーガー*/
@media only screen and (max-width: 767px) {
	/*ハンバーガーボタン*/
	.el_humburger {
		position: fixed;
		z-index: 20;
		cursor: pointer;
		pointer-events: auto;
		color: #000;
		text-align: center;
		display: block;
		right: 0;
		top: 0;
		padding-top: 20px;
		width: 70px;
		height: 70px;
	}
	.el_humburger_wrapper {
		display: inline-block;
		margin-bottom: 5px;
		width: 30px;
	}
	.el_humburger span.el_humburger_bar {
		display: block;
		width: 100%;
		margin: 0 auto 8px;
		height: 2px;
		background: #409eff;
		-webkit-transition: all .2s ease-in-out;
		-moz-transition: all .2s ease-in-out;
		transition: all .2s ease-in-out;
		left: 0;
		top: 0;
		background: #409eff;
	}
	.el_humburger span.el_humburger_bar:last-child {
		margin-bottom: 0;
	}
	.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
		-webkit-transform: translateY(9px) rotate(-45deg);
		-ms-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
	}
	.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
		opacity: 0;
	}
	.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
		-webkit-transform: translateY(-11px) rotate(45deg);
		-ms-transform: translateY(-11px) rotate(45deg);
		transform: translateY(-11px) rotate(45deg);
	}
	.js_humburgerOpen #menu {
		width: 55%;
		padding:60px 0 0 0;
	}
	#menu {
		position: fixed;
		right: 0;
		top: 0;
		height: 100%;
		background-color: #fff;
		width: 0;
		z-index: 3;
		padding-top: 100px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-transition: all 600ms ease-out;
		-moz-transition: all 600ms ease-out;
		transition: all 600ms ease-out;
		overflow: hidden;
		-webkit-backface-visibility:hidden;
		backface-visibility:hidden;
	}
	#menu li {
		white-space: nowrap;
	}
	#menu li a {
		padding:5%;
		font-size: 2rem;
	}
	#menu li.op_innerLink {
		cursor: pointer;
	}
}
/*PC向け*/
@media only screen and (min-width: 768px) {
	#menu {
		width: 100%;
		margin: 0 auto;
		padding: 0;
		display: flex;
		bottom: 0;
		min-height: 70px;
		max-width: 850px;
	}
	#menu li {
		width: 25%;
	}
}
/* --------------------------------------------------------
	#container
-------------------------------------------------------- */
.home #container {
	width: 100%;
	margin: 0 auto ;
	overflow: hidden;
}
#container {
	width:800px;
	max-width: 100%;
	margin: 0 auto 30px;
}
/* --------------------------------------------------------
	#main
-------------------------------------------------------- */
@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-moz-keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0.9;
	}
}
@-webkit-keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0.9;
	}
}
@-moz-keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0.9;
	}
}
#mainvisual {
	background-color: #13679a;
	position: relative;
}
#mainvisual img {
	max-width: 120%;
	opacity: 0.9;
	animation: fadeOut 8s ease 0s 1 normal;
	-webkit-animation: fadeOut 8s ease 0s 1 normal;
	-moz-animation: fadeOut 8s ease 0s 1 normal;
}
#mainvisual h2 {
	position: absolute;
	margin: auto;
	text-align: center;
	font-size: 4rem;
	line-height: 4rem;
	left: 0;
	right: 0;
	top: calc(100%/3);
	padding: 10px;
	animation: fadeIn 5s ease 0s 1 normal;
	-webkit-animation: fadeIn 5s ease 0s 1 normal;
	-moz-animation: fadeIn 5s ease 0s 1 normal;
	opacity: 1;
}
#mainvisual h2 img {
	max-width: 640px;
}
#vision {
	padding: 2rem 0;
	animation: vision 0.8s;
	-moz-animation: vision 0.8s;
	-webkit-animation: vision 0.8s;
	box-sizing: border-box;
	display: block;
}
#vision p {
	text-align: left;
	max-width: 850px;
	margin: auto;
	display: inline-block;
}
.section {
	margin: 0 auto;
	position: relative;
	padding: 50px 0;
}
.section .inner {
	max-width: 850px;
	padding: 10px;
	margin: auto;
	position: relative;
}
.section .inner p {
	margin-bottom: 30px;
}
.section .inner pa:hover {
	opacity: 0.7;
	text-decoration: none;
}
.section .inner img {
	max-width: 100%;
}
.section .inner .screen a {
	display: block;
	width: 200px;
	margin: auto;
	background-color: #fff;
	padding: 20px;
	border-radius: 5px;
	color: #fff;
	text-align: center;
}
/*
h4 {
  margin: 0 0 15px 0;
  padding: 2px 0 0 5px;
  border-left: 5px solid #409eff;
  font-size: 139%;
  font-weight: bold;
}*/
p.flow {
  height: 60px;
  margin: 0 auto;
  padding-bottom: 20px;
}
.title {
  background-repeat: no-repeat;
  padding-left: 40px;
  padding-top: 5px;
  font-size: 2rem;
  margin: 30px auto 15px;
}
.bottom_space {
  margin-bottom: 20px;
}
@media only screen and (max-width: 767px) {
  .section {
    padding: 10px;
  }
  #mainvisual {
    height: auto;
  }
  #mainvisual h2 {
    background-clip: text;
    -webkit-background-clip: text;
    top: calc(100%/5);
  }
  #vision p {
    position: relative;
    top: 0;
    bottom: 0;
  }
}
@media only screen and (max-width: 480px) {
  #mainvisual #vision p {
    font-size: 1.6rem;
  }
}

/* --------------------------------------------------------
	#service
-------------------------------------------------------- */
#service {
  background-color: #e2f2fd;
  overflow: hidden;
  background-image: url(../../uploads/img/service.jpg);
  background-position: top;
  background-size: cover;
}
#service h2 {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: 10px;
  text-align: center;
}
#service ul {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 80px 0 128px;
}
#service ul a {
  color: #000;
  font-weight: normal;
  width: 31%;
  display: block;
  box-sizing: border-box;
  text-decoration: none;
  justify-content: space-between;
}
#service ul a:hover {
  cursor: pointer;
  text-decoration: none;
}
#service ul a:hover .btn:after {
  transform: scale(1, 1);
}
#service ul li {
  display: flex;
  box-sizing: border-box;
  width: 100%;
  flex-direction: column;
  position: relative;
  padding: 16px;
  background-color: rgba(255, 255, 255, 0.6);
  opacity: 0;
  height: 100%;
}
#service ul li .btn {
  margin-top: auto;
  text-align: right;
  color: #13679a;
  font-weight: bold;
  position: relative;
}
#service ul li .btn:after {
  position: absolute;
  bottom: -4px;
  right: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #13679a;
  transform: scale(0.5, 1);
  transform-origin: right top;
  transition: transform .3s;
  width: 120px;
}
#service ul li.delighter {
  transform: translateX(-80px);
}
#service ul li.delighter.started {
  /* スタート時のスタイル */
  opacity: 0;
}
#service ul li.delighter.started.ended {
  /* エンド時のスタイル */
  opacity: 1;
  transform: translateX(0);
}
#service dl {
  display: block;
}
#service dl dt {
  font-size: 1.6rem;
  font-weight: bold;
}
#service dl dd {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  #service ul {
    display: block;
  }
  #service ul a {
    width: 100%;
    margin-bottom: 20px;
  }
  #service ul a li {
    width: 100%;
  }
}

/* --------------------------------------------------------
	#recruit
-------------------------------------------------------- */
#recruit_box {
  margin-top: -30px;
  padding-top: 30px;
}
#recruit {
  padding: 50px 0 0 0;
  background-color: #fff;
  position: relative;
}
#recruit::before {
  content: "";
  position: absolute;
  top: -100px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 100px 100vw;
  border-color: transparent transparent #fff transparent;
}
#recruit .inner {
  display: table;
  padding: 0;
}
#recruit .inner p.delighter {
  transform: translateX(-50px);
}
#recruit .inner p.delighter.started {
  /* スタート時のスタイル */
  opacity: 0;
}
#recruit .inner p.delighter.started.ended {
  /* エンド時のスタイル */
  opacity: 1;
  transform: translateX(0);
}
#recruit .inner img {
  width: 440px;
  height: auto;
  display: table-cell;
  padding: 4px;
  box-sizing: border-box;
}
#recruit .inner .txt {
  display: table-cell;
  width: 50%;
  padding: 20px;
  vertical-align: middle;
  text-align: right;
}
#recruit .inner .txt .btn {
  padding: 10px 20px;
  border-radius: 3px;
  background: #409eff;
  font-size: 100%;
  color: #fff;
  box-shadow: #13679a 0px 2px 0px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-decoration: none;
}
#recruit .inner .txt .btn:hover {
  background: #ea4176;
  box-shadow: #c93a69 0px 2px 0px;
}
#recruit h2 {
  position: absolute;
  top: 0;
  right: 10px;
  padding: 10px;
  text-align: center;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  #recruit .inner {
    display: block;
  }
  #recruit .inner .txt {
    text-align: left;
  }
  #recruit .inner .txt p:last-child {
    text-align: center;
  }
}
/* --------------------------------------------------------
	#news
-------------------------------------------------------- */
#news_box {
  padding-top: 100px;
  margin-top: -100px;
}
#news .whatsnew {
  padding: 20px;
  background-color: #fff;
  border: 1px solid #ea4176;
  border-radius: 3px;
  box-sizing: border-box;
}
#news dl a{}
#news dl a:hover{
	text-decoration:none;
}
#news dl a dt{	
	color:#333;
	display:inline;
}
#news dl a dd{
	font-weight:normal;
	margin-left:1rem;
	display:block;
}
#news .newmark{
	color:#fff;
	background-color:#ea4176;
	border-radius:4px;
	padding:2px 4px;
	font-size:1rem;
}
#news a.btn{
    position: absolute;
    right: 20px;
    top: 30px;
    z-index: 3;
    padding: 0.7rem;
    font-size: 1rem;
    border: solid;
    border-radius: 5px;
    background-color: #ea4076;
    color: #fff;
}
#news a.btn:hover{
	text-decoration:none;
	opacity:0.7;
}
@media only screen and (max-width: 767px) {
  #news {
    padding: 8px;
  }
}
/* --------------------------------------------------------
	#company
-------------------------------------------------------- */
#company {
  padding-top: 50px;
  background-color: #e2f2fd;
}
#company .inner {
  position: relative;
  padding-top: 50px;
}
#company::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 0 0 100vw;
  border-color: white transparent transparent #e2f2fd;
}
#company dl {
  font-size: 1.6rem;
}
#company dl dt {
  font-weight: bold;
  color: #409eff;
  margin-top: 10px;
}
#company dl dd.address, #company dl dd.map {
  vertical-align: top;
  display: inline-block;
  max-width: 100%;
  width: 48%;
}
#company dl dd.address iframe, #company dl dd.map iframe {
  width: 100%;
  max-width: 100%;
}
#company dl dd.ceo dl {
  display: table;
  table-layout: fixed;
  width: 260px;
}
#company dl dd.ceo dl dt {
  color: #13679a;
  display: table-cell;
  font-weight: normal;
  margin-right: 1rem;
}
#company dl dd.ceo dl dd {
  display: table-cell;
}
@media only screen and (max-width: 767px) {
  #company dl dd.address, #company dl dd.map {
    width: 100%;
  }
  #company dl dd.address iframe, #company dl dd.map iframe {
    margin: 10px 0;
  }
}
/* --------------------------------------------------------
	#contact
-------------------------------------------------------- */
#contact {
  position: relative;
  margin-bottom: 50px;
  padding-top: 100px;
  background-color: #fff;
  position: relative;
}
#contact .delighter {
  transform: translateY(0);
  transform: translateX(-80px);
}
#contact .delighter.started {
  /* スタート時のスタイル */
  transform: translateY(0);
  transform: translateX(0);
}
#contact .delighter.started.ended {
  /* エンド時のスタイル */
  opacity: 1;
  transform: translateY(0);
  transform: translateX(0);
}
#contact:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 100px 100vw;
  border-color: white transparent transparent #e2f2fd;
}
#contact h2 {
  position: absolute;
  top: 0;
  right: 10px;
  padding: 10px;
  text-align: center;
  z-index: 2;
}
form#mail_form {
  margin-top: 6rem;
}
form#mail_form * {
  margin: 0;
  padding: 0;
}
form#mail_form dl {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}
form#mail_form dl dt {
  clear: both;
  width: 30%;
  float: left;
  padding: 15px 0;
  text-align: right;
  overflow: hidden;
}
form#mail_form dl dt:first-child, form#mail_form dl dt:first-child + dd {
  border: none;
}
form#mail_form dl dt span {
  display: block;
  font-size: 85%;
  color: #13679a;
}
form#mail_form dl dt span.required {
  background: #ea4176;
  border: 1px solid #c93a69;
}
form#mail_form dl dt span.optional {
  background: #409eff;
  border: 1px solid #13679a;
}
form#mail_form dl dt span.required, form#mail_form dl dt span.optional {
  display: inline-block;
  float: left;
  color: #fff;
  padding: 4px 10px;
  border-radius: 3px;
}
form#mail_form dl dd {
  width: 69%;
  float: right;
  padding: 15px 0 15px 1%;
}
form#mail_form dl dd span.error_blank, form#mail_form dl dd span.error_format, form#mail_form dl dd span.error_match {
  display: block;
  color: #ff0000;
  margin-top: 3px;
}
form#mail_form input[type="text"],
form#mail_form input[type="email"] {
  max-width: 98%;
  padding: 7px 2%;
  border: 1px solid #ccc;
  border-radius: 3px;
  background: #fafafa;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 100%;
  font-family: inherit;
}
form#mail_form input[type="button"] {
  padding: 7px 20px;
  border: 1px solid #409eff;
  border-radius: 3px;
  background: #409eff;
  font-size: 100%;
  color: #ffffff;
  font-family: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-shadow: #13679a 0px 2px 0px;
}
form#mail_form input[type="button"]:hover {
  cursor: pointer;
  background: #ea4176;
  border: 1px solid #ea4176;
  box-shadow: #c93a69 0px 2px 0px;
}
form#mail_form input#address {
  width: 90%;
}
form#mail_form input#company,
form#mail_form input#name_1,
form#mail_form input#name_2,
form#mail_form input#read_1,
form#mail_form input#read_2,
form#mail_form input#postal,
form#mail_form input#phone,
form#mail_form input#schedule,
form#mail_form input#mail_address,
form#mail_form input#mail_address_confirm {
  width: 95%;
}
form#mail_form input#postal + a {
  display: inline-block;
  padding: 5px 15px;
  border: 1px solid #46b8da;
  border-radius: 3px;
  background: #5bc0de;
  font-size: 100%;
  color: #ffffff;
  text-decoration: none;
}
form#mail_form input#postal + a:hover {
  cursor: pointer;
  background: #31b0d5;
  border: 1px solid #269abc;
}
form#mail_form input[type="text"]:focus,
form#mail_form input[type="email"]:focus,
form#mail_form textarea:focus {
  box-shadow: 0px 0px 5px #55ccff;
  border: 1px solid #55ccff;
  background: #ffffff;
}
form#mail_form ul {
  list-style-type: none;
}
form#mail_form ul li label:hover {
  cursor: pointer;
}
form#mail_form ul li input[type="radio"],
form#mail_form ul li input[type="checkbox"] {
  margin-right: 10px;
  margin-top: 10px;
}
form#mail_form ul li:first-child input[type="radio"],
form#mail_form ul li:first-child input[type="checkbox"] {
  margin-top: 0px;
}
form#mail_form select {
  font-size: 100%;
  font-family: inherit;
  margin-top: 10px;
}
form#mail_form textarea {
  display: block;
  width: 95%;
  max-width: 100%;
  height: 200px;
  padding: 7px 2%;
  resize: vertical;
  border: 1px solid #ccc;
  border-radius: 3px;
  background: #fafafa;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-size: 100%;
  font-family: inherit;
}
form#mail_form p#form_submit {
  width: 90%;
  margin: 0 auto;
  text-align: center;
  padding: 15px 0;
}

span.loading {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border-left: 5px solid #fff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load-circle 1.0s linear infinite;
  animation: load-circle 1.0s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px;
}

@-webkit-keyframes load-circle {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes load-circle {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* -- responsive ----------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 767px) {
  form#mail_form {
    font-size: 100%;
  }
  form#mail_form dl {
    overflow: visible;
  }
  form#mail_form dl dt {
    width: auto;
    float: none;
    text-align: left;
    padding: 15px 0 5px;
    font-weight: bold;
  }
  form#mail_form dl dt span {
    font-weight: normal;
  }
  form#mail_form dl dt span.required, form#mail_form dl dt span.optional {
    margin-right: 1em;
  }
  form#mail_form dl dd {
    width: auto;
    float: none;
    border-top: none;
    padding: 0px 0 20px 0px;
  }
  form#mail_form input[type="text"],
  form#mail_form input[type="email"],
  form#mail_form input[type="tel"] {
    margin-top: 0px;
  }
  form#mail_form input#postal + a {
    padding: 6px 15px 5px;
  }
  form#mail_form input#form_submit_button {
    margin-left: 0;
  }
  form#mail_form select {
    font-size: 16px;
    margin-top: 0;
  }
  form#mail_form input#phone,
  form#mail_form input#schedule {
    width: 50%;
  }
}

/* --------------------------------------------------------
	#footer
-------------------------------------------------------- */
#footer {
	width:100%;
  margin-top: 60px;
  position: absolute;
	bottom:0;
  background-color: #409eff;
  color: #fff;
  vertical-align: middle;
  margin: auto;
}
#footer #footerInner {
  position: relative;
  max-width: 850px;
  text-align: right;
  margin: -1px auto auto auto;
}

#footer #footerInner #copy {
  padding: 20px;
}
#footer::before {
  content: "";
  position: absolute;
	bottom:0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 100px 100vw;
  border-color: transparent transparent #409eff transparent;
}
#footer::before {
  top: -99px;
}
#toTop {
  transition: .8s ease-out;
  opacity: 1;
  position: fixed;
  bottom: 10%;
  right: 10%;
  z-index: 1000;
  width: 50px;
  height: 50px;
  font-size: 30px;
}
#toTop.headerscroll {
  opacity: 0;
}
#toTop a {
  width: 50px;
  height: 50px;
  display: block;
  text-decoration: none;
  text-align: center;
  color: #409eff;
  background-image: url(../../uploads/img/totop.png);
  background-size: contain;
}
#toTop a:after {
  position: absolute;
  content: "";
  width: 0px;
  top: 0;
  height: 18px;
  border-right: 12px solid transparent;
  border-bottom: 12px solid #c93a69;
  border-left: 12px solid transparent;
  left: 13px;
}
#toTop:hover {
  opacity: 0.2;
}
@media only screen and (max-width: 767px) {
  #toTop {
    display: none;
  }
  #footer #footerInner #copy {
    position: relative;
    padding: 0 10px;
  }
}

/*202001追加*/
.product .section .inner{
	padding:0;
}
.product #main .title,
.activities #main .title {
	position: absolute;
    display: block;
	z-index: 2;
	font-size: 3rem ;
	font-weight:bold;
	color: #fff;
	-webkit-text-fill-color:#fff;
	margin: auto;
}
.product #main h3{
	margin: 40px auto 20px;
    font-size: 130%;
    text-align: center;
}
.product #main .point li{
	color: #333;
	margin-left: 20%;
	width:60%;
}
.product #main .point li:first-child{
	margin-left: 0;
}
.product #main .point li:last-child{
	margin-left: 40%;
}
.product #main .point dl{    
	display: table;
    background: #fafdff;
    width: 100%;
    border: solid 1px #e2f2fd;
    margin-bottom: 10px;
    padding: 10px;
    box-sizing: border-box;
}
.product #main .point dl dt{
	white-space: nowrap;
	vertical-align: middle;
	color: #409eff;
	padding-right: 1rem;
}
.product #main .point dl dt,.product #main .point dl dd{
	display: table-cell;
	text-align: left;
}
.product #main .point h4{
	color: #666;
}
.product #main .flow{
	background-color: #e2f2fd;
	padding: 20px;
}
.product #main .flow .step{
	 counter-reset: number;
	 position: relative;
}
.product #main .flow .step li{
	position: relative;
	background-color: #fff;
	margin: 20px auto 30px;
	padding: 20px;
	font-size: 1.5rem;
	border-radius: 3px;
	color: #13679a;
	text-align: center;
}
.product #main .flow .step li:nth-child(even){
	background-color: #13679a;
	color: #fff;
}
.product #main .flow .step li::before{
	text-align: left;
	counter-increment: number;
	content: counter(number);
    position: absolute;
    display: inline-block;
    margin: auto;
    left: 1rem;
    right: 1rem;
    top: 2rem;
    bottom: 1rem;
}
.product #main .flow .step li::after{
	position: absolute;
	left: 0;
	right: 0;
	bottom: -40px;
	margin:0 auto 17px;
	content: "";
	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 15px solid #333;
}
.product #main .flow .step li:last-child:after{
	content: none;
}
.product #main .case {
	display: flex;
	justify-content:space-between;
	margin-bottom:40px;
}
.product #main .case li{
	padding:0;
	border-radius: 3px;
	box-shadow: 1px 1px 3px;
	width:32%;
	max-width: 100%;
}
.product #main .case li h4{
	font-size: 100%;
    background: #13679a;
    color: #fff;
    text-align: center;
	padding: 1rem ;
}
.product #main .case li p{
	padding: 10px;
}
.product .img,.activities .img{
	background-color: #000;
	position: relative;
}
.product .img p,.activities .img p{
	position: absolute;
	bottom: 0;
	text-align: left;
	color: #fff;
	padding: 20px;
}
.product img,.activities img{
	opacity: 0.8;
}
.activities .activities-list{
	padding: 10px;
	box-shadow: 1px 1px 3px;
	border-radius: 3px;
    width: auto;
    margin: auto auto 20px;
}
.activities .activities-list h4{
	font-size:2rem;
}
@media only screen and (max-width: 768px){
	.product #main .point li,.product #main .point li:last-child{
		margin: 0;
		width: 100%;
	}
	.product #main .case {
		display: block;
	}
	.product #main .case li{
		width: auto;
		margin-bottom: 20px;
	}
	.product .img p, .activities .img p{
		font-size:80%;
	}
}

/* --------------------------------------------------------
	archive
-------------------------------------------------------- */
.archive{}
.archive #page{
	padding-bottom:120px;
}
.archive #page main{
	margin:auto;
	width:800px;
	max-width:100%;
	position:relative;
	flex-wrap: wrap;
	justify-content:space-between;
}
.archive #page article{
	margin: 0 0 40px 0;
	padding:1rem 1rem 2rem;
	border-radius: 4px;
	box-shadow: 0px 0px 2px 0px;
	box-sizing:initial;
}
.archive #page .entry-content{
}
.archive .entry-title{
	color:#ea4176;
	background:none;
	-webkit-text-fill-color:#409eff;
	white-space:nowrap;
	display:inline-block;
	overflow:hidden;
	text-overflow: ellipsis;
	text-align:left;
    max-width: 100%;
    font-size: 2rem;
	border-left: 4px solid #409eff;
	padding-left:2px;
	margin-bottom:1.5rem;
}
.archive .entry-title a:visited{
	color:#13679a;
}
.archive #page .entry-footer{
	text-align:right;
}
.archive #page .entry-footer span{
	display:none;	
}
.archive .pagination {
    text-align: center;
    margin: 20px auto 60px;
    border-bottom: solid 1px;
    width: 100%;
}
.archive .pagination:last-child {
	border-bottom:none;
}
@media only screen and (max-width: 767px) {
	.archive #page article{
		margin:20px;
	}
}
.single-post #page{
	margin:auto;
	width:800px;
	max-width:100%;
	padding-bottom:180px;
}
.single-post #page article{
	margin: 20px ;
    padding: 1rem;
    border-radius: 4px;
    box-shadow: 0px 0px 2px 0px;
    box-sizing: initial;
}
.single-post #page .entry-title{
	font-size:2rem;
}
.single-post #page .entry-header h2{
	text-align:left; 
	max-width: 100%;
   font-size: 2.5rem;
	border-left: 4px solid #409eff;
	padding-left:2px;
	-webkit-text-fill-color: #333;
	margin-bottom:.5rem;
	background:none;
}
.single-post #page .date,.archive #page .date{
	text-align:right;
	font-size:1rem;
}
.single-post #page .entry-meta{
	display:none;
}
.single-post #page .entry-footer{
	display:none;
}
.single-post #page .back_page{
	text-align:center;
}
.single-post #page .btn{
	padding: 10px 20px;
    border-radius: 3px;
    background: #409eff;
    font-size: 100%;
    color: #fff;
    box-shadow: #13679a 0px 2px 0px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-decoration: none;
}
.single-post #page .btn:hover{
	background-color:#ea4176;
	box-shadow: #c93a69 0px 2px 0px;
}
.privacy .section,.privacy .section .inner,
.specific .section,.specific .section .inner{
	padding-top:0;
}
.privacy dl dt{
	font-weight:bold;
	font-size:2rem;
	margin-top:1rem;
}
.privacy dl dd{
	font-size:1.5rem;
}
.specific .section{
	margin:auto;
	max-width:850px;
}
.specific dl dt{
	font-weight:bold;
	font-size:2rem;
	margin-top:1rem;
}
.specific dl dd{
	font-size:1.5rem;
}
.page-id-15 .btn{
	text-align:center;
}
.page-id-15 .btn a{
	padding: 10px 20px;
   border-radius: 3px;
   background: #409eff;
   font-size: 100%;
   color: #fff;
   box-shadow: #13679a 0px 2px 0px;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   text-decoration: none;
	text-align:center;
}
.page-id-15 .btn a:hover{
	background: #ea4176;
   box-shadow: #c93a69 0px 2px 0px;
}
a.post-edit-link{
	position:relative;
	z-index:99;
}