@charset "UTF-8";
/* Base
-------------------------------------------------------------*/
* {
	box-sizing: border-box;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}
html {
	position: relative;
	font-size:62.5%;
	min-height: 100%;
}

body {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	-webkit-text-size-adjust: 100%; /*  sp横向き文字サイズ固定 */
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 500;/*游ゴシック Windows Chrome　かすれ対策*/
	font-size:18px;
	font-size:1.8rem;
	line-height:1.8;
}
.wrapper {
  display: flex;
	flex-direction: column;
  width:100%;
	min-height: 100vh;
  position:relative;
}
.contents_inner {
	width:100%;
	max-width:1140px;
	position:relative;
	margin:0 auto;
	padding:0 60px;
}


/* Image
-------------------------------------------------------------*/
img {
	max-width:100%;
	height:auto;
	vertical-align: bottom;
}


/* List
-------------------------------------------------------------*/
ul,li {
  margin:0;
  padding:0;
  list-style:none;
}

/* Text
-------------------------------------------------------------*/
h1,h2,h3,h4,h5,h6,p{
	margin:0;
	padding:0;
  font-feature-settings:"palt";
}
.txt_br_md {
  display:none;
}
.txt_br_sm__hidden {
  display:inline-block;;
}
.txt_error {
  color:#dc468c;
}
.txt_center {
  text-align: center!important;
}
.text_red{
  color:#ef0000;
}

/* top_page
-------------------------------------------------------------*/
.top_header {
  width:100%;
  display: block;
  margin:0 auto;
  padding-top:70px;
  padding-left:55px;
  padding-right:55px;
  background-image:url("../images/1x/bg_gradation.png");
  background-size:contain;
  background-repeat:repeat-x;
  text-align: center;
}
@media only screen and (-webkit-min-device-pixel-ratio: 2){
  .top_header {
     background-image:url("../images/2x/bg_gradation@2x.png");
  }
}
.top_txtArea {
  width:100%;
  margin-top:50px;
  text-align: center;
}
.top_txtArea h2 {
  font-size:2.4rem;
  line-height: 1.5;
  letter-spacing:-1px;
  white-space: pre-wrap;
}
.top_txtArea h2::before{
  display: block;
  content: "";
  width: 0;
  height: 0;
  margin-top: -7.5px;
}
.top_txtArea h2::after{
  display: block;
  content: "";
  width: 0;
  height: 0;
  margin-bottom:-7.5px;
}

.top_txtArea p {
  margin-top:30px;
  text-align:justify;
}
.illust_wrapper {
  text-align: center;
	position:relative;
  margin-top:50px;
}
.top_linkArea{
  width:100%;
  display: flex;
  justify-content: space-between;
  margin:0 auto;
  margin-top:50px;
  margin-bottom:50px;
}
.top_linkArea_harf {
  width:48.684211%;
  margin-right:30px;
}
.top_linkArea_harf:last-child{
  margin-right:0;
}
.top_linkArea_harf figure {
  margin:0;
  padding:0;
}

/* footer
-------------------------------------------------------------*/
.footer {
	margin-top:auto;
}
.footer::before {
  width:100%;
  display: block;
  content: "";
  border-top:5px solid #1e2864;
}
.footer_contents{
	width:100%;
	height:60px;
	position: relative;
	margin-top:2rem;
}
.footer_contents p {
	position:absolute;
	top:1.4rem;
	left:0;
  font-size:1.2rem;
}
.access_logo_area{
	width:160px;
	position:absolute;
	top:0;
	right:0;
}


/* back to top
-------------------------------------------------------------*/
.is_page_top {
  display:flex;
  justify-content: center;
  align-items: center;
  width:60px;
  height:60px;
  padding:0;
  position:fixed;
  right:0;
  bottom:100px;
  background-color:#1e2864;
  border-top-left-radius: 8px;
  border-bottom-left-radius:8px;
}
.is_page_top img {
  transform:rotate(180deg);
  vertical-align: middle;
}


@media screen and (max-width:768px){
   /* Base
  -------------------------------------------------------------*/
  .contents_inner {
	  padding:0 40px;
  }

  /* Text
  -------------------------------------------------------------*/
  .txt_br_md {
    display:inline-block;
  }
  
  /* top_page
  -------------------------------------------------------------*/
  .top_header {
    padding-left:40px;
    padding-right:40px;
  }
  .top_txtArea h2 {
    font-size:2.4rem;
  }
  .top_linkArea {
    flex-direction:column;
    margin-top:30px;
  }
  .top_linkArea_harf {
    width:100%;
    margin-right:0px;
  }
  .top_linkArea_harf:last-child{
    margin-top:30px;
  }
  
  /* footer
  -------------------------------------------------------------*/
  .footer_contents p {
	  font-size:1.0rem;
    position:relative;
  }
  .access_logo_area{
	  width:120px;
  	position:absolute;
	  top:0;
  	right:0;
  }
}



@media screen and (max-width:480px){
  /* Base
  -------------------------------------------------------------*/
  .contents_inner {
	  width:100%;
	  max-width:480px;
	  position:relative;
	  margin:0 auto;
	  padding:0 25px;
  }
  
  /* Text
  -------------------------------------------------------------*/
  .txt_br_sm__hidden {
    display:none;
  }
  
  /* top_page
  -------------------------------------------------------------*/
  .top_header {
    padding-top:40px;
    padding-left:25px;
    padding-right:25px;
  }
  .top_txtArea {
    margin-top:30px;
  }
  .top_txtArea h2 {
    font-size:1.6rem;
    letter-spacing:-1px;
  }
  .top_txtArea p {
    font-size:1.4rem;
  }
  
    /* footer
  -------------------------------------------------------------*/
  .footer_contents{
	  width:100%;
	  position: relative;
	  margin-top:30px;
    margin-bottom:30px;
  }
  .footer_contents p {
    width:100%;
	  position:absolute;
	  top:45px;
	  left:50%;
    transform:translateX(-50%);
    text-align: center;
    font-size:0.8rem;
  }
  .access_logo_area{
	  width:120px;
  	position:absolute;
	  top:0;
  	left:50%;
    transform:translateX(-50%);
  }
}