@charset "utf-8";
/* CSS Document */

/* ************************************************************* */
/*          DEFAULT LAYOUT 
/* ************************************************************* */

body {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 100%;
	color: #666;
	line-height: 1.7em;
	letter-spacing: 0.05em;
	text-align: justify;
	background-color: #FFF;
	animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

h1,h2,h3,h4,h5 { font-weight: 700; }

h1 {
	width: 100%;
	margin: 0;
	text-align: center;
}


ul,li { list-style: none; }

img { max-width: 100%; }




a { text-decoration: none; }
a:hover { cursor: pointer;}

/* ************************************************************* */
/*          HEADER LAYOUT 
/* ************************************************************* */

.head {
	width: 100%;
	height: 100px;
	margin: 0;
	padding: 0;
	z-index: 999999;
	background-color:#D7D7D7;
	border-bottom:#FFFFFF 2px solid;
	font-size:24px;
	line-height: 100px;
	color:rgba(255,255,255,0.5);
	letter-spacing:3px;
}


/* ************************************************************* */
/*          Read More Button
/* ************************************************************* */

.readmore {
	width: 100%;
	height: 40px;
	margin: 0;
	padding: 0;
	float: left;
	text-align: center;
}

.readmore a {
	width: 193px;
	height: 40px;
	margin: 0 auto;
	padding: 0;
	background-image: url("../images/common/arr_w.webp");
	background-size: 20px;
	background-repeat: no-repeat;
	display: block;
	transition: ease 0.5s all;
}

.readmore a:hover { background-image: url("../images/common/arr_nv.webp"); }

.button{
  width:250px;
  height:50px;
  margin: 0 auto;
  border:1px solid #1D2086;
  box-sizing: border-box;
  text-align:center;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  background-color: #1D2086;
}


.button a{
	display: block;
	font-size:90%;
	color:#FFF;
	text-decoration:none;
	line-height:48px;
	transition:all .5s ease;
	z-index:0;
	position:relative;
	background-image: url("../images/common/arr_w.webp");
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: center right 20px;
}

.button.wide a { background-position: center right 40%; }

.eff{
	width:250px;
	height:50px;
	left:-250px;
	background:#FFF;
	background-image: url("../images/common/arr_nv.webp");
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: center right 20px;
	position:absolute;
	color: #1D2086;
	line-height: 48px;
	transition:all .5s ease;
	z-index:1;
}



.button:hover .eff{ left:0; }
.button:hover a{ color:#fff; }

@media only screen and (max-width:980px){

.button.wide { width:80%; }
.button.wide a { background-position: center right 5%; }
}






/* **************************************************************** */
/*             CONTENTS  LAYOUT
/* **************************************************************** */

.content {
	width: 100%;
	margin: 0;
	padding: 0;
	float: left;
}

.main {
	width: 100%;
	height: 500px;
	margin: 100px 0 0;
	padding: 0;
	float: left;
}

.main.common .photo {
	width: 50%;
	height: 100%;
	margin: 0;
	padding: 0;
	float: right;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.main.common .photo .filter {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	float: left;
	background-image: url("../images/common/main_corner.png");
	background-repeat: no-repeat;
	background-position: bottom left;
}

.main.common h1 {
	width: 36%;
	margin: 70px 7%;
	padding: 0;
	float: left;
	color: #1D2083;
	font-size: 36px;
	font-family: 'Noto Serif JP', serif;
	text-align: justify;
	line-height: 40px;
	letter-spacing: 0;
}

.main.common h1 span {
	font-size: 24px;
	letter-spacing: 0.3em;
}

.main.common .copy {
	width: 36%;
	margin: 70px 7%;
	padding: 0;
	float: left;
	color: #1D2083;
	font-size: 2vw;
	font-family: 'Noto Serif JP', serif;
	text-align: justify;
	line-height: 50px;
}

.main.common .message {
	width: 36%;
	margin: 0 7%;
	padding: 0;
	float: left;
	color: #1D2083;
	font-size: 20px;
	font-family: 'Noto Serif JP', serif;
	text-align: justify;
	font-weight: 700;
	line-height: 35px;
}

.content h2 {
	font-size: 16px;
	color: #1D2086;
	text-align: center;
	margin: 5.5vw 0;
	line-height: 1.1em;
	font-family: 'Noto Serif JP', serif;
	background-image: url("../images/common/h2_line.png");
	background-repeat: no-repeat;
	background-position: center;
}

.content h2.wide {
	background-image: url("../images/common/h2_line_long.png");
}

.content h2 span {
	font-size: 32px;
	letter-spacing: 0.1em;
	display: block;
	margin: 0;
	padding: 0;
}

.content h2.tex_w {
	color: #FFF;
	background-image: url("../images/common/h2_line_w.png");
}


/* **************************************************************** */
/*             BARNNER  LAYOUT
/* **************************************************************** */

.barnner {
	width: 100%;
	height: 500px;
	margin: 0;
	padding: 0;
	float: left;
	background-image: url("../images/common/foot_bar.webp");
	background-position: center;
	background-size: cover;
}

.barnner .filter {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: rgba(255,255,255,0.70);
	float: left;
}

.barnner .btn {
	width: 40%;
	height: 230px;
	margin: 150px 5% 0;
	padding: 0;
	float: left;
}

.barnner .btn .more {
	font-size: 18px;
	margin-top: 30px;
}

.barnner .btn a {
	width: 100%;
	height: 100%;
	padding: 50px 0 0 0;
	display: block;
	color: #1D2086;
	border: #1D2086 2px solid;
	box-sizing: border-box;
	text-align: center;
	font-size: 40px;
	font-weight: 700;
	line-height: 0.8em;
	background-color: rgba(255,255,255,0.00);
	transition: ease 0.5s all;
	font-family: 'Noto Serif JP', serif;
}

.barnner .btn a span { font-size: 18px; }

.barnner .btn a:hover { background-color: #1D2086;color: #FFF; }


/* **************************************************************** */
/*             FOOTER  LAYOUT
/* **************************************************************** */

.footer {
  width: 100%;
  margin: 0;
  padding: 1em 0;
  float: left;
  background-color: #1D2086;
}

.footer .logo_f {
  top:-90px;
  left:40px;
  position: relative;
  width: 230px;
}

.footer .privacy {
	width: 80px;
	margin: -180px 120px 0 0;
	float: right;
	background-color: #FFF;
}

.footer .f_navi {
	width: 90%;
	margin: 20px 5% 0;
	float: left;
	text-align: center;
}

.footer .f_navi .menu-footer-menu-container {
	width: 100%;
	margin: 0;
	float: left;
	text-align: center;
	display: flex;
}

.footer .f_navi ul.menu {
  width: auto;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.footer ul li {
  width: auto;
  margin: 0 10px 10px 0;
  padding: 0;
  float: left;
}

.footer ul li a {
  color: #FFF;
  background-color: #1D2086;
  font-weight: 700;
  text-decoration: none;
  transition: ease 0.5s all;
  opacity: 1.0;
  display: block;
  padding: 5px 0.5em;
}

.footer ul li a:hover {
  background-color: #FFF;
  color: #1D2086;
  border-radius: 20px;
}

.footer ul li ul {
  width: 90%;
  margin: 0 0 0 10%;
  padding: 0;
  float: left;
}

.footer .foot-end {
	width: 100%;
	margin: 0;
	float: left;
}

.footer .foot-end .copyright {
	font-size: 90%;
	margin: 0 5%;
	line-height: 42px;
	color: #FFF;
	text-align: center;
}


/****************************************************
/*               page-top
*****************************************************/
.pagetop {
	position: fixed;
	bottom: 40px;
	right: 25px;
	z-index: 99999;
	display: block;
}

.pagetop a { 
	display: block;
	width: 52px;
	height: 32px;
	background-image: url("../images/common/arr_top_nv.webp");
	background-repeat: no-repeat;
	background-position: center top 5px;
	transition:all .7s ease;
	text-align: center;
	background-color: #FFF;
	border: #1D2086 1px solid;
	color: #1D2086;
	font-size: 13px;
	padding: 20px 0 0;
	line-height: 13px;
	border-radius: 5px;
}
 
.pagetop a:hover { 
	background-image: url("../images/common/arr_top_w.webp");
	background-color: #1D2086;
	color: #FFF;
	cursor: pointer;
}
