@charset "utf-8";
@font-face {
 font-family: 'Montserrat';
 src: url('/assets/fonts/Montserrat-Light.woff') format('woff');
 font-weight: 300;
 font-style: normal;
}
@font-face {
 font-family: 'Montserrat';
 src: url('/assets/fonts/Montserrat-Regular.woff') format('woff');
 font-weight: 400;
 font-style: normal;
}
@font-face {
 font-family: 'Montserrat';
 src: url('/assets/fonts/Montserrat-Medium.woff') format('woff');
 font-weight: 500;
 font-style: normal;
}
@font-face {
 font-family: 'Montserrat';
 src: url('/assets/fonts/Montserrat-SemiBold.woff') format('woff');
 font-weight: 600;
 font-style: bold;
}
@font-face {
 font-family: 'Montserrat';
 src: url('/assets/fonts/Montserrat-Bold.woff') format('woff');
 font-weight: 700;
 font-style: bold;
}


html {
	height: 100%;
	width: 100%;
	font-size: 62.5%;
}

body {
	font-family: Helvetica, Arial, sans-serif;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
	font-size: 1.8rem;
	font-weight: 400;
	color: #333;
	background-color: #fff;
	position: relative;
}

#head_container,
#foot_container .foot_nav,
h1, h2, h3, h4,
.page_top{
 font-family: 'Montserrat', sans-serif;
}
h1, h2, h3, h4{
 font-weight: 700;
}

img {
 display: block;
	width: 100%;
	height: auto;
}

strong{
 font-weight: 600;
}

a {
 word-break: break-all;
	color: #0066cc;
	text-decoration: none;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
a:link, a:visited, a:active {
	color: #0066cc;
}
a:hover{
 opacity: 0.7;
}

/* ICON
---------------------------------------------*/
.icon{
 display: inline-block;
 vertical-align: baseline;
 width: 16px;
 height: 16px;
 margin: auto 0.5rem;
}
.icon_new_window{
 background: url(/assets/img/new_win.svg) no-repeat 0 0;
 background-size: contain;
}
.icon_new_window_bk{
 background: url(/assets/img/new_win_bk.svg) no-repeat 0 0;
 background-size: contain;
}
.icon_arrow{
 width: 8px;
 height: 8px;
 margin-bottom: 0.2rem !important;
 border-top: 1px solid #0066cc;
 border-right: 1px solid #0066cc;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
}

#main_container .icon-L{
 width: 20px;
 height: 20px;
 margin: auto 0.5rem;
 vertical-align: baseline;
}
#main_container .icon_arrow.icon-L{
 width: 10px;
 height: 10px;
}

/* Header
---------------------------------------------*/
#header{
 display: block;
 height: 165px;
 background-color: #fff;
}
#header a{
 font-weight: 300;
 color: #000;
 text-decoration: none;
}
#head_container{
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 width: 95%;
 max-width: 1100px;
 margin: 0 auto;
 padding-top: 40px;
}
#head_container .head_logo{
	width: 68px;
	height: 68px;
	margin: 0 auto 0 0;
}
#head_container .head_logo a{
 display: block;
}
#head_container .head_logo a:hover{
 opacity: 1;
}


#head_container .global_menu{
 -webkit-box-flex: 0;
 -ms-flex: 0 0 86%;
 flex: 0 0 86%;
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -ms-flex-wrap: nowrap;
 flex-wrap: nowrap;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 font-weight: 700;
}
#head_container .site_menu,
#head_container .lang,
#head_container .sns{
 padding: 0;
 list-style: none;
}

#head_container .site_menu{
 -webkit-box-flex: 0;
 -ms-flex: 0 0 70%;
 flex: 0 0 70%;
 margin: 0 auto 0 0;
 padding: 0;
}
#head_container .site_menu li{
 display: inline-block;
 margin: 0 0 0 3%;
 letter-spacing: -1px;
 position: relative;
}
#head_container .site_menu li a {
  position: relative;
}
#head_container .site_menu li .new {
  position: absolute;
  top: -20px;
  font-size: 1em;
  left: 0;
  letter-spacing: 0;
  color: #E42828;
  font-weight: 700;
}
#head_container .site_menu li:first-child,
#head_container .site_menu li.sp_lang+li{
 margin-left: 0;
}


#head_container .lang,
#head_container .sns{
 margin: 0;
 white-space: nowrap;
}
#head_container .lang li{
 display: inline-block;
 font-size: 1.4rem;
}
#head_container .lang li:first-child::after{
 content: "/";
 margin: 0 0.5rem;
 font-weight: 300;
}

#head_container .sns li{
 display: inline-block;
 vertical-align: middle;
 width: 18px;
 margin-left: 18px;
}
#head_container .sns li a{
 display: block;
}
#head_container .sns li img{
 width: 100%;
 max-height: 18px;
}

