@charset "UTF-8";
@font-face { font-family: "Yakuhan"; src: url("fonts/YakuHanJPs-Regular.woff") format("woff"); }

@font-face { font-family: "YakuhanMin"; src: url("fonts/YakuHanMPs-Regular.woff") format("woff"); }

*, *:before, *:after { margin: 0; padding: 0; text-indent: 0; position: relative; box-sizing: border-box; }

html { font-size: 15px; }

body { font-weight: 500; font-family: "YakuhanMin", "Yu Mincho", "YuMincho", 'Noto Serif JP', serif; font-size: 1.0rem; line-height: 1.75; }

ul, ol { list-style: none; }

img { border: none; vertical-align: bottom; }

h1, h2, h3, h4, h5, h6, pre, address, em, strong, th, ins { font-size: 1em; font-weight: 500; font-style: normal; }

table { border-collapse: collapse; border: 0; }

th { text-align: left; }

a { text-decoration: none; color: inherit; }

a:visited { color: inherit; }

a:hover { text-decoration: underline; }

br { letter-spacing: 0; }

button { background: none; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }

img[src$=".svg"] { width: 100%; }

@media (min-width: 581px) { .tel { pointer-events: none; } }

.hack::after { display: block; clear: both; content: ""; }

.clear { clear: both; }

.center { left: 0; right: 0; margin-left: auto; margin-right: auto; }

.ib { display: inline-block; }

.fcc { display: flex; justify-content: center; align-items: center; }

.body_wrap { min-height: 80vh; }

.scroll_top01 { position: absolute; top: -30px; z-index: 887; margin-left: 48%; width: 65px; }

.scroll_top02 { position: absolute; top: -30px; z-index: 887; margin-left: 48%; width: 65px; }

.brsp { display: none; }

@media (max-width: 580px) { .brsp { display: inline; } }

@media (max-width: 580px) { .brpc { display: none; } }

.img100 { width: 100%; height: auto; vertical-align: bottom; }

#wrap h2 { margin-bottom: 30px; }

@media (max-width: 740px) { .global-nav .info_in_login { left: 0; right: 0; margin-left: auto; margin-right: auto; } }

@media screen and (max-width: 640px) { .scroll_top01 { position: absolute; top: -30px; z-index: 887; margin-left: 47%; width: 50px; }
  .scroll_top02 { position: absolute; top: -30px; z-index: 887; margin-left: 47%; width: 50px; } }

.header_wrap { position: fixed; background: rgba(255, 255, 255, 0.85); width: 100%; top: 0; margin-top: 0; display: flex; flex-flow: row; justify-content: flex-end; z-index: 999; padding: 10px; position: fixed; }

.header_wrap_h1 { margin-right: auto; width: 320px; position: absolute; top: 15px; left: 15px; }

