.wrapper {
  height: 2000px;
}
/*
header
*/
.header_contents {
  position: fixed;
  top: 0;
  z-index: 99;
  width: 100%;
  height: 50px;
  background: rgba(20, 27, 32, 0.8);
}
.logo {
  position: absolute;
  top: 12px;
  left: 14px;
}
.logo a:first-child {
  margin: 0 15px 0 0;
}
.tmdu_logo {
  height: 22px;
  vertical-align: middle;
}
.logo_txt {
  width: 120px;
  height: 22px;
  vertical-align: middle;
}
@media only screen and (min-width: 351px) {
  .logo a:first-child {
    margin: 0 20px 0 0;
  }
  .tmdu_logo {
    height: 24px;
  }
  .logo_txt {
    width: 160px;
    height: 30px;
  }
}
@media only screen and (min-width: 961px) {
  .header_contents {
    height: 80px;
  }
  .logo {
    top: 18px;
    left: 26px;
  }
  .logo a:first-child {
    margin: 0 16px 0 0;
  }
  .tmdu_logo {
    height: 35px;
  }
  .logo_txt {
    width: 610px;
    height: 37px;
  }
}
@media only screen and (min-width: 1401px) {
  .logo {
    top: 13px;
    left: 52px;
  }
  .tmdu_logo {
    height: 55px;
  }
  .logo_txt {
    width: 941px;
    height: 57px;
  }
}
/*
ナビ
*/
.nav_btn {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 100;
  width: 50px;
  height: 50px;
  background: #7F96C2;
  cursor: pointer;
}
.nav_btn_open {
  border: solid #ccc 1px;
  background: #fff;
}
.nav_btn_wrap {
  position: relative;
  width: 24px;
  height: 24px;
  transition: all 0.5s ease-out;
}
.nav_btn_txt {
  position: relative;
  top: -2px;
  left: -3px;
  z-index: -1;
  font-size: 11px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  transition: all 0.5s ease-out;
}
.nav_btn_line {
  position: absolute;
  display: none;
  width: 100%;
  height: 2px;
  background: #395246;
  transition: transform 0.6s;
  transition: all 0.5s ease-out;
}
.nav_btn_line_open {
  display: block;
}
.nav_btn_line-center {
  top: 8px;
  display: none;
}
.nav_btn_line-bottom {
  top: 8px;
}
.nav_btn_line-top.active {
  top: 10px;
  transform: rotate(45deg);
}
.nav_btn_line-center.active {
  transform: scaleX(0);
}
.nav_btn_line-bottom.active {
  top: 10px;
  transform: rotate(-45deg);
}
.gnav {
  position: fixed;
  top: 0;
  z-index: 99;
  display: none;
  width: 100%;
  height: 100%;
  background: #fff;
  overflow-y: scroll;
}
.gnav_wrap {
  display: flex;
  flex-direction: column;
  flex-flow: column;
  /*
	animation: gnav_wrap_ani02 .5s linear;
*/
}
.gnav_wrap_ani {
  /*
	animation: gnav_wrap_ani01 .5s linear;
*/
}
@keyframes gnav_wrap_ani01 {
  0% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes gnav_wrap_ani02 {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-10px);
  }
}
.menu_list {
  padding: 64px 36px 60px;
}
.menu_box_wrap {
  padding: 45px 0 0;
}
.menu_page_top {
  font-size: 19px;
  font-weight: bold;
}
.menu_box {
  margin: 0 0 45px;
}
.menu_box:last-child {
  margin: 0;
}
.menu_box li {
  margin: 0 0 10px;
  line-height: 19px;
}
.menu_box li:nth-child(1) {
  margin: 0 0 15px;
}
.menu_box li a.menu_page {
  color: #141b20;
  font-size: 19px;
  font-weight: bold;
}
.menu_box li a {
  color: #bbb;
  font-size: 14px;
}
.menu_img {
  background: url(../images/common/menu_img_sp.jpg) no-repeat;
  background-size: 100%;
}
.menu_img:before {
  content: "";
  display: block;
  padding-top: 54%;
}
.nav_copy {
  padding: 45px 0 25px;
  text-align: center;
}
.nav_copy small {
  color: #bbb;
  font-size: 13px;
}
@media only screen and (min-width: 769px) {
  .menu_box_wrap {
    display: flex;
    flex-wrap: wrap;
  }
  .menu_box {
    margin: 0;
  }
  .menu_box:nth-child(2n) {
    width: 55%;
    padding: 0 0 0 10px;
  }
  .menu_box:nth-child(2n + 1) {
    width: 45%;
    padding: 0 10px 0 0;
  }
  .menu_box:nth-child(n + 3) {
    margin: 100px 0 0;
  }
  .menu_box li:nth-child(1) {
    margin: 0 0 20px;
  }
}
@media only screen and (min-width: 961px) {
  .nav_btn {
    width: 80px;
    height: 80px;
  }
  .nav_btn_wrap {
    width: 37px;
    height: 37px;
  }
  .nav_btn_txt {
    position: relative;
    top: 6px;
    left: -8px;
    font-size: 18px;
  }
  .nav_btn_line-center {
    top: 11px;
  }
  .nav_btn_line-bottom {
    top: 10px;
  }
  .nav_btn_line-top.active {
    top: 15px;
  }
  .nav_btn_line-bottom.active {
    top: 15px;
  }
  .nav_btn_txt.close {
    letter-spacing: 1px;
  }
  .gnav {
    overflow-y: auto;
  }
  /*
	.gnav::-webkit-scrollbar {
		display: none;
	}
*/

  .gnav_wrap {
    flex-direction: row;
    flex-flow: row-reverse;
    height: 100%;
    margin: 0;
  }
  .menu_list {
    width: 65%;
    padding: 100px 80px 60px;
    overflow-y: scroll;
    /*
		-ms-overflow-style: none;
		scrollbar-width: none;
*/
  }
  /*
	.menu_list::-webkit-scrollbar {
		display: none;
	}
*/

  .menu_img {
    width: 35%;
    background: url(../images/common/menu_img_pc.jpg) no-repeat;
  }
  .menu_img:before {
    display: none;
  }
  .menu_box_wrap {
    padding: 90px 0 0;
  }
  .menu_page_top {
    font-size: 24px;
  }
  .menu_box li a.menu_page {
    font-size: 24px;
  }
  .menu_box li a {
    font-size: 18px;
  }
  .nav_copy {
    margin: 100px 0 0;
    padding: 0;
    text-align: right;
  }
}
@media only screen and (min-width: 1025px) {
  .menu_list {
    padding: 154px 146px 106px;
  }
}
@media only screen and (min-width: 1201px) {
}
@media only screen and (min-width: 1551px) {
}
/*
page_body
*/
.page_body_01 {
  width: 100%;
  padding: 0 36px;
}
.page_body_02 {
  width: 100%;
  padding: 0 36px;
}
.page_body_03 {
  width: 100%;
  padding: 0 36px;
}
@media only screen and (min-width: 1131px) {
  .page_body_03 {
    width: 1112px;
    margin: auto;
    padding: 0;
  }
}
@media only screen and (min-width: 1301px) {
  .page_body_01 {
    width: 1232px;
    margin: auto;
    padding: 0;
  }
}
@media only screen and (min-width: 1671px) {
  .page_body_02 {
    width: 1650px;
    margin: auto;
    padding: 0;
  }
}
/*
ページトップ
*/
.page_top {
  display: none;
}
.page_top a {
  width: 60px;
  height: 60px;
  margin: 0 0 27px;
  display: block;
  background: url(../images/common/page_top.svg) no-repeat;
  background-size: 60px 60px;
}
.page_top {
  position: fixed;
  right: 6%;
  bottom: 30px;
  z-index: 10;
}
.page_top_right {
  right: 60%;
}
@media only screen and (min-width: 641px) {
  .page_top a {
    width: 80px;
    height: 80px;
    margin: 0 0 10px;
    background: url(../images/common/page_top.svg) no-repeat;
    background-size: 80px 80px;
  }
}

