@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=Sorts+Mill+Goudy&display=swap');
/*--------------------------------------------------------------------------------------------------

   common

--------------------------------------------------------------------------------------------------*/


/*reset-------------------------------------------------*/
*, *:before, *:after {
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 box-sizing: border-box;
}

body,div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd {
	margin: 0;
	padding: 0;
}

table {
 border-collapse: collapse;
	border-spacing: 0;
}

img {
	border: none;
	vertical-align: top;
  -webkit-backface-visibility: hidden;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: normal;
}

header,section,article,aside,footer,nav {
 display: block;
}

/*-------------------------------------------------reset*/


/*common-------------------------------------------------*/
body {
	margin: 0;
	padding: 0;
	color: #012976;
	font-size: 15px;
	font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	line-height: 1.6;
}

a:link {
	color: #012976;
	text-decoration: none;
}

a:visited {
	color: #012976;
}

a:hover, a:active {
	color: #F26400;
}

.clear:after {
 content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clear {
 display: inline-table;
 overflow: hidden;
}

/* mac \*/
* html .clear {
 height: 1%;
}
.clear {
 display: block;
}
/* macend */

.alignleft {
	float: left;
	margin: 0 10px 10px 0;
}

.alignright {
	float: right;
	margin: 0 0 10px 10px;
}

.aligncenter {
	display: block;
	margin: 0 auto;
}

.txR {
	text-align: right;
}

.txC {
	text-align: center;
}

.sp {
	display: none;
}

.flex {
  display: -webkit-box;   /* OLD - iOS 6-, Safari 3.1-6, BB7 */
  display: -ms-flexbox;  /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
  display: flex;   
}

h2.type1 {
  font-size: 20px;
}

h2.type2 {
  display: inline-block;
  min-width: 338px;
}

h2.type2 .title-jp {
  font-size: 24px;
  padding-bottom: 12px;
  display: block;
  position: relative;
  font-weight: 500;
}

h2.type2 .title-jp::after {
  content: "";
  position: absolute;
  width: 338px;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  margin: 0 auto;
  height: 7px;
  background-color: #012976;
  transform: skewX(-20deg);
}

h2.type2 .title-en {
  font-size: 20px;
  color: #012976;
  padding-top: 10px;
  letter-spacing: 2px;
  display: block;
}

.btn {
  min-width: 329px;
  background-color: #04337e;
  line-height: 68px;
  text-align: center;
  position: relative;
  font-size: 9px;
  border-radius: 34px;
  display: inline-block;
}

.btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  transform: translateY(-50%);
  width: 100px;
  height: 1px;
  background-color: #4087c4;
}

.container {
  width: 1000px;
  margin: 0 auto;
  padding: 0;
}

.al-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.al-right {
  text-align: right;
}

.al-left {
  text-align: left;
}
/*-------------------------------------------------common*/


/*------------------------------------------------------------------------------------------------
  header
--------------------------------------------------------------------------------------------------*/
header {
  width: 100%;
  justify-content: space-between;
  font-size: 13px;
}

header a {
  color: #012976;
  line-height: 15px;
}

header h1 {
  margin: 40px 0 15px 32px;
}

header h1 img {
  width: 716px;
}

header nav {
  margin: 50px 32px 15px 0;
}

header .link-page {
  list-style: none;
}

header .link-page a {
  padding-left: 20px;
  margin-left: 18px;
  background: url(../image/icon-next-header.png) no-repeat left center;
  background-size: 15px 15px;
}

header .menu {
  margin-top: 0;
}

header .menu li {
  padding: 0 20px;
  line-height: 14px;
  border-right: 1px solid #012976;
  list-style: none;
}

header .menu li:last-child {
  border-right: none;
  padding-right: 0;
}

.navtext {
  width: 1000px;
  margin: 0 auto;
  font-size: 16px;
}

.navtext li {
  padding: 0 20px;
  line-height: 14px;
  border-right: 1px solid #012976;
  list-style: none;
}

.navtext li:last-child {
  border-right: none;
  padding-right: 0;
}

.navtext li a {
 display: block;
 padding: 10px 0;
}

/*------------------------------------------------------------------------------------------------
  btns
--------------------------------------------------------------------------------------------------*/
.btns {
	margin: 0 0 60px;
	text-align: center;
}

.btns a {
	display: inline-block;
	width: 320px;
	margin: 0 20px 20px;
	padding: 12px 0;
	border-radius: 24px;
	border: 2px solid #04337E;
	color: #080000;
	background-color: #FFF;
	letter-spacing: 1px;
	position:relative;
}

.btns a::before {
	position: absolute;
	content: "";
	width: 42px;
	height: 1px;
	background-color: #080000;
	top: 50%;
	right: -21px;
	transition: .2s linear;
}

.btns a:hover {
	border: 2px solid #04337E;
	background-color: #E5E9F1;
}

.btns a:hover::before {
	background-color: #04337E;
	right: -30px;
}


/*------------------------------------------------------------------------------------------------
  footer
--------------------------------------------------------------------------------------------------*/
footer .footer-contact {
  background-color: #012976;
  color: #fff;
  text-align: center;
  padding: 35px 0 40px 0;
}

footer .footer-contact .title {
  font-size: 14px;
  margin: 5px 0;
}

footer .footer-contact .text-contact {
  font-size: 19px;
}

footer .footer-bottom {
  text-align: center;
  padding: 35px 0 40px 0;
  background-color: #e5e9f1;
}

footer .footer-bottom .title {
  font-weight: 600;
  font-size: 18px;
}

footer .footer-bottom .title span {
  display: block;
}

footer .footer-bottom address {
  line-height: 1.8;
  margin: 15px 0 23px 0;
  font-style: normal;
}

footer .footer-bottom .coppy {
  font-size: 14px;
}



/*------------------------------------------------------------------------------------------------
  second
--------------------------------------------------------------------------------------------------*/
#second {
}

#second #title {
 background-image: linear-gradient(180deg, #1474BB 0%, #185CA4 70%);
 width: 100%;
	height: 168px;
	padding: 24px 0 0;
	font-family: 'Noto Serif JP', serif, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3,"ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 30px;
	font-weight: 500;
	color: #FFF;
}

#second #title h2 {
	width: 1000px;
	margin: 0 auto;
	line-height: 120px;
}

.contentBox {
	position: relative;
	padding: 60px 0;
}

.contentBox::before {
 content: "";
 position: absolute;
 top: 0;
 left: 0;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 16vw 24vw 0 0;
 border-color: #EEF0F4 transparent transparent transparent;
	z-index: -1;
}

.contentBox::after {
 content: "";
 position: absolute;
 right: 0;
 bottom: 0;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 0 0 16vw 24vw;
 border-color: transparent transparent #EEF0F4 transparent;
	z-index: -1;
}

#second .content {
	width: 1000px;
	margin: 0 auto;
}

#second .content h3 {
	position: relative;
	border-top: 3px solid #AAA;
	font-size: 20px;
	padding: 16px 0;
	margin: 0 0 20px;
	font-weight: 500;
}

#second .content h3::before {
	position: absolute;
	content: "";
	width: 96px;
	height: 3px;
	background: url(../image/h3_back.png) no-repeat 0 0;
	top: -3px;
	left: 0;
}

#second .content p {
	margin: 0 0 30px;
}

#second .content ul {
	margin-bottom: 60px;
}

#second .content ul li {
	margin: 0 0 20px;
}

