/******************************* Preface ***************************************/
a:hover { color: #AAB2B7; }

/********************************* body ***************************************/
body { /******************************** header **************************************/ /********************************  Main Content ******************************/ /***********************************  footer ********************************/ }

body header.header .inner { padding: 1.5rem; min-width: 100%; }

body header.header .inner .logo { margin: 0; margin-right: auto; }

body header.header .inner .logo a { display: block; font-size: 1.1rem; }

body header.header .inner .menu-wrapper nav.gnav { display: block; position: fixed !important; top: 0; right: -100%; bottom: 0; width: 80%; padding: 7rem 2rem; background: #fff; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; transition: all .5s; z-index: 3; opacity: 0; margin-right: 0; }

body header.header .inner .menu-wrapper nav.gnav .menu-container { width: 100%; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu { display: flex; flex-wrap: nowrap; flex-direction: column; align-items: flex-end; justify-content: center; width: 100%; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu .menu-item { position: static; width: 100%; height: auto; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu .menu-item:nth-child(n+1) { margin-left: auto; border-bottom: 1px solid #eee; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu .menu-item a { position: relative; display: block; padding: 2.5rem 1rem; font-size: 1.3rem; font-weight: 400; color: #515A58; text-align: center; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu .menu-item a > span { display: block; font-weight: normal; color: white; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu .menu-item:not(:nth-last-child(-n+2))::after { content: ""; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu .menu-item.button { padding-top: 2em; padding-left: 0; border-bottom: none; }

body header.header .inner .menu-wrapper nav.gnav .menu-container .menu .menu-item.button a { width: 100%; font-size: 1.3rem; padding: 2rem; text-align: center; }

body header.header .inner .menu-wrapper .toggle-btn { display: block; position: fixed; right: 1.5rem; width: 30px; height: 19px; transition: all .5s; cursor: pointer; z-index: 3; }

body header.header .inner .menu-wrapper .toggle-btn span { display: block; position: absolute; right: 0; width: 30px; height: 2px; border-radius: 3px; background-color: white; transition: all .5s; }

body header.header .inner .menu-wrapper .toggle-btn span:nth-child(1) { top: 0; }

body header.header .inner .menu-wrapper .toggle-btn span:nth-child(2) { top: 8.5px; }

body header.header .inner .menu-wrapper .toggle-btn span:nth-child(3) { bottom: 0; }

body header.header .inner .menu-wrapper.menu-open .gnav { right: 0; opacity: 1; }

body header.header .inner .menu-wrapper.menu-open .toggle-btn { margin-top: 0; }

body header.header .inner .menu-wrapper.menu-open .toggle-btn span { background-color: #515A58; }

body header.header .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(1) { -webkit-transform: translateY(12px) rotate(-315deg); transform: translateY(12px) rotate(-315deg); }

body header.header .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(2) { opacity: 0; }

body header.header .inner .menu-wrapper.menu-open .toggle-btn span:nth-child(3) { -webkit-transform: translateY(-6px) rotate(315deg); transform: translateY(-6px) rotate(315deg); }

body header.header .inner .menu-wrapper.menu-open .toggle-btn span.scroll { background-color: #000000; }

body header.header .inner .menu-wrapper.menu-open #mask { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: .3; z-index: 2; cursor: pointer; }

body header.header .inner .menu-wrapper #mask { display: none; transition: all .3s; }

body .content-wrap { padding: 4rem 0; }

body .content-wrap .inner { padding: 0 2rem; }

body .content-wrap .inner.inner-l { width: 100%; max-width: 100%; margin: 0 auto; }

body .content-wrap .inner.inner-m { width: 100%; max-width: 100%; margin: 0 auto; }

body .content-wrap .inner.inner-s { width: 100%; max-width: 100%; margin: 0 auto; }

body .content-wrap h1.section-title, body .content-wrap h2.section-title, body .content-wrap h3.section-title, body .content-wrap h4.section-title, body .content-wrap h5.section-title, body .content-wrap h6.section-title { margin-bottom: 3rem; }

body .content-wrap h1.section-title span.main, body .content-wrap h2.section-title span.main, body .content-wrap h3.section-title span.main, body .content-wrap h4.section-title span.main, body .content-wrap h5.section-title span.main, body .content-wrap h6.section-title span.main { font-size: 2.3rem; }

body .content-wrap h1.section-title span.sub, body .content-wrap h2.section-title span.sub, body .content-wrap h3.section-title span.sub, body .content-wrap h4.section-title span.sub, body .content-wrap h5.section-title span.sub, body .content-wrap h6.section-title span.sub { font-size: 1.3rem; }

body .content-wrap .mainvi-wrap { max-width: 100%; padding: 0 1.5rem; }

body .content-wrap .mainvi-wrap img { aspect-ratio: 16/10; }

body .content-wrap ul.top-nav-wrap li a { font-size: 1.3rem; }

body .content-wrap .message-wrap { width: 100%; max-width: 100%; margin: 0 auto; padding: 4rem 0 0; }

body .content-wrap .message-wrap h2 { font-size: 1.25rem; font-weight: 400; }

body .content-wrap .message-wrap h2 span { display: block; padding-bottom: 1.2rem; }

body .content-wrap .message-wrap p { font-size: 1.1rem; }

body .content-wrap .message-wrap p span { position: relative; }

body .content-wrap .message-wrap p span::before { content: ''; background: #AAB2B7; width: 3em; height: 1px; display: block; position: absolute; top: 50%; left: -4em; transform: translateY(-50%); }

body .content-wrap .table tr th { display: block; width: 100%; padding: 1rem 0 0 0; }

body .content-wrap .table tr td { display: block; width: 100%; padding: .5rem 0 1rem; }

body .content-wrap .table tr img { display: block; width: 100%; margin: 0 auto; }

body footer.footer { margin-top: 1rem; }

body footer.footer .inner { padding: 4rem 1rem; }

body footer.footer .inner .flex-wrap { display: block; }

body footer.footer .inner .flex-wrap .info { width: 100%; padding-bottom: 1.5rem; }

body footer.footer .inner .flex-wrap .info .logo img { max-width: 200px; }

body footer.footer .inner .flex-wrap .info .add { line-height: 2; }

body footer.footer .inner .flex-wrap .tail { width: 100%; }

body footer.footer .inner .flex-wrap .tail nav { padding-bottom: 0; }

body footer.footer .inner .flex-wrap .tail nav .menu-footer-container { display: flex; width: 100%; justify-content: flex-start; }

body footer.footer .inner .flex-wrap .tail nav .menu-footer-container .list-wrap { width: calc(100% / 3); }

body footer.footer .copyright { flex-wrap: wrap; flex-direction: column-reverse; padding: 1.5rem 1rem; }

body footer.footer .copyright a { display: block; font-size: .85rem; margin-bottom: .5rem; }

body .arrow_btn { padding: 2rem 1.5rem 2rem 1.5rem; }

body .arrow_btn .arrow_btn_item { width: 48%; position: relative; }

body .arrow_btn .arrow_btn_item a { font-size: .9rem; }

body .arrow_btn .arrow_btn_item.prev a { padding: .5rem 0rem .5rem 1rem; }

body .arrow_btn .arrow_btn_item.next a { padding: .5rem 1rem .5rem 0rem; }