/* footer */
.footer {
  display: flex;
  flex-direction: column;
  height: 100px;
  padding: 25px 36px 0;
  text-align: left;
}
.footer_logo {
  text-align: center;
}
.footer_copy {
  margin: 28px 0 0;
  text-align: center;
}
.footer_copy small {
  font-size: 10px;
}
@media only screen and (min-width: 769px) {
  .footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    height: 100px;
    padding: 0 60px;
  }
  .footer_logo {
    text-align: left;
  }
  .footer_copy {
    margin: 0;
  }
  .footer_copy small {
    font-size: 13px;
  }
}
/*
スクロール背景固定
*/
.scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}
/*
ボタン
*/
a.btn_type_01 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 300px;
  height: 50px;
  background: #050a50;
  text-align: center;
  padding: 0 2em;
  font-size: 11px;
  font-weight: bold;
  border: 1px solid #050a50;
  transition: all 1s ease-out;
}
@media all and (-ms-high-contrast: none) {
  a.btn_type_01 {
    padding: 0.5em 2em 0;
  }
}
a.btn_type_01 span.link_txt {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}
a.btn_type_01 span.link_arw {
  position: relative;
  width: 12px;
  height: 21px;
}
a.btn_type_01 span.link_arw img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
a.btn_type_01 span.link_arw .btn_type_01_h {
  z-index: 2;
}
@media screen and (min-width: 769px) {
  a.btn_type_01 span.link_arw img {
    -webkit-transition: opacity 1s ease-out;
    -moz-transition: opacity 1s ease-out;
    -ms-transition: opacity 1s ease-out;
    transition: opacity 1s ease-out;
  }
  a.btn_type_01:hover {
    /*
		border: 1px solid #050A50;
*/
    background: #141b20;
    /*
		color: #050A50;
*/
  }
  a.btn_type_01:hover span.link_txt {
    /*
		color: #050A50;
*/
  }
  a.btn_type_01:hover span.link_arw img.btn_type_01_h {
    /*
		opacity: 0;
		-webkit-opacity: 0;
		-moz-opacity: 0;
		filter: alpha(opacity=0);
		-ms-filter: "alpha(opacity=0)";
*/
  }
}
@media all and (-ms-high-contrast: none) and (min-width: 769px) {
  a.transparentbtn {
    padding: 0.5em 4em 0 2em;
  }
}
