@charset "UTF-8";

/*--------------------------- 
　　　基本設定

font-family: 'Noto Sans JP', sans-serif; 100 300 400 500 700 900

[色]
maincolor: #084C82;青
subcolor:
--------------------------- */

html {
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 62.5%;
	line-height: 1;
}
html.hidden {overflow: hidden;}

body {
	position: relative;
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-display: swap;
	font-size: 1.6em;
	background-color: #fff;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
h1,h2,h3,h4,h5,h6,p {
	padding: 0;
	margin: 0;
	line-height: 1.6;
	margin-block-start: 0;
	margin-block-end: 0;
}
p {
	font-size: 1.4rem;
	letter-spacing: 0.03em;
}
p.sentence {
	font-size: 1.4rem;
	line-height: 1.6;
	text-align: justify;
	text-justify: inter-ideograph;
}
a {
	text-decoration: none;
	color: #000;
	transition: .3s ease;
	box-sizing: border-box;
	cursor: pointer;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
ul,ol {
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
	padding: 0;
}
dd {
	margin: 0;
}
@media screen and (min-width: 850px) {
	br.sp_none {
		display: none;
	}
}
@media screen and (min-width: 850px) {
	h1,h2,h3,h4,h5,h6,p {
		line-height: 2;
	}
	p {
		font-size: 1.6rem;
	}
	p.sentence {
		font-size: 1.6rem;
		line-height: 2;
	}
	br.pc_none {
		display: none;
	}
}
.container {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
}
.maB10 {margin-bottom: 10px;}
.maB20 {margin-bottom: 20px;}
.maB30 {margin-bottom: 30px;}
.maB40 {margin-bottom: 40px;}
.maB50 {margin-bottom: 50px;}
.maB60 {margin-bottom: 60px;}
.maB70 {margin-bottom: 70px;}
.maB80 {margin-bottom: 80px;}
.maB90 {margin-bottom: 90px;}
.maB100 {margin-bottom: 100px;}
.maB110 {margin-bottom: 110px;}
.maB120 {margin-bottom: 120px;}
.maB130 {margin-bottom: 130px;}
.maB140 {margin-bottom: 140px;}
.maB150 {margin-bottom: 150px;}

.paB10 {padding-bottom: 10px;}
.paB20 {padding-bottom: 20px;}
.paB30 {padding-bottom: 30px;}
.paB40 {padding-bottom: 40px;}
.paB50 {padding-bottom: 50px;}
.paB60 {padding-bottom: 60px;}
.paB70 {padding-bottom: 70px;}
.paB80 {padding-bottom: 80px;}
.paB90 {padding-bottom: 90px;}
.paB100 {padding-bottom: 100px;}
.paB110 {padding-bottom: 110px;}
.paB120 {padding-bottom: 120px;}
.paB130 {padding-bottom: 130px;}
.paB140 {padding-bottom: 140px;}
.paB150 {padding-bottom: 150px;}

@media screen and (max-width: 850px) {
.maB10 {margin-bottom: 5px;}
.maB20 {margin-bottom: 10px;}
.maB30 {margin-bottom: 15px;}
.maB40 {margin-bottom: 20px;}
.maB50 {margin-bottom: 25px;}
.maB60 {margin-bottom: 30px;}
.maB70 {margin-bottom: 35px;}
.maB80 {margin-bottom: 40px;}
.maB90 {margin-bottom: 45px;}
.maB100 {margin-bottom: 50px;}
.maB110 {margin-bottom: 55px;}
.maB120 {margin-bottom: 60px;}
.maB130 {margin-bottom: 65px;}
.maB140 {margin-bottom: 70px;}
.maB150 {margin-bottom: 75px;}
	
.paB10 {padding-bottom: 5px;}
.paB20 {padding-bottom: 10px;}
.paB30 {padding-bottom: 15px;}
.paB40 {padding-bottom: 20px;}
.paB50 {padding-bottom: 25px;}
.paB60 {padding-bottom: 30px;}
.paB70 {padding-bottom: 35px;}
.paB80 {padding-bottom: 40px;}
.paB90 {padding-bottom: 45px;}
.paB100 {padding-bottom: 50px;}
.paB110 {padding-bottom: 55px;}
.paB120 {padding-bottom: 60px;}
.paB130 {padding-bottom: 65px;}
.paB140 {padding-bottom: 70px;}
.paB150 {padding-bottom: 75px;}
}

#blank {
	height: 150px;
}
@media screen and (max-width: 850px){
	#blank { height: 60px; }
}

::selection {
    background: #FFFF00;
    color: #000;
}

/*Firefox*/
::-moz-selection {
    background: #FFFF00;
    color: #000;
}

@keyframes flash {
  0% { opacity: 1; }
  50% { opacity: 0; }
  100% { opacity: 1; }
}
@media screen and (max-width: 500px) {
	#loader img {
		width: 100px;
	}
}
/*--------------------------- 
　　　ヘッダー
--------------------------- */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	background-color: rgba(255,255,255,0.8);
}
header .fade {
	-webkit-transform: translateY(-50px);
	transform: translateY(-50px);
}
.head {
	padding: 5px 0;
	background-color: #E4EFF8;/*水色*/
}
.head h1 {
	font-size: 1.2rem;
	color: #084C82;/*青*/
	line-height: 1.4;
	font-weight: 400;
}
.headA {
	display: flex;
	align-items: center;
	padding: 25px 0;
}
.headA .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 90%;
}
.headA .logo {
	margin-right: 20px;
}
.headA .logo a {
	position: relative;
	display: block;
	font-size: 2.5rem;
	white-space: nowrap;
	color: #084C82;/*青*/
	font-weight: 600;
	line-height: 1.3;
	padding-left: 30px;
}
.headA .logo a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 25px;
	height: 25px;
	transform: translateY(-50%);
	background: url("../img/common/icon_logo.png") center / contain no-repeat;
}
.headA .logo a:hover {
	opacity: 0.6;
}
/*パソコンメニュー*/
header .menu_list_pc {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
header .menu_list_pc li {
	position: relative;
	margin: 5px 0;
}
header .menu_list_pc li a {
	position: relative;
	display: block;
	margin: 0 0.5em;
	padding: 0.5em 0;
	color: #084C82;/*青*/
	font-weight: 500;
	font-size: 1.5rem;
	letter-spacing: 0.03em;
	box-sizing: border-box;
}
header .menu_list_pc li:not(:last-child) a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 2px;
	background-color: #4A93CF;/*青2*/
	transition: .3s ease;
}
header .menu_list_pc li:not(:last-child) a:hover::after {
	width: 100%;
}
header .menu_list_pc li:last-child a{
	padding: 0.5em 1em;
	border: solid 1px #084C82;/*青*/
	border-radius: 30px;
}
header .menu_list_pc li:last-child a:hover {
	background-color: #084C82;/*青*/
	color: #fff;
}
header .menu_list_pc li a:hover {
	color: #4A93CF;/*青2*/
}
header .menu_list_pc li a.current {
	color: #4A93CF;/*青2*/
}
header .menu_list_pc li a.current::after {
	width: 100%;
}