.header_inner { display: flex; flex-flow: row nowrap; justify-content: space-between; align-items: center; color: #000; font-size: 14px; z-index: 999; }

.info_btn { height: 60px; display: flex; align-items: center; margin-right: 30px; }

.h_req { margin-right: 20px; }

.sp_navi_menu { display: block; overflow: hidden; width: 25px; height: 25px; transition: all 0.3s; z-index: 999; }

.sp_navi_menu_active { display: block; overflow: hidden; width: 25px; height: 25px; transition: all 0.3s; z-index: 999; }

.off { display: none; }

.nolink { opacity: 0.3; pointer-events: none; }

/*トグルボタン*/
.nav-toggle { width: 60px; height: 60px; display: -webkit-box; display: -ms-flexbox; display: -webkit-flex; display: flex; flex-flow: row; cursor: pointer; }

.nav-toggle div { position: relative; margin: 14px 0 0 10px; }

.nav-toggle span { display: block; position: absolute; height: 2px; width: 30px; background: #000; -webkit-transition: .35s ease-in-out; -moz-transition: .35s ease-in-out; transition: .35s ease-in-out; }

.nav-toggle span:nth-child(1) { top: 5px; }

.nav-toggle span:nth-child(2) { top: 15px; }

.nav-toggle span:nth-child(3) { top: 25px; }

/*グローバルナビ*/
.global-nav { display: none; position: absolute; top: 0; right: 0; margin-top: -555px; background: rgba(16, 82, 117, 0.9); width: 30%; min-width: 300px; height: 100vh; text-align: left; -webkit-transition: .5s ease-in-out; -moz-transition: .5s ease-in-out; transition: .5s ease-in-out; z-index: 888; }

.global-nav ul li a { width: 100%; display: block; color: #fff; padding: 20px; border-bottom: 1px solid #fff; }

.m_new { margin-left: 10px; background: #cc0000; padding: 0 5px; font-size: 12px; }

.global-nav ul li a:hover { color: #000; }

.global-nav ul li:first-child { margin-top: 100px; }

.nav-toggle { display: none; position: relative; }

@media (max-width: 740px) { .nav-toggle { display: block; } }

.nav-toggle .new { padding-left: 4px; color: #fff; position: absolute; top: 5px; right: 5px; font-size: 12px; width: 18px; height: 18px; -webkit-border-radius: 9px; /* width,heightの半分 */ -moz-border-radius: 9px; border-radius: 18px; background-color: #cc0000; /* 円の色 */ z-index: 9999; }

.open .nav-toggle span:nth-child(1) { top: 15px; -webkit-transform: rotate(315deg); -moz-transform: rotate(315deg); transform: rotate(315deg); }

.open .nav-toggle span:nth-child(2) { width: 0; left: 50%; }

.open .nav-toggle span:nth-child(3) { top: 15px; -webkit-transform: rotate(-315deg); -moz-transform: rotate(-315deg); transform: rotate(-315deg); }

.open .global-nav { display: block; -moz-transform: translateY(556px); -webkit-transform: translateY(556px); transform: translateY(556px); }

@media screen and (max-width: 740px) { .header_wrap { padding-bottom: 5px; background: rgba(255, 255, 255, 0.75); box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }
  .header_wrap_h1 { width: 240px; position: absolute; top: 10px; left: 15px; }
  .info_btn { width: 30px; margin-right: 15px; }
  .info_btn_p { display: none !important; }
  .h_req { display: none; }
  .nav-toggle { width: 50px; margin-right: 5px; }
  .global-nav { width: 100%; text-align: center; } }

/*フッター*/
.footer { width: 100%; background: linear-gradient(#ffffff, #999999); color: #000000; text-align: center; }

.footer_inner { max-width: 750px; padding: 30px; }

.footer_menu { display: flex; flex-flow: row wrap; justify-content: space-around; align-items: flex-start; margin-bottom: 30px; }

.footer_menu_li { width: 25%; text-align: center; }

@media (max-width: 580px) { .footer_menu_li { width: 50%; } }

.footer_logo { display: flex; flex-flow: row wrap; justify-content: space-around; align-items: flex-start; }

.footer_logo_a { display: block; width: 44%; max-width: 300px; }

@media (max-width: 580px) { .footer_logo_a { width: 100%; } }

.copyright { width: 100%; padding: 30px 0; background: #000000; color: #FFF; font-size: 12px; }

.pagetop { display: block; position: fixed; bottom: 5px; right: 5px; width: 50px; z-index: 9999; transition: transform 0.5s linear; transform: translateX(100px); }

.pagetop.show { transform: none; }

.cap { font-size: 12px; }

@media screen and (max-width: 960px) { .sp_none { display: block; }
  #footer_inner { padding: 10px; }
  .footer_inner #tel { flex-flow: column; }
  .footer_inner a { margin-bottom: 5px; }
  .footer_inner p { margin-bottom: 5px; } }

section.section_body h1 { padding-top: 100px; margin-bottom: 40px; font-size: 24px; text-align: center; text-decoration: underline; }

.text_bunjo{ font-size: 12px;}

.text_bunjo_color{ color: #FF3030;}