#head_container .sp-menu,
#head_container .site_menu li.sp_lang,
#head_container .site_menu li.sp{
 display: none;
 speak: none;
}

/* Main
---------------------------------------------*/
#main_container{
 display: block;
 width: 100%;
 max-width: 1300px;
 margin: 0 auto;
}

.main_visual{
 text-align: center;
 margin: 0 auto 180px;
}
.main_visual h1{
 font-size: 5.0rem;
 margin-bottom: 2.5rem;
}
.main_visual p{
 font-size: 2.4rem;
 line-height: 1.3;
 margin-bottom: 60px;
}

.main_section{
 width: 92%;
 max-width: 1200px;
 margin: 0 auto 180px;
}
.section_lead{
 text-align: center;
 margin: 0 auto 80px;
}
.section_lead h2{
 font-size: 3.0rem;
 margin-bottom: 2rem;
}

.column,
.column2{
 display: -webkit-box;
 display: -ms-flexbox;
 display: flex;
 -webkit-box-pack: justify;
 -ms-flex-pack: justify;
 justify-content: space-between;
 margin-bottom: 50px;
}
.col2{
 -webkit-box-flex: 0;
 -ms-flex: 0 0 48%;
 flex: 0 0 48%;
}
.col3{
 -webkit-box-flex: 0;
 -ms-flex: 0 0 30%;
 flex: 0 0 30%;
}
.full{
 width: 100%;
 margin-bottom: 50px;
}
.main_section p{
 margin-bottom: 30px;
}
#main_container .figure{
 display: block;
 margin: 0;
 padding: 0;
}
#main_container figcaption{
 font-size: 1.4rem;
 padding: 0.5rem;
}


/* Footer
---------------------------------------------*/
#footer{
 display: block;
}
#foot_container{
 width: 95%;
 max-width: 1100px;
 margin: 0 auto;
 text-align: center;
}
#foot_container .foot_nav{
 margin: 60px auto;
}
#foot_container .foot_nav p{
 margin-bottom: 2.5rem;
}
#foot_container .foot_nav li{
 display: inline-block;
	margin: 0 15px;
}
/*#foot_container .foot_nav li:nth-child(2){
 margin: 0 30px;
}*/
#foot_container .foot_nav a{
 font-weight: 700;
 text-decoration: none;
}

#foot_container .copyright{
 font-size: 1.4rem;
 margin: 0 auto 20px;
}



.page_top{
 display: none;
 width: 75px;
 height: 75px;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
 padding: 5px;
 font-size: 1.4rem;
 text-align: center;
 border-radius: 5px;
 background-color: rgba(0,0,0,0.75);
 position: fixed;
 bottom: 5%;
 right: 5%;
}
.page_top a{
 display: block;
 width: 100%;
 height: 100%;
 color: #fff;
 font-weight: 500;
 text-decoration: none;
 background: url(/assets/img/pagetop.svg) no-repeat 50% 90%;
 background-size: 60%;
}

.pc{
 display: inherit;
}
.sp{
 display: none;
 speak: none; 
}

/* css only tablet
------------------------------*/
@media only screen and (max-width: 1140px) {
 #head_container .global_menu{
	font-size: 1.4rem;
 }
 #head_container .site_menu li .new {
	top: -15px;
	font-size: 1.2rem;
}
 #head_container .site_menu{
	-webkit-box-flex: 0;
	-ms-flex: 0 0 70%;
	flex: 0 0 70%;
 }
 #head_container .site_menu li{
  margin: 0 0 0 3%;
 }
 #head_container .lang li{
  font-size: 1.2rem;
 }
}

@media only screen and (max-width: 899px) {
 #head_container .global_menu{
	font-size: 1.2rem;
 }
 #head_container .site_menu li .new {
	font-size: 1.0rem;
}
 #head_container .site_menu{
    -webkit-box-flex: 0;
    -ms-flex: 0 0 70%;
    flex: 0 0 70%;
 }
 #head_container .site_menu li{
  margin: 0 0 0 3%;
 }
}

