@charset "utf-8";

img {
	-webkit-backface-visibility: hidden;
}
main {
    display: block;
}
.fax a{
	pointer-events: none;
    text-decoration: none;
}
.wpcf7-list-item {
	display: inline-block;
	white-space: nowrap;
}


/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
.sp {
	display: none;
}
a img {
  transition: 0.3s;
}
a img:hover {
  opacity: 0.75;
}
header {
	width: 100%;
	background-color: #fff;
	height: 80px;
	line-height: 80px;
	position: fixed;
	left: 0px;
	top: 0px;
	right: 0px;
	z-index: 99999;
	padding-top: 20px;
	transition: 0.1s;
}
header.fixed {
  top: 0;
  transition: 0.1s;
}
header .inner {
	width: 90%;
	min-width: 800px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}
header .inner h1,
header .inner .logo
{
	position: relative;
	top: 18px;
}
header .inner nav {
	display: flex;
	justify-content: space-between;
}
header .inner nav ul {
	display: flex;
	justify-content: space-between;
}
header .inner nav ul li {
	margin-right: 40px;
	line-height: 80px;
}
header .inner nav ul li a {
	color: #393939;
	text-decoration: none;
	display: block;
}
header .inner nav ul li a:hover {
	color: #006AB6;
}
header .inner nav p a {
	width: 164px;
	height: 50px;
	display: block;
	text-decoration: none;
	background-color: #006AB6;
	color: #fff;
	line-height: 50px;
	border-radius: 100px;
	font-size: 14px;
	position: relative;
	top: 15px;
	transition: 0.3s;
}
header .inner nav p a:hover {
	transition: 0.3s;
	background-color: #D9E9F4;
	color: #006AB6;
}





body {
	overflow-x: hidden;
}
main {
	padding-top: 110px;
	min-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.ttl {
	font-size: 18px;
	text-align: left;
}
.ttl span {
	font-family: 'Jost', sans-serif;
	display: block;
	color: #0064B8;
	font-size: 76px;
	font-weight: 500;
	margin-bottom: 28px;
	line-height: 0.9em;
}
h1.ttl {
	text-align: center;
	margin-top: 60px;
}
h1.ttl span {
	margin-bottom: 10px;
}
main .btn {
	font-family: 'Jost', sans-serif;
	font-size: 14px;
}
main .btn a {
	display: block;
	color: #0064B8;
	text-decoration: none;
	font-weight: 500;
	position: relative;
	width: 150px;
	height: 50px;
	line-height: 50px;
}
main .btn a span {
	width: 50px;
	height: 50px;
	display: block;
	border-radius: 200px;
	background-color: #D9E9F4;
	text-align: center;
	position: absolute;
	right: 0px;
	top: 0px;
	background-image: url("../images/pc/arrow_blue.png");
	background-position: center center;
	background-size: 16px 7px;
	background-repeat: no-repeat;
	transition: 0.3s;
}
main .btn a span img {
	width: 15px;
	height: auto;
	position: relative;
	top: 22px;
	margin-left: auto;
	margin-right: auto;
}
main .btn a:hover span {
	background-color: #006AB6;
	background-image: url("../images/pc/arrow_white.png");
	transition: 0.3s;
}


main .btn2 {
	width: 208px;
	height: 50px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 40px;
}
main .btn2 a {
	display: block;
	background-color: #fff;
	border-radius: 100px;
	height: 50px;
	width: 208px;
	line-height: 50px;
	text-decoration: none;
	font-family: 'Jost', sans-serif;
	font-weight: 500;
	color: #0064B8;
	font-size: 14px;
	position: relative;
	background-image: url("../images/pc/arrow_blue.png");
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size: 16px 7px;
	transition: 0.3s;
}
main .btn2 a:hover {
	background-image: url("../images/pc/arrow_white.png");
	background-color: #0064B8;
	color: #fff;
	transition: 0.3s;
}





footer {
	background-color: #D9E9F4;
	margin-top: 120px;
	position: relative;
}
footer .inner {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	min-width: 800px;
	padding-top: 70px;
	padding-bottom: 70px;
}
footer .inner .flex {
	display: flex;
	justify-content: space-between;
	line-height: 50px;
}
footer .inner .flex h3 {
	position: relative;
	top: 15px;
}
footer .inner .flex nav {
	display: flex;
	justify-content: space-between;
}
footer .inner .flex nav ul {
	display: flex;
	justify-content: space-between;
}
footer .inner .flex nav ul li {
	margin-right: 40px;
	line-height: 80px;
}
footer .inner .flex nav ul li a {
	color: #393939;
	text-decoration: none;
	display: block;
}
footer .inner .flex nav ul li a:hover {
	color: #006AB6;
}
footer .inner .flex nav p a {
	width: 164px;
	height: 50px;
	display: block;
	text-decoration: none;
	background-color: #006AB6;
	color: #fff;
	line-height: 50px;
	border-radius: 100px;
	font-size: 14px;
	position: relative;
	top: 15px;
	transition: 0.3s;
}
footer .inner .flex nav p a:hover {
	color: #0064B8;
	background-color: #fff;
	transition: 0.3s;
}
footer p small {
	text-align: left;
	display: block;
	font-size: 12px;
	font-family: 'Jost', sans-serif;
	margin-top: 5px;
}
#pagetop {
	width: 50px;
	height: 50px;
	position: absolute;
	right: 20px;
	top: 85px;
}
#pagetop a {
	display: block;
	background-color: #fff;
	border-radius: 100px;
	width: 50px;
	height: 50px;
	background-image: url("../images/pc/pagetop.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 7px;
	transition: 0.3s;
}
#pagetop a:hover {
	background-image: url("../images/pc/pagetop_white.png");
	background-color: #0064B8;
	transition: 0.3s;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