header .works_link:hover .menu_child_list_pc {
	visibility: visible;
	opacity: 1;
}
header .menu_child_list_pc {
	position: absolute;
	visibility: hidden;
	top: 40px;
	left: 0;
	width: auto;
	background-color: #fff;
	border: solid 2px #084C82;/*青*/
	border-radius: 10px;
	opacity: 0;
	transition: .3s ease;
}
header .menu_child_list_pc::after {
	content: "";
	position: absolute;
	top: -13px;
	left: 17px;
	border-right: 12px solid transparent;
	border-bottom: 12px solid #084C82;/*青*/
	border-left: 12px solid transparent; 
}
header .menu_child_list_pc::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 18px;
	border-right: 11px solid transparent;
	border-bottom: 11px solid #fff;/*青*/
	border-left: 11px solid transparent;
	z-index: 1;
}
header .menu_child_list_pc li {
	margin: 0;
}
header .menu_child_list_pc li a {
	font-size: 1.4rem;
	margin: 0;
	padding: 0.7em 1em;
	white-space: nowrap;
}
header .menu_child_list_pc li a:hover {
	background-color: #E4EFF8;/*水色*/
}
header .menu_child_list_pc li:first-child a {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
header .menu_child_list_pc li:last-child a {
	border: none;
	padding: 0.7em 1em;
	border-radius: 0;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}
header .menu_child_list_pc li:not(:last-child) a::after {
	display: none;
}
header .menu_child_list_pc li:last-child a:hover {
	background-color: #E4EFF8;/*水色*/
	color: #084C82;/*青*/
}
header .menu_child_list_pc li:last-child a:hover::after {
	width: 0;
}

.t-contact {
	width: 150px;
	font-weight: 500;
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 0.5em;
}

.headB {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-top: 80px;
	background-color: #084C82;/*青*/
	z-index: 800;
	visibility: hidden;
	transform: translateY(-100%);
	transition: 0.5s ease;
	opacity: 0;
	overflow-y: scroll;
}
.headB .container {
	padding-bottom: 140px;
}
.headB.active {
	visibility: visible;
	transform: translateY(0);
	opacity: 1;
}
.headB_tel {
	color: #fff;
	text-align: center;
	width: 90%;
	margin: 20px auto 5px;
	padding-top: 20px;
	border-top: solid 1px #fff;
}
.headB_tel a {
	color: #fff;
	font-weight: 600;
	font-size: 2.2rem;
}
.headB_tel a span {
	font-size: 0.8em;
	font-weight: 400;
}
.headB_tel .time {
	font-size: 1.4rem;
}
header .menu_list_sp li a {
	display: block;
	color: #fff;
	padding: 17px 0;
	text-align: center;
	letter-spacing: 0.03em;
} 
.fadein{
    opacity: 1;
}
@media screen and (max-width: 1130px) {
	header .menu_list_pc li a {
		font-size: 1.2rem;
	}
	.t-contact a {
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 850px) {
	header .menu_list_pc,
	header .t-contact {
		display: none!important;
	}
	.headA {
		padding: 0 0 0 0;
	}
}
@media screen and (min-width: 850px) {
	.head h1 {
		font-size: 1.4rem;
	}
	.headB {
		display: none!important;
	}
	.headA .logo a {
		font-size: 2.3rem;
	}
	.head .container,
	.headA .container {
		width: 95%;
		max-width: 95%;
	}
}
@media screen and (min-width: 1130px) {
	.headA .logo a {
		font-size: 2.5rem;
	}
}
/*--------------------------- 
　　　フッター
--------------------------- */
footer {
	padding: 70px 0;
	background-color: #084C82;/*青*/
}
.footA .menu_list a {
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: 0.03em;
}
.footA .menu_list a:hover {
	opacity: .6;
}
.footA .menu_list ul li {
	margin-bottom: 20px;
}
.footA .logo {
	width: 150px;
	height: auto;
}
.footA .menu_list ul .menu_list_footer_works {
	margin-top: 10px;
}
.footA .menu_list ul .menu_list_footer_works li {
	margin-bottom: 10px;
}
.footA .menu_list ul .menu_list_footer_works li a {
	font-size: 0.8em;
	opacity: .8;
}
.footA .menu_list ul .menu_list_footer_works li a:hover {
	opacity: .4;
}
.copy-right {
	margin-top: 60px;
	color: #fff;
	font-size: 1.0rem;
	letter-spacing: 0.03em;
}
@media screen and (max-width: 850px) {
	.footA {
		text-align: center;
	}
	.footA .logo {
		margin: 0 auto;
		margin-bottom: 50px;
	}
	.footA .menu_list_footer_works {
		display: none;
	}
	.copy-right {
		text-align: center;
	}
}
@media screen and (min-width: 850px) {
	footer {
		padding: 90px 0;
	}
	.footA {
		display: flex;
		justify-content: space-between;
	}
	.footA .menu_list {
		display: flex;
	}
	.footA .menu_list ul:not(:last-child) {
		margin-right: 60px;
	}
	.copy-right {
		text-align: right;
	}
}

/*--------------------------- 
　　　ハンバーガーメニュー
--------------------------- */

.btn-trigger {
	position: relative;
	width: 50px;
	height: 50px;
	z-index: 900;
	border-radius: 5px;
	margin-top: 3px;
}
.btn-trigger span {
	position: absolute;
	left: 50%;
	width: 35px;
	height: 2px;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	background-color: #084C82;/*青*/
}

.btn-trigger, .btn-trigger span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}
.btn-trigger span:nth-of-type(1) {
  top: 9px;
}
.btn-trigger span:nth-of-type(2) {
  top: 18px;
}
.btn-trigger span:nth-of-type(3) {
  top: 27px;
}
/*=============================
#btn01
=============================*/
#btn01 {
	position: relative;
}
#btn01::after {
	content: "MENU";
	position: absolute;
	left: 50%;
	bottom: 5px;
	font-size: 1.3rem;
	color: #084C82;/*青*/
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}
#btn01.active::after {
	content: "CLOSE";
	color: #fff;
}

#btn01.active span:nth-of-type(1) {
  -webkit-transform: translateX(-50%) translateY(9px) rotate(-30deg);
  transform: translateX(-50%) translateY(9px) rotate(-30deg);
	background-color: #fff;
}
#btn01.active span:nth-of-type(2) {
  opacity: 0;
}
#btn01.active span:nth-of-type(3) {
  -webkit-transform: translateX(-50%) translateY(-9px) rotate(30deg);
  transform: translateX(-50%) translateY(-9px) rotate(30deg);
	background-color: #fff;
}
@media screen and (min-width: 850px) {
	.btn-trigger {
		display: none!important;
	}
}