/* css only mobile
------------------------------*/
@media only screen and (max-width: 760px) {
 body{
  font-size: 4vw;
 }
 body.fixed{
  position: fixed;
  z-index: -1;
  width: 100vw;
  height: 100vh;
  top: 0;
  right: 0;
 }
 #header{
  height: 64px;
  overflow: visible;
  position: relative;
 }
 #head_container{
  padding-top: 12px;
 }
 #head_container .head_logo{
  width: 40px;
  height: 40px;
 }
 #head_container .global_menu{
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  font-size: 1.3rem;
 }
 #head_container .site_menu{
  -webkit-box-flex: 0;
  -ms-flex: none;
  flex: none;
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  position: fixed;
  top: 64px;
  left: 0;
  width: 100vw;
  height: calc(100% - 64px);
  overflow-y: scroll;
  overflow-x: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 0 10px;
  display: none;
  z-index: 10;
  background-color: #e4e4e4;
 }
 #head_container .site_menu li {
  display: block;
  width: 90%;
  margin: 0 auto;
  padding: 15px 0;
  text-align: center;
  border-bottom: 1px solid #959595;
 }
 #head_container .global_menu > .lang{
  -webkit-box-ordinal-group: 1;
  -ms-flex-order: 0;
  order: 0;
  margin: 0;
  display: none;
 }
 #head_container .site_menu li .new {
   margin-right: 5px;
   position: relative;
	 top: auto;
	 font-size: 1.3rem;
 }
 #head_container .sns{
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
  margin: 0;
 }
 #head_container .site_menu li:first-child,
 #head_container .site_menu li.sp_lang+li{
  margin-left: auto;
 }
 #head_container .lang li{
  font-size: 1.3rem;
 }
 
 #head_container .sp-menu,
 #head_container .site_menu li.sp_lang,
 #head_container .site_menu li.sp{
  display: block;
  speak: normal;
 }
 #head_container .site_menu li.sp_lang{
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: -0.4em;
  background-color: #000;
  padding: 0;
  border-bottom: none;
 }
 #head_container .site_menu li.sp_lang ul{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
 }
 #head_container .site_menu li.sp_lang ul.lang li{
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 2rem 0;
  text-align: center;
  letter-spacing: normal;
  color: #fff;
  border-bottom: none;
 }
 #head_container .site_menu li.sp_lang a{
  display: block;
  color: #fff;
  width: 100%;
  border-left: 1px solid #fff;
 }
 #head_container .site_menu li.sp_lang .lang li:first-child::after{
  content: none;
 }
 #head_container .site_menu li.sp a{
  font-weight: 300;
  font-size: 1.3rem;
 }
 #head_container .site_menu li.sp .icon{
  width: 13px;
  height: 13px;
 }
 #head_container .site_menu a{
  display: block;
 }
 #head_container .sp-menu,
 #head_container .sp-menu span {
  display: inline-block;
  -webkit-transition: all .4s;
  transition: all .4s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
 #head_container .sp-menu {
  width: 34px;
  height: 23px;
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
  margin: 0 0 0 20px;
  position: relative;
  overflow: hidden;
  text-indent: -900px;
 }
 #head_container .sp-menu span {
   position: absolute;
   left: 0;
   width: 100%;
   height: 3px;
   background-color: #000;
 }
 #head_container .sp-menu span:nth-of-type(1) {
   top: 0;
 }
 #head_container .sp-menu span:nth-of-type(2) {
   top: 10px;
 }
 #head_container .sp-menu span:nth-of-type(3) {
   bottom: 0;
 }
  #head_container .sp-menu.active span:nth-of-type(1) {
   -webkit-transform: translateY(10px) rotate(-45deg);
   transform: translateY(10px) rotate(-45deg);
 }
 #head_container .sp-menu.active span:nth-of-type(2) {
   opacity: 0;
 }
 #head_container .sp-menu.active span:nth-of-type(3) {
   -webkit-transform: translateY(-10px) rotate(45deg);
   transform: translateY(-10px) rotate(45deg);
 }
 
 #main_container .icon-L{
  width: 4vw;
  height: 4vw;
  margin: 0 0.8rem;
 }
 #main_container figcaption{
  font-size: 3.4vw;
 }
 #main_container figure{
  margin: 0 auto 20px;
 }
 .main_visual{
  margin-bottom: 90px;
 }
 .main_visual h1 {
  font-size: 5.5vw;
  margin: 4rem auto 1.5rem;
 }
 .main_visual p {
  font-size: 3.75vw;
  margin: 0 auto 30px;
  width: 80%;
 }
 .main_section{
  width: 92%;
  margin-bottom: 90px;
 }
 .section_lead h2{
  font-size: 4.5vw;
 }
 .section_lead{
  margin-bottom: 40px;
 }
 .col2{
  margin-bottom: 20px;
 }
 
 
 .icon{
  width: 4vw;
  height: 4vw;
 }
 #main_container .icon_arrow.icon-L{
  width: 2.5vw;
  height: 2.5vw;
 }
 
 .page_top{
  width: 50px;
  height: 50px;
  font-size: 1.0rem;
 }
 .foot_nav,
  br,
 .pc{
  display: none;
  speak: none; 
 }
 .sp{
  display: inherit;
 }
}

/*---------------------------------------
 Print Style
---------------------------------------*/
@media only print {
 #head_container .global_menu,
 .page_top, .grid_sizer{
  display: none !important;
 }
}
@media all and (-ms-high-contrast: none){
 .print_pages.page-break {
  page-break-before: auto;
 }
}