img {
	max-width: 100%;
	height: auto;
	width: 100%;
}
.pc {
	display: none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
header {
	height: 18.67vw;
	line-height: 18.67vw;
	background-color: #fff;
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 99999;
	width: 100%;
}

header .inner {
	margin-right: auto;
	margin-left: auto;
	text-align: left;
	display: flex;
	justify-content: space-between;
	z-index: 10;
	position: relative;
}

header .inner h1,
header .inner .logo {
	width: 33.33vw;
	padding-left: 8vw;
	padding-top: 5.33vw;
}

header .inner h1:hover,
header .inner .logo:hover {
	opacity: 0.7;
}

#gnavbtn {
	width: 13.33vw;
	margin-right: 2.67vw;
	margin-top: 2.67vw;
}

#gnav {
	position: absolute;
	z-index: 1;
	width: 100%;
	background-color: #d9e8f4;
	top: 0vw;
	height: 100vh;
	overflow-x: scroll;
	display: none;
}

#gnav ul {
	padding-top: 26.67vw;
}

#gnav li a {
	color: #393939;
	text-decoration: none;
	display: block;
	text-align: left;
	line-height: 2em;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 2.67vw;
	padding-top: 5.33vw;
}
#gnav li a span {
	font-family: 'Jost', sans-serif;
	font-size: 9.6vw;
	font-weight: 500;
	color: #0064B8;
	display: block;
}
#gnav li+li a {
	border-top: 0.27vw solid #99c1e3;
}

#gnav ul + p {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2.67vw;
}
#gnav ul + p a {
	background-color: #0064B8;
	text-align: left;
	line-height: 2em;
	display: block;
	border-radius: 4.8vw;
	color: #fff;
	text-decoration: none;
	padding-top: 8vw;
	padding-left: 8vw;
	padding-bottom: 6.67vw;
	background-image: url("../images/sp/allow_white.png");
	background-repeat: no-repeat;
	background-size: 10.67vw;
	background-position: center right 8vw;
}
#gnav li a:hover {
	background-image: url("../images/sp/allow_blue.png");
	background-repeat: no-repeat;
	background-size: 10.67vw;
	background-position: center right;
}
#gnav ul + p a span {
	display: block;
	font-family: 'Jost', sans-serif;
	font-size: 9.6vw;
	font-weight: 500;
}


main {
	padding-top: 18.67vw;
}

