@charset "UTF-8";
/***Stylesheet 共通***/
/**リセット**/
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; color: #000; background: #FFF; line-height: 1.5; }

*, *::before, *::after { box-sizing: border-box; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, input, textarea, p, blockquote, th, td, figure { margin: 0; padding: 0; }

table { border-collapse: collapse; border-spacing: 0; }

fieldset, img, svg { border: 0; }

address, caption, cite, dfn, em, strong, th { font-style: normal; font-weight: normal; }

ol, ul { list-style: none; }

caption, th { text-align: left; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

abbr { border: 0; font-variant: normal; }

sup { vertical-align: text-top; }

sub { vertical-align: text-bottom; }

input, textarea, select, button { font-family: inherit; font-size: inherit; font-weight: inherit; color: inherit; margin: 0; padding: 0; border: none; outline: none; background: none; appearance: none; -webkit-appearance: none; }

input[type="submit"], input[type="button"], input[type="reset"] { appearance: none; -webkit-appearance: none; border-radius: 0; }

textarea { resize: vertical; }

article, aside, footer, header, nav, section { display: block; }

img, svg, video { max-width: 100%; height: auto; vertical-align: bottom; }

a, a:focus, a:hover { text-decoration: none; color: inherit; outline: none; }

/**common**/
html { font-family: "Noto Sans JP", sans-serif; font-size: max(10px, 0.7143vw); font-optical-sizing: auto; font-weight: 400; font-style: normal; color: #000000; background-color: #ffffff; scroll-behavior: smooth; }
@media only screen and (max-width: 767px) { html { height: 100%; font-size: 2.6667vw; } }

body { font-size: 1.6rem; }
@media only screen and (max-width: 767px) { body { -webkit-text-size-adjust: 100%; } }

a { color: #000000; }
a[href^="tel:"] { cursor: default; }
a[href^="tel:"]:hover { text-decoration: none; }

@media only screen and (max-width: 999px) { .pc { display: none !important; } }

@media only screen and (max-width: 767px) { .pc_tb { display: none !important; } }

@media only screen and (min-width: 1000px) { .tb_sp { display: none !important; } }

@media only screen and (min-width: 768px) { .sp { display: none !important; } }

.inner { width: 94.3%; margin: 0 auto; }
@media only screen and (max-width: 767px) { .inner { width: 89.333%; } }
.inner .inner_in { width: 100%; max-width: 1000px; margin: 0 auto; }
@media only screen and (min-width: 1400px) { .inner .inner_in { width: 75.8%; max-width: none; } }
@media only screen and (max-width: 767px) { .inner .inner_in { width: 100%; } }

.btn01 { width: 56rem; max-width: 90%; padding: 1.66em; font-size: 1.8rem; font-weight: 500; letter-spacing: 0.01em; text-align: center; color: #ffffff !important; background-color: #004da0; -webkit-border-radius: 1rem; -moz-border-radius: 1rem; border-radius: 1rem; display: inline-block; position: relative; }
@media only screen and (max-width: 767px) { .btn01 { padding: 2.05em; -webkit-border-radius: 0.5rem; -moz-border-radius: 0.5rem; border-radius: 0.5rem; } }
.btn01 .arrow { width: 3rem; height: 0.6rem; margin-top: -0.3rem; position: absolute; top: 50%; right: 3.5rem; overflow: hidden; }
@media only screen and (max-width: 767px) { .btn01 .arrow { width: 2rem; height: 0.4rem; margin-top: -0.2rem; right: 1.5rem; } }
.btn01 .arrow:before, .btn01 .arrow:after { width: 100%; height: 100%; content: ''; background-image: url("../images/common/icon_arrow03.svg"); background-repeat: no-repeat; -webkit-background-size: 100% 100%; background-size: 100% 100%; position: absolute; top: 0; right: 0; animation-fill-mode: forwards; animation-duration: 0.6s; }
.btn01 .arrow:after { transform: translateX(-100%); }
@media only screen and (max-width: 767px) { .btn01 .arrow:after { content: none !important; } }
@media only screen and (min-width: 768px) { .btn01 { -webkit-transition: background-color 0.3s; transition: background-color 0.3s; } }
@media only screen and (min-width: 768px) and (min-width: 768px) { .btn01:hover { background-color: rgba(0, 77, 160, 0.8); } }
@media only screen and (min-width: 768px) and (min-width: 768px) { .btn01:hover .arrow:before { animation-name: transformRightLeft; animation-delay: 0s; } }
@media only screen and (min-width: 768px) and (min-width: 768px) { .btn01:hover .arrow:after { animation-name: transformLeftRight; animation-delay: 0.2s; } }

@media only screen and (max-width: 767px) { .btn01 { font-size: 1.6rem; } }

.fadeIn { opacity: 0; visibility: hidden; -webkit-animation: fadeIn 1s ease-out both; animation: fadeIn 1s ease-out both; }
@media only screen and (min-width: 768px) { .fadeIn.delay1 { animation-delay: 0.3s; }
  .fadeIn.delay2 { animation-delay: 0.6s; }
  .fadeIn.delay3 { animation-delay: 0.9s; }
  .fadeIn.delay4 { animation-delay: 1.2s; }
  .fadeIn.delay5 { animation-delay: 1.5s; }
  .fadeIn.delay6 { animation-delay: 1.8s; }
  .fadeIn.delay7 { animation-delay: 2.1s; }
  .fadeIn.delay8 { animation-delay: 2.4s; }
  .fadeIn.delay9 { animation-delay: 2.7s; }
  .fadeIn.delay10 { animation-delay: 3s; } }

@-webkit-keyframes fadeIn { 0% { opacity: 0; -webkit-transform: translateY(1.5rem); transform: translateY(1.5rem); }
  100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } }
@keyframes fadeIn { 0% { opacity: 0; -webkit-transform: translateY(1.5rem); transform: translateY(1.5rem); }
  100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); } }
@media only screen and (min-width: 768px) { .common_recomend { padding-bottom: 4rem; } }
@media only screen and (max-width: 767px) { .common_recomend { padding-bottom: 5rem; } }
.common_recomend h2 { margin-bottom: 2.5em; font-size: 2rem; font-weight: 500; text-align: center; color: #004da0; overflow: hidden; }
@media only screen and (max-width: 767px) { .common_recomend h2 { margin-bottom: 1.8em; font-size: 1.6rem; } }
.common_recomend h2 span { padding: 0 1.5em; display: inline-block; position: relative; }
.common_recomend h2 span:before, .common_recomend h2 span:after { width: 9999px; height: 1px; content: ''; background-color: #004da0; position: absolute; top: 50%; }
.common_recomend h2 span:before { right: 100%; }
.common_recomend h2 span:after { left: 100%; }
@media only screen and (min-width: 768px) { .common_recomend ul { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
@media only screen and (min-width: 768px) { .common_recomend ul li { width: 30.7%; } }
@media only screen and (max-width: 767px) { .common_recomend ul li + li { margin-top: 1.6rem; } }
.common_recomend ul li a { display: block; }
@media only screen and (min-width: 768px) { .common_recomend ul li a:hover .img img { opacity: 0.6; -webkit-transform: scale(1.1, 1.1); transform: scale(1.1, 1.1); }
  .common_recomend ul li a:hover p .arrow:before { animation-name: transformRightLeft; animation-delay: 0s; }
  .common_recomend ul li a:hover p .arrow:after { animation-name: transformLeftRight; animation-delay: 0.2s; } }
@media only screen and (max-width: 767px) { .common_recomend ul li a { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; } }
.common_recomend ul li a .img { aspect-ratio: 300/160; overflow: hidden; }
.common_recomend ul li a .img > img, .common_recomend ul li a .img > video { width: 100%; height: 100%; object-fit: cover; }
@media only screen and (min-width: 768px) { .common_recomend ul li a .img { margin-bottom: 2rem; -webkit-border-radius: 3rem; -moz-border-radius: 3rem; border-radius: 3rem; }
  .common_recomend ul li a .img img { -webkit-transition: transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s; } }
@media only screen and (max-width: 767px) { .common_recomend ul li a .img { width: 44.7%; -webkit-border-radius: 1.5rem; -moz-border-radius: 1.5rem; border-radius: 1.5rem; } }
.common_recomend ul li a p { font-weight: 500; color: #004da0; }
@media only screen and (min-width: 768px) { .common_recomend ul li a p { font-size: 1.8rem; text-align: center; } }
@media only screen and (max-width: 767px) { .common_recomend ul li a p { width: 47%; font-size: 1.4rem; } }
.common_recomend ul li a p .arrow { width: 3rem; height: 0.6rem; margin: 1.2rem auto 0 auto; position: relative; display: block; overflow: hidden; }
@media only screen and (max-width: 767px) { .common_recomend ul li a p .arrow { width: 2rem; height: 0.4rem; margin: 1.5rem 0 0 0; } }
.common_recomend ul li a p .arrow:before, .common_recomend ul li a p .arrow:after { width: 100%; height: 100%; content: ''; background-image: url("../images/common/icon_arrow02.svg"); background-repeat: no-repeat; -webkit-background-size: 100% 100%; background-size: 100% 100%; position: absolute; top: 0; right: 0; animation-fill-mode: forwards; animation-duration: 0.6s; }
.common_recomend ul li a p .arrow:after { transform: translateX(-100%); }
@media only screen and (max-width: 767px) { .common_recomend ul li a p .arrow:after { content: none !important; } }
.common_recomend ul li.line a .img { border: 1px solid #c2e9fb; }

@keyframes transformLeftRight { 0% { transform: translateX(-100%); }
  100% { transform: translateX(0); } }
@keyframes transformRightLeft { 0% { transform: translateX(0); }
  100% { transform: translateX(100%); } }
/**ヘッダー**/
#header .logo_area { width: 100%; top: 0; left: 0; z-index: 90; }
@media only screen and (min-width: 768px) { #header .logo_area { height: 0; position: absolute; } }
@media only screen and (max-width: 767px) { #header .logo_area { height: 8rem; background-color: #ffffff; position: fixed; } }
@media only screen and (min-width: 768px) { #header .logo_area .inner { height: 0; } }
#header .logo_area .logo { background-color: #ffffff; }
@media only screen and (min-width: 768px) { #header .logo_area .logo { width: 39rem; -webkit-border-radius: 0 0 3rem 0; -moz-border-radius: 0 0 3rem 0; border-radius: 0 0 3rem 0; position: relative; }
  #header .logo_area .logo:before, #header .logo_area .logo:after { width: 5.7rem; height: 5.7rem; content: ''; background-image: url("../images/common/header_logo_box_corner.png"); -webkit-background-size: 100% 100%; background-size: 100% 100%; position: absolute; }
  #header .logo_area .logo:before { top: 2.9rem; left: calc(100% - 0.1rem); }
  #header .logo_area .logo:after { top: calc(100% - 0.1rem); left: -0.1rem; } }
@media only screen and (max-width: 767px) { #header .logo_area .logo { width: 25rem; } }
#header .logo_area .logo a { width: 100%; height: 10.9rem; padding-top: 3.5rem; letter-spacing: -0.4em; display: block; }
#header .logo_area .logo a > * { display: inline-block; letter-spacing: normal; }
@media only screen and (max-width: 767px) { #header .logo_area .logo a { height: 8rem; padding-top: 2rem; } }
#header .logo_area .logo a img { width: 17.3rem; }
@media only screen and (max-width: 767px) { #header .logo_area .logo a img { width: 14.2rem; } }
#header .logo_area .logo a span { margin-left: 4rem; vertical-align: 0.8em; }
@media only screen and (max-width: 767px) { #header .logo_area .logo a span { margin-left: 1.5rem; font-size: 1.2rem; } }
#header .burger_menu_button { width: 100%; height: 0; position: fixed; top: 0; left: 0; z-index: 99; }
#header .burger_menu_button .inner { height: 0; }
#header .burger_menu_button .btn { width: 8.7rem; height: 8.9rem; margin: 0 -2rem 0 auto; background-color: #ffffff; -webkit-border-radius: 0 0 0 3rem; -moz-border-radius: 0 0 0 3rem; border-radius: 0 0 0 3rem; position: relative; }
@media only screen and (max-width: 767px) { #header .burger_menu_button .btn { width: 7rem; height: 8rem; -webkit-border-radius: 0 0 0 2rem; -moz-border-radius: 0 0 0 2rem; border-radius: 0 0 0 2rem; } }
@media only screen and (min-width: 768px) { #header .burger_menu_button .btn:after { width: 100px; height: 100%; content: ''; background-color: #ffffff; position: absolute; top: 0; left: 99%; } }
#header .burger_menu_button .btn span { width: 4rem; height: 2px; background-color: #000000; position: absolute; left: 2.4rem; -webkit-transition: transform 0.3s, opacity 0.3s, top 0.3s; transition: transform 0.3s, opacity 0.3s, top 0.3s; }
@media only screen and (max-width: 767px) { #header .burger_menu_button .btn span { width: 3rem; left: 2rem; } }
#header .burger_menu_button .btn span:nth-child(1) { top: 3.3rem; }
@media only screen and (max-width: 767px) { #header .burger_menu_button .btn span:nth-child(1) { top: 2.5rem; } }
#header .burger_menu_button .btn span:nth-child(2) { top: 4.8rem; }
@media only screen and (max-width: 767px) { #header .burger_menu_button .btn span:nth-child(2) { top: 3.8rem; } }
#header .burger_menu_button .btn span:nth-child(3) { top: 6.3rem; }
@media only screen and (max-width: 767px) { #header .burger_menu_button .btn span:nth-child(3) { top: 5rem; } }
#header .burger_menu_button .btn p { width: 100%; font-size: 1.2rem; font-weight: 700; text-align: center; position: absolute; bottom: 0; left: 0; -webkit-transform: scale(0); transform: scale(0); -webkit-transition: transform 0.3s; transition: transform 0.3s; }
@media only screen and (max-width: 767px) { #header .burger_menu_button .btn p { font-size: 1rem; font-weight: 400; bottom: 1rem; } }
#header .burger_menu { width: 100%; height: 100vh; overflow: auto; background-color: #ffffff; position: fixed; top: 0; left: 0; z-index: 98; opacity: 0; -webkit-transform: scale(0); transform: scale(0); -webkit-transition: opacity 0.3s; transition: opacity 0.3s; }
@media only screen and (min-width: 768px) { #header .burger_menu { padding-top: 10.6rem; } }
@media only screen and (max-width: 767px) { #header .burger_menu { height: calc(100vh - 8rem); top: 8rem; } }
#header .burger_menu .menu_area { background: -webkit-linear-gradient(134deg, rgba(0, 77, 160, 0.1), rgba(0, 150, 255, 0.1), rgba(150, 201, 255, 0.1)); background: linear-gradient(134deg, rgba(0, 77, 160, 0.1), rgba(0, 150, 255, 0.1), rgba(150, 201, 255, 0.1)); }
@media only screen and (min-width: 768px) { #header .burger_menu .menu_area { width: calc(100% - 20rem); min-height: 71.7rem; margin: 0 0 0 auto; padding: 10rem; -webkit-border-radius: 3rem 0 0 3rem; -moz-border-radius: 3rem 0 0 3rem; border-radius: 3rem 0 0 3rem; position: relative; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; } }
@media only screen and (min-width: 768px) and (max-width: 1399px) { #header .burger_menu .menu_area { width: 85.7%; padding: 10rem 4vw 10rem 7.14vw; } }
@media only screen and (min-width: 768px) { #header .burger_menu .menu_area:before { width: 19.4rem; height: auto; margin-left: -9.7rem; aspect-ratio: 194/717; content: ''; background-image: url("../images/common/menu_text.png"); -webkit-background-size: 100% 100%; background-size: 100% 100%; position: absolute; top: 0; left: 0; } }
@media only screen and (min-width: 768px) and (max-width: 1399px) { #header .burger_menu .menu_area:before { width: 13.85vw; margin-left: -8.5vw; } }
@media only screen and (min-width: 768px) { #header .burger_menu .menu_area .navi:nth-child(1) { width: 37%; }
  #header .burger_menu .menu_area .navi:nth-child(2) { width: 28%; }
  #header .burger_menu .menu_area .navi:nth-child(3) { width: 35%; }
  #header .burger_menu .menu_area .navi > li { font-size: 1.8rem; font-weight: 500; }
  #header .burger_menu .menu_area .navi > li + li { margin-top: 2.5rem; }
  #header .burger_menu .menu_area .navi > li a { -webkit-transition: color 0.3s; transition: color 0.3s; }
  #header .burger_menu .menu_area .navi > li a:hover, #header .burger_menu .menu_area .navi > li a.current { color: #004da0; }
  #header .burger_menu .menu_area .navi > li .child { padding-left: 1em; }
  #header .burger_menu .menu_area .navi > li .child > li { margin-top: 2rem; font-size: 1.4rem; font-weight: 400; } }
@media only screen and (max-width: 767px) { #header .burger_menu .menu_area { width: 100%; padding-bottom: 2rem; }
  #header .burger_menu .menu_area .navi { width: 89.333%; margin: 0 auto; }
  #header .burger_menu .menu_area .navi > li { font-size: 1.4rem; border-bottom: solid 1px #ffffff; }
  #header .burger_menu .menu_area .navi > li a.current { color: #004da0; }
  #header .burger_menu .menu_area .navi > li > a { padding: 1.43em 0; display: block; position: relative; }
  #header .burger_menu .menu_area .navi > li > a:not(.sp_noLink):after { width: 1.5rem; height: 0.3rem; margin-top: -0.175rem; content: ''; background-image: url("../images/common/icon_arrow01.svg"); -webkit-background-size: 100% 100%; background-size: 100% 100%; position: absolute; top: 50%; right: 0; } }
@media only screen and (max-width: 767px) and (max-width: 767px) { #header .burger_menu .menu_area .navi > li > a:not(.sp_noLink):after { width: 1.4rem; height: 0.4rem; background-image: url("../images/common/icon_arrow01_sp.svg"); } }
@media only screen and (max-width: 767px) { #header .burger_menu .menu_area .navi > li > a.sp_noLink:before, #header .burger_menu .menu_area .navi > li > a.sp_noLink:after { width: 1.2rem; height: 1px; content: ''; background-color: #000000; position: absolute; top: 50%; right: 0; -webkit-transition: transform 0.3s; transition: transform 0.3s; }
  #header .burger_menu .menu_area .navi > li > a.sp_noLink:after { width: 1rem; right: 0.1rem; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  #header .burger_menu .menu_area .navi > li > a.sp_noLink.open:before, #header .burger_menu .menu_area .navi > li > a.sp_noLink.open:after { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
  #header .burger_menu .menu_area .navi > li .child { display: none; border-top: solid 1px #ffffff; }
  #header .burger_menu .menu_area .navi > li .child li { border-bottom: solid 1px #ffffff; }
  #header .burger_menu .menu_area .navi > li .child li:last-child { border-bottom: none; }
  #header .burger_menu .menu_area .navi > li .child li > a { padding: 1.43em 2.85em 1.43em 1.5em; display: block; position: relative; }
  #header .burger_menu .menu_area .navi > li .child li > a:after { width: 1.5rem; height: 0.3rem; margin-top: -0.2rem; content: ''; background-image: url("../images/common/icon_arrow01.svg"); -webkit-background-size: 100% 100%; background-size: 100% 100%; position: absolute; top: 50%; right: 0; } }
@media only screen and (max-width: 767px) and (max-width: 767px) { #header .burger_menu .menu_area .navi > li .child li > a:after { width: 1.4rem; height: 0.4rem; background-image: url("../images/common/icon_arrow01_sp.svg"); } }

@media only screen and (min-width: 768px) { #header .burger_menu .menu_area .btn_area { width: 90%; margin-top: 6rem; display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; } }
@media only screen and (min-width: 768px) and (max-width: 999px) { #header .burger_menu .menu_area .btn_area { width: 100%; } }

@media only screen and (max-width: 767px) { #header .burger_menu .menu_area .btn_area { width: 89.333%; margin: 3rem auto 0 auto; } }
@media only screen and (min-width: 768px) { #header .burger_menu .menu_area .btn_area li { width: 48.8%; }
  #header .burger_menu .menu_area .btn_area li .btn01 { width: 100%; max-width: none; } }
@media only screen and (min-width: 768px) and (max-width: 999px) { #header .burger_menu .menu_area .btn_area li .btn01 .arrow { width: 2rem; height: 0.4rem; margin-top: -0.2rem; right: 1.5rem; } }

@media only screen and (max-width: 767px) { #header .burger_menu .menu_area .btn_area li { text-align: center; }
  #header .burger_menu .menu_area .btn_area li + li { margin-top: 1.5rem; }
  #header .burger_menu .menu_area .btn_area li .btn01 { width: 100%; max-width: none; font-size: 1.4rem; font-weight: 400; } }

body.menu_open { overflow: hidden; }
body.menu_open #header .burger_menu_button .btn span:nth-child(1) { top: 4.8rem; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
@media only screen and (max-width: 767px) { body.menu_open #header .burger_menu_button .btn span:nth-child(1) { top: 3.8rem; } }
body.menu_open #header .burger_menu_button .btn span:nth-child(2) { opacity: 0; }
body.menu_open #header .burger_menu_button .btn span:nth-child(3) { top: 4.8rem; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
@media only screen and (max-width: 767px) { body.menu_open #header .burger_menu_button .btn span:nth-child(3) { top: 3.8rem; } }
body.menu_open #header .burger_menu_button .btn p { -webkit-transform: scale(1); transform: scale(1); }
body.menu_open #header .burger_menu { opacity: 1; -webkit-transform: none; transform: none; }

/*パンくず*/
.pankuzu { margin-top: 7rem; padding: 1em 0; font-size: 1.4rem; background: -webkit-linear-gradient(134deg, rgba(0, 77, 160, 0.1), rgba(0, 150, 255, 0.1), rgba(150, 201, 255, 0.1)); background: linear-gradient(134deg, rgba(0, 77, 160, 0.1), rgba(0, 150, 255, 0.1), rgba(150, 201, 255, 0.1)); border-top: solid 1px #e9eef6; border-bottom: solid 1px #e9eef6; }
@media only screen and (max-width: 767px) { .pankuzu { margin-top: 4.3rem; font-size: 1rem; background: #ffffff; border-bottom: none; } }
.pankuzu ul { letter-spacing: -0.4em; }
.pankuzu ul > * { display: inline-block; letter-spacing: normal; }
.pankuzu ul li:after { margin: 0 0.5em; content: "\003E"; display: inline-block; }
.pankuzu ul li:last-child:after { content: none; }
.pankuzu ul li a:hover { text-decoration: underline; }

/**フッター**/
#footer { background-color: #ffffff; }
@media only screen and (max-width: 767px) { #footer .sp_fix_btn { width: 89.333%; font-size: 1.2rem; font-weight: 500; background-color: #004da0; -webkit-border-radius: 99px; -moz-border-radius: 99px; border-radius: 99px; display: -webkit-flex; display: flex; position: fixed; bottom: 1rem; left: 4.41665%; z-index: 90; }
  #footer .sp_fix_btn a { width: 50%; padding: 1.5em 0; text-align: center; color: #ffffff; }
  #footer .sp_fix_btn a:first-child { position: relative; }
  #footer .sp_fix_btn a:first-child:after { width: 1px; height: 1.5em; margin-top: -0.75em; content: ''; background-color: #ffffff; position: absolute; left: 100%; top: 50%; } }
@media only screen and (max-width: 767px) { #footer .footer_navi .navi { background: -webkit-linear-gradient(134deg, rgba(0, 77, 160, 0.1), rgba(0, 150, 255, 0.1), rgba(150, 201, 255, 0.1)); background: linear-gradient(134deg, rgba(0, 77, 160, 0.1), rgba(0, 150, 255, 0.1), rgba(150, 201, 255, 0.1)); }
  #footer .footer_navi .navi > li { font-size: 1.4rem; border-bottom: solid 1px #ffffff; }
  #footer .footer_navi .navi > li a.current { color: #004da0; }
  #footer .footer_navi .navi > li > a { padding: 1em 2.85em 1em 1.428em; display: block; position: relative; }
  #footer .footer_navi .navi > li > a:after { width: 1.4rem; height: 0.4rem; margin-top: -0.2rem; content: ''; background-image: url("../images/common/icon_arrow01_sp.svg"); -webkit-background-size: 100% 100%; background-size: 100% 100%; position: absolute; top: 50%; right: 2rem; }
  #footer .footer_navi .navi > li > span { padding: 1em 2.85em 1em 1.428em; display: block; position: relative; }
  #footer .footer_navi .navi > li > span:before, #footer .footer_navi .navi > li > span:after { width: 1.2rem; height: 1px; content: ''; background-color: #000000; position: absolute; top: 50%; right: 2rem; -webkit-transition: transform 0.3s; transition: transform 0.3s; }
  #footer .footer_navi .navi > li > span:after { width: 1rem; right: 2.1rem; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
  #footer .footer_navi .navi > li > span.open:before, #footer .footer_navi .navi > li > span.open:after { -webkit-transform: rotate(180deg); transform: rotate(180deg); }
  #footer .footer_navi .navi > li .child { display: none; border-top: solid 1px #ffffff; }
  #footer .footer_navi .navi > li .child li { border-bottom: solid 1px #ffffff; }
  #footer .footer_navi .navi > li .child li:last-child { border-bottom: none; }
  #footer .footer_navi .navi > li .child li > a { padding: 1em 2.85em 1em 2.928em; display: block; position: relative; }
  #footer .footer_navi .navi > li .child li > a:after { width: 1.4rem; height: 0.4rem; margin-top: -0.2rem; content: ''; background-image: url("../images/common/icon_arrow01_sp.svg"); -webkit-background-size: 100% 100%; background-size: 100% 100%; position: absolute; top: 50%; right: 2rem; } }
#footer .footer_contents { padding: 6rem 0 7rem 0; }
@media only screen and (max-width: 767px) { #footer .footer_contents { padding: 4rem 0 9.5rem 0; } }
#footer .footer_contents .inner { position: relative; }
#footer .footer_contents .logo { width: 20.6rem; margin: 0 auto 4.5rem auto; }
@media only screen and (max-width: 767px) { #footer .footer_contents .logo { width: 18.9rem; margin-bottom: 2.2rem; } }
#footer .footer_contents .corporate_link { font-size: 1.4rem; font-weight: 500; }
@media only screen and (min-width: 768px) { #footer .footer_contents .corporate_link { position: absolute; top: 1.5rem; right: 1rem; } }
@media only screen and (max-width: 767px) { #footer .footer_contents .corporate_link { margin-bottom: 2rem; text-align: center; } }
@media only screen and (max-width: 767px) { #footer .footer_contents .corporate_link a { color: #004da0; } }
#footer .footer_contents .corporate_link a .arrow { width: 3rem; height: 0.6rem; margin-left: 1rem; display: inline-block; vertical-align: 0.1em; overflow: hidden; position: relative; }
@media only screen and (max-width: 767px) { #footer .footer_contents .corporate_link a .arrow { width: 2.3rem; height: 0.4rem; margin-left: 1.4rem; background-image: url("../images/common/icon_arrow02.svg"); -webkit-background-size: 100% 100%; background-size: 100% 100%; vertical-align: 0.2em; } }
@media only screen and (min-width: 768px) { #footer .footer_contents .corporate_link a .arrow:before, #footer .footer_contents .corporate_link a .arrow:after { width: 100%; height: 100%; content: ''; background-image: url("../images/common/icon_arrow01.svg"); background-repeat: no-repeat; -webkit-background-size: 100% 100%; background-size: 100% 100%; position: absolute; top: 0; right: 0; animation-fill-mode: forwards; animation-duration: 0.6s; }
  #footer .footer_contents .corporate_link a .arrow:after { transform: translateX(-100%); } }
@media only screen and (min-width: 768px) and (max-width: 767px) { #footer .footer_contents .corporate_link a .arrow:after { content: none !important; } }

@media only screen and (min-width: 768px) { #footer .footer_contents .corporate_link a { -webkit-transition: color 0.3s; transition: color 0.3s; }
  #footer .footer_contents .corporate_link a:hover { color: #004da0; }
  #footer .footer_contents .corporate_link a:hover .arrow:before { background-image: url("../images/common/icon_arrow02.svg"); animation-name: transformRightLeft; animation-delay: 0s; }
  #footer .footer_contents .corporate_link a:hover .arrow:after { background-image: url("../images/common/icon_arrow02.svg"); animation-name: transformLeftRight; animation-delay: 0.2s; } }
#footer .footer_contents .copyright { font-size: 1.2rem; font-weight: 500; text-align: center; }
@media only screen and (max-width: 767px) { #footer .footer_contents .copyright { font-size: 1rem; } }

/**メイン**/
#main { padding-top: 3rem; }
@media only screen and (max-width: 767px) { #main { padding-top: 8rem; } }
@media only screen and (min-width: 768px) { #main .fv .inner { position: relative; }
  #main .fv .inner:before { width: 11.1rem; height: 11.1rem; content: ''; background-image: url("../images/common/fv_right_top_corner.png"); -webkit-background-size: 100% 100%; background-size: 100% 100%; position: absolute; top: -0.1rem; right: -0.1rem; z-index: 10; } }