.ttl {
	font-size: 4.8vw;
	text-align: center;
}
.ttl span {
	font-family: 'Jost', sans-serif;
	display: block;
	color: #0064B8;
	font-size: 16.8vw;
	font-weight: 500;
	margin-bottom: 2.67vw;
	line-height: 0.9em;
}
h1.ttl {
	text-align: center;
	margin-top: 15vw;
}
h1.ttl span {
	margin-bottom: 2.5vw;
}

main .btn {
	font-family: 'Jost', sans-serif;
	font-size: 3.73vw;
}
main .btn a {
	display: block;
	color: #0064B8;
	text-decoration: none;
	font-weight: 500;
	position: relative;
	width: 40vw;
	height: 13.33vw;
	line-height: 13.33vw;
}
main .btn a span {
	width: 13.33vw;
	height: 13.33vw;
	display: block;
	border-radius: 53.33vw;
	background-color: #D9E9F4;
	background-image: url("../images/pc/arrow_blue.png");
	background-position: center center;
	background-size: 5vw;
	background-repeat: no-repeat;
	transition: 0.3s;
	text-align: center;
	position: absolute;
	right: 0vw;
	top: 0vw;
}
main .btn a:hover span {
	background-color: #006AB6;
	background-image: url("../images/pc/arrow_white.png");
}



main .btn2 {
	width: 55.47vw;
	height: 13.33vw;
	margin-left: auto;
	margin-right: auto;
	margin-top: 10.67vw;
}
main .btn2 a {
	display: block;
	background-color: #fff;
	border-radius: 26.67vw;
	height: 13.33vw;
	width: 55.47vw;
	line-height: 13.33vw;
	text-decoration: none;
	font-family: 'Jost', sans-serif;
	font-weight: 500;
	color: #0064B8;
	font-size: 3.73vw;
	position: relative;
	background-image: url("../images/pc/arrow_blue.png");
	background-repeat: no-repeat;
	background-position: right 5vw center;
	background-size: 5vw;
	transition: 0.3s;
}
main .btn2 a:hover {
	background-image: url("../images/pc/arrow_white.png");
	background-color: #0064B8;
	color: #fff;
	transition: 0.3s;
}


footer {
	background-color: #D9E9F4;
	margin-top: 16vw;
	position: relative;
	padding-bottom: 5vw;
}
footer .inner {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 13.33vw;
	padding-bottom: 5vw;
}
footer .inner .flex {
	display: flex;
	flex-direction: column-reverse;
}
footer .inner .flex h3 {
	position: relative;
	width: 48vw;
	margin-left: auto;
	margin-right: auto;
	margin-top: 16vw;
}
footer .inner .flex nav ul li a {
	color: #393939;
	text-decoration: none;
	display: block;
	height: 13.33vw;
}
footer .inner .flex nav ul li a:hover {
	color: #006AB6;
}
footer .inner .flex nav p a {
	width: 43.73vw;
	height: 13.33vw;
	margin-left: auto;
	margin-right: auto;
	display: block;
	text-decoration: none;
	background-color: #006AB6;
	color: #fff;
	line-height: 13.33vw;
	border-radius: 26.67vw;
	font-size: 3.73vw;
	position: relative;
	top: 2.67vw;
}
footer .inner .flex nav p a:hover {
	color: #0064B8;
	background-color: #fff;
	transition: 0.3s;
}
footer p small {
	text-align: center;
	display: block;
	font-size: 3.2vw;
	font-family: 'Jost', sans-serif;
	margin-top: 8vw;
}
#pagetop {
	width: 13.33vw;  /* 50px */
	height: 13.33vw; /* 50px */
	margin-left: auto;
	margin-right: auto;
}

#pagetop a {
	display: block;
	background-color: #fff;
	border-radius: 26.66vw; /* 100px → 直径なので半径 = 50px → 13.33vw */
	width: 13.33vw;
	height: 13.33vw;
	background-image: url("../images/pc/pagetop.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 2vw;
	transition: 0.3s;
}


#pagetop a:hover {
	background-image: url("../images/pc/pagetop_white.png");
	background-color: #0064B8;
	transition: 0.3s;
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
.sp.tab {
	display: none;
}
}
