@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

* {margin:0; padding:0; box-sizing:border-box;}
body {color:#010101; font-family:'Noto Sans JP', sans-serif;}
ul {list-style-type:none;}

/* cf */
.cf:before, .cf:after {content:""; display:block;	overflow:hidden;}
.cf:after {clear:both;}
.cf {zoom:1;}

.fixed {position:fixed; top:0; left:0; z-index:+99;}

img {width:100%; height:auto;}

.red {color:#8b253a;}

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

ul.l_1em {margin-top:0.5em;}
ul.l_1em li {padding:0.1em 0 0.1em 1em; text-indent:-1em;}

main {word-break:break-all;}



/*********************************
 * ～900
 *********************************/

@media screen and (max-width:900px){
	
  body {overflow-x:hidden; -webkit-text-size-adjust:100%; font-size:3.6vw;}
  p {margin-top:1em; text-align:justify; text-justify:inter-ideograph;}
  .pc {display:none !important;}  
  .wrapper {background:#fff;}
  
  /* header */
  header {position:fixed; top:0; left:0; width:100%; background:#fff; font-size:15px !important; z-index:5;}
  header .inner {width:100%; height:130px; padding:0 15px;}
  header .logo img {width:auto; height:50px; padding:10px 0 0 0;}
  header .h_in {position:relative; display:flex; align-items:center; justify-content:space-between; margin:-5px 0 0 0;}
  header .h_in dl.tel {display:flex; flex-wrap:wrap; width:16em; color:#8b253a;}
  header .h_in dl.tel a {color:#8b253a; text-decoration:none;}
  header .h_in dl.tel dt {display:flex; align-items:baseline; width:100%; font-family:'Lato', sans-serif; font-weight:900; letter-spacing:0.05em;}
  header .h_in dl.tel dt span {padding:0 0 0 0.2em; font-size:180%;}
  header .h_in dl.tel dd {width:100%; font-size:65%; text-align:center;}
  header .h_in .contact {display:none; position:absolute; right:80px; font-family:'Lato', sans-serif; font-weight:700;}
  header .h_in .contact a {display:block; padding:0.8em 1.5em; background:#8b253a; border-radius:4px; color:#fff; letter-spacing:0.05em; text-decoration:none;}
  header .h_in .gnavbtn  {position:relative; width:60px; height:60px; border:1px solid #8b253a; border-radius:50%; cursor:pointer; z-index:11;}
  header .h_in .gnavbtn span {position:relative; display:block; width:32px; height:2px; left:12px; background:#8b253a; transition:0.3s;}
  header .h_in .gnavbtn span:nth-child(1) {top:18px;}
  header .h_in .gnavbtn span:nth-child(2) {top:26px;}
  header .h_in .gnavbtn span:nth-child(3) {top:34px;}
  
  /* nav */
  nav {overflow-y:auto; position:fixed; display:none; width:100%; height:100%; padding:0 0 4em 0; top:0; left:0; background:#8b253a; z-index:2;}
  nav ul {display:flex; flex-wrap:wrap; justify-content:space-between; width:86%; margin:140px auto 0 auto; font-size:105%; font-weight:500;}
  nav ul li {width:100%; margin:4% 0 0 0; text-align:center; letter-spacing:0.1em;}
  nav ul li a {display:block; position:relative; padding:1.3em 0; border:1px solid #fff; color:#fff; text-decoration:none;}
  nav ul li a::before {position:absolute; display:block; content:''; width:0.7em; height:2px; top:1.7em; right:1em; background:#fff; transform:rotate(45deg);}
  nav ul li a::after {position:absolute; display:block; content:''; width:0.7em; height:2px; top:2.2em; right:1em; background:#fff; transform:rotate(-45deg);}
  
  /* fakeLoader */
  .fakeLoader {display:flex; align-items:center; justify-content:center; height:100vh; font-size:0;}
  .fakeLoader .fl {position:relative; width:90%; text-align:center;}
  .fakeLoader .fl img {width:calc(90% * 0.8);}  
  
  .mv {width:100%; height:calc(100vh - 130px) !important;}
  .mv .slider {overflow:hidden; position:relative; width:100%; height:calc(100vh - 130px); margin-top:130px;}
  .mv .slider_item {width:100%; height:calc(100vh - 130px);}
  .mv .slider_item img {position:absolute; width:100%; height:100%; top:0; left:0; vertical-align:bottom; object-fit:cover; object-position:right top; z-index:-1;}
  .mv .slider_item:nth-child(1) img {object-position:85% center;}
  .mv .slider_item:nth-child(3) img {object-position:30% center;}
  .mv .slider_item .inner {display:flex; align-items:flex-end; width:90%; height:100%; margin:0 auto;}
  .mv .slider_item  p {width:100%; padding-bottom:20%; color:#8b253a; font-size:180%; font-weight:800; text-shadow:0 0 0.3em #fff, 0 0 0.3em #fff, 0 0 0.3em #fff, 0 0 0.3em #fff, 0 0 0.3em #fff, 0 0 0.3em #fff;}
  .mv .slider_item .inner p.center {text-align:center;}
  .mv .slider_item .inner p.right {text-align:right;}
  .mv .slider_item p span {font-size:160%;}
  
  /* low_mv */
  .low_mv {margin:130px 0 0 0; background:url(../images/bg_mv.jpg) center bottom no-repeat; background-size:cover; color:#fff;}
  .low_mv .inner {position:relative; display:flex; align-items:center; height:9em; padding:0 15px;}
  .low_mv .inner h1 {position:relative; display:flex; align-items:center; font-size:155%; font-weight:600; letter-spacing:0.05em;}
  .low_mv .inner h1 span {padding:0.4em 0 0 1.5em; font-family:'Lato', sans-serif; font-size:50%; font-weight:300;}
  
  /* h2 */
  main h2 {display:flex; align-items:center; position:relative; padding:0 0 0 0.9em; color:#8b253a; font-size:170%; font-weight:600; line-height:1;}
  main h2::before {position:absolute; display:block; content:''; width:0.6em; height:1px; background:#8b253a; top:0.5em; left:0;}
  main h2 span {padding:0.2em 0 0 1.8em; font-family:'Lato', sans-serif; font-size:45%; letter-spacing:0.08em; font-weight:800;}
 
  /* h3 */
  main h3 {margin-top:1.5em; padding:0 0 0 0.9em; border-left:2px solid #8b253a; color:#8b253a; font-size:130%; font-weight:600;}
  
  /* cmn_bnr */
  #cmn_bnr {display:flex; flex-wrap:wrap; justify-content:space-between; width:90%; margin:0 auto; padding:4% 0 5% 0;}
  #cmn_bnr li {width:48%; max-width:380px; margin:0.5em 0 0 0;}
  
  /* top_rnews */
  #top_rnews {position:relative; margin:0;}
  #top_rnews .inner {margin:0 auto; z-index:+1;}
  #top_rnews .inner .title {}
  #top_rnews .inner .title h2.ttl {display:flex; flex-wrap:wrap; position:relative; padding:1.5em 0 1.5em 10%; background:#8b253a; color:#fff; font-size:150%; font-weight:600; line-height:1;}
  #top_rnews .inner .title h2.ttl::before {position:absolute; display:block; content:''; width:0.6em; height:1px; background:#fff; top:2em; left:5%;}
  #top_rnews .inner .title h2.ttl span {display:block; width:100%; padding:1em 0 0 0; font-family:'Lato', sans-serif; font-size:45%; letter-spacing:0.1em; font-weight:700;}
  #top_rnews .inner .news {width:90%; margin:1em auto 0 auto;}
  #top_rnews .inner .news ul {width:100%; line-height:1.8;}
  #top_rnews .inner .news ul a {border-bottom:1px solid #101010; color:#101010; text-decoration:none;}
  #top_rnews .inner .news ul li {padding:1.5em; border-bottom:1px solid #7f7f7f;}
  #top_rnews .inner .news ul li span {display:block; font-family:'Lato', sans-serif; text-decoration:none; letter-spacing:0.1em;}
  #top_rnews .bg {display:none;}
	 #top_rnews .inner .iframe_box {width:90%; margin:1em auto 0 auto;}
	 #top_rnews .inner .iframe_box iframe {width:100%; height:40vh;}
  
  /* top_msg */
  #top_msg {width:90%; margin:22% auto 0 auto;}
  #top_msg .inner {width:100%; margin:2em 0 0 0;}
  #top_msg .inner .photo {width:60%;}
  #top_msg .inner .note {width:90%; margin:-3em 0 0 10%; padding:2em 2.5em; background:rgba(14,64,165,0.9); color:#fff; line-height:2; text-align:justify; text-justify:inter-ideograph;}	
	
	 #topmain h2.fadeUp {width:90%; margin:22% auto 0 auto;}
  #topmain .area2 {width:90%; margin:2em auto 0 auto;}
  #topmain .area2 .fleft {width:70%;}
  #topmain .area2 .fleft img {border-right:2em solid #fff !important; border-bottom:2em solid #fff !important;}
  #topmain .area2 .fright {width:90%; margin:-3em 0 0 10%; padding:4em 2.5em 2em 2.5em; border:3px solid #8b253a; line-height:2; text-align:justify; text-justify:inter-ideograph;}
  
  /* top_srv */
  #top_srv {width:90%; margin:22% auto 0 auto;}
  #top_srv .lead {margin:1.8em 0 0 0; padding:0 0 0 1.8em; font-weight:700; line-height:1.8; text-align:justify; text-justify:inter-ideograph;}
  #top_srv ul {display:flex; flex-wrap:wrap; justify-content:space-between; width:100%; padding:4% 0 0 0;}
  #top_srv ul li {width:48.5%; margin:4% 0 0 0; border:4px solid #8b253a;}
	 #top_srv ul li a {color:#010101; text-decoration:none;}
  #top_srv ul li dl {width:100%;}
  #top_srv ul li dl dt {width:100%; line-height:1;}
  #top_srv ul li dl dd {width:76%; margin:0 auto; padding:1.5em 0; border-top:3px solid #8b253a; font-size:90%; font-weight:500; line-height:1.7; text-align:justify; text-justify:inter-ideograph;}
  #top_srv ul li dl dd span {display:block; color:#8b253a; font-size:135%; font-weight:700; text-align:center;}
  
  /* top_news */
  #top_news {margin:22% 0 0 0; padding:4% 0 15% 0; background:#f5faff url(../../images/top/rnews_bg.jpg) center bottom no-repeat; background-size:100% auto; border-top:1px solid #e8eef5; border-bottom:1px solid #e8eef5;}
  #top_news .inner {width:90%; margin:0 auto;}
  #top_news .inner .title {}
  #top_news .inner .title h2 {display:flex; flex-wrap:wrap; position:relative; padding:1em 0 1em 0.9em; color:#8b253a; font-size:150%; font-weight:600; line-height:1;}
  #top_news .inner .title h2::before {position:absolute; display:block; content:''; width:0.6em; height:1px; background:#8b253a; top:1.5em; left:0;}
  #top_news .inner .title h2 span {display:block; width:100%; padding:1em 0 0 0; font-family:'Lato', sans-serif; font-size:45%; letter-spacing:0.1em; font-weight:800;}
  #top_news .inner .news {}
  #top_news .inner .news ul {width:100%; line-height:1.8;}
  #top_news .inner .news ul a {border-bottom:1px solid #101010; color:#101010; text-decoration:none;}
  #top_news .inner .news ul li {padding:1.5em; border-bottom:1px solid #7f7f7f;}
  #top_news .inner .news ul li span {display:block; font-family:'Lato', sans-serif; text-decoration:none; letter-spacing:0.1em;}
  
  /* ptop */
  #ptop {position:fixed; width:68px; right:15px; bottom:15px;}
  
  /* cmn_contact */
  #cmn_contact {width:90%; margin:12% auto 0 auto;}
  #banner + #cmn_contact {margin:0 auto;}
  /*#cmn_contact a {display:block; width:90%; margin:0 auto; padding:1.5em 2em; border:4px solid #8b253a; border-radius:3px; color:#8b253a; font-weight:600; text-decoration:none;}
  #cmn_contact dl {display:flex; align-items:center; justify-content:space-between; width:100%;}
  #cmn_contact dl dt {width:34%; text-align:center;}
  #cmn_contact dl dt img {max-width:190px;}
  #cmn_contact dl dd {width:56%; font-size:130%; font-weight:800; letter-spacing:0.04em;}
  #cmn_contact dl dd span.en {display:block; border:0 !important; font-family:'Lato', sans-serif; font-size:60%; letter-spacing:0.15em;}
  #cmn_contact dl dd span.line {display:inline-block; padding:0.1em 0 0.3em 0; border-bottom:3px solid #8b253a; }*/
  
  /* footer */
  footer {margin:15% 0 0 0; padding:2em 0; background:#8b253a;}
  footer .inner {width:90%; margin:0 auto; color:#fff;}
  footer .inner ul {width:100%;}
  footer .inner ul a {color:#fff; text-decoration:none;}
  footer .inner ul li {margin:1.5em 0 0 0;}
  footer .inner .logo {width:50%; margin:15% auto 0 auto;}
  footer .inner p {margin:2em 0 0 0; font-family:'Lato', sans-serif; font-size:70%; font-weight:400; text-align:center; letter-spacing:0.05em;}

}



/*********************************
 * 901～
 *********************************/

@media screen and (min-width:901px) {
  body {overflow-x:hidden; width:100%; background:#8b253a; font-size:18px;}
  a {text-decoration:none;}
  a img {transition:opacity 0.2s ease-in-out; backface-visibility:hidden; -webkit-backface-visibility:hidden;}
  a img:hover {opacity:0.8; cursor:pointer;}
  img {width:100%;}
  p {margin-top:1em; text-align:justify; text-justify:inter-ideograph;}
  .sp {display:none !important;}  
  .wrapper {background:#fff;}
  
  /* header */
  header {position:fixed; top:0; left:0; width:100%; background:#fff; font-size:18px; z-index:5;}
  header .inner {display:flex; align-items:center; justify-content:space-between; width:100%; height:100px; padding:0 30px;}
  header .logo img {max-width:448px;}
  header .h_in {display:flex; align-items:center; justify-content:space-between; width:560px;}
  header .h_in dl.tel {display:flex; flex-wrap:wrap; width:16em; color:#8b253a;}
  header .h_in dl.tel a {color:#8b253a; text-decoration:none;}
  header .h_in dl.tel dt {display:flex; align-items:baseline; width:100%; font-family:'Lato', sans-serif; font-weight:900; letter-spacing:0.05em;}
  header .h_in dl.tel dt span {padding:0 0 0 0.2em; font-size:160%;}
  header .h_in dl.tel dd {width:100%; font-size:65%; text-align:center;}
  header .h_in .contact {font-family:'Lato', sans-serif;}
  header .h_in .contact a {display:block; padding:0.8em 1.5em; background:#8b253a; border-radius:4px; color:#fff; letter-spacing:0.05em; transition:0.3s;}
  header .h_in .contact a:hover {background:#9E394E;}
  header .h_in .gnavbtn  {position:relative; width:60px; height:60px; border:1px solid #8b253a; border-radius:50%; cursor:pointer; z-index:11;}
  header .h_in .gnavbtn span {position:relative; display:block; width:32px; height:2px; left:12px; background:#8b253a; transition:0.3s;}
  header .h_in .gnavbtn span:nth-child(1) {top:18px;}
  header .h_in .gnavbtn span:nth-child(2) {top:26px;}
  header .h_in .gnavbtn span:nth-child(3) {top:34px;}
  
  /* nav */
  nav {position:fixed; display:none; width:100%; height:100%; top:0; left:0; background:#8b253a; z-index:2;}
  nav ul {display:flex; flex-wrap:wrap; justify-content:space-between; width:94%; margin:130px auto 0 auto; font-size:105%; font-weight:500;}
  nav ul li {width:48%; margin:2.5% 0 0 0; text-align:center; letter-spacing:0.1em;}
  nav ul li a {display:block; position:relative; padding:1.3em 0; border:1px solid #fff; color:#fff; transition:0.3s;}
  nav ul li a:hover {background:#9E394E}
  nav ul li a::before {position:absolute; display:block; content:''; width:0.9em; height:2px; top:1.62em; right:2em; background:#fff; transform:rotate(45deg);}
  nav ul li a::after {position:absolute; display:block; content:''; width:0.9em; height:2px; top:2.22em; right:2em; background:#fff; transform:rotate(-45deg);}
  
  /* fakeLoader */
  .fakeLoader {display:flex; align-items:center; justify-content:center; font-size:0;}
  .fakeLoader .fl {position:relative; width:94%; max-width:1300px; text-align:center;}
  .fakeLoader .fl img {width:calc(75% * 0.7); max-width:310px;}
  
  /* mv */
  .mv {width:100%; height:calc(100vh - 100px) !important;}
  .mv .slider {overflow:hidden; position:relative; width:100%; height:calc(100vh - 100px); margin-top:100px;}
  .mv .slider_item {width:100%; height:calc(100vh - 100px);}
  .mv .slider_item img {position:absolute; width:100%; height:100%; top:0; left:0; vertical-align:bottom; object-fit:cover; z-index:-1;}
  .mv .slider_item:nth-child(2) img {object-position:center top;}
  .mv .slider_item .inner {display:flex; align-items:flex-end; width:94%; max-width:1300px; height:100%; margin:0 auto;}
  .mv .slider_item .inner h1 {width:75%; max-width:972px; font-size:0;}
  .mv .slider_item .inner p {width:100%; padding-bottom:15%; color:#8b253a; font-size:280%; font-weight:800; text-shadow:0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff}
  .mv .slider_item .inner p.center {text-align:center;}
  .mv .slider_item .inner p.right {text-align:right;}
  .mv .slider_item .inner p span {font-size:140%;}
   
  /* low_mv */
  .low_mv {margin:100px 0 0 0; background:url(../images/bg_mv.jpg) center bottom no-repeat; background-size:cover; color:#fff;}
  .low_mv .inner {position:relative; display:flex; align-items:center; height:10em; padding:0 30px;}
  .low_mv .inner h1 {position:relative; display:flex; align-items:center; font-size:160%; font-weight:600; letter-spacing:0.1em;}
  .low_mv .inner h1 span {padding:0.4em 0 0 1.5em; font-family:'Lato', sans-serif; font-size:60%; font-weight:300;}
  
  /* h2 */
  main h2 {display:flex; align-items:center; position:relative; padding:0 0 0 0.9em; color:#8b253a; font-size:180%; font-weight:600; line-height:1;}
  main h2::before {position:absolute; display:block; content:''; width:0.6em; height:1px; background:#8b253a; top:0.5em; left:0;}
  main h2 span {padding:0.2em 0 0 1.8em; font-family:'Lato', sans-serif; font-size:40%; letter-spacing:0.08em; font-weight:800;}
 
  /* h3 */
  main h3 {margin-top:1.5em; padding:0 0 0 0.9em; border-left:2px solid #8b253a; color:#8b253a; font-size:150%; font-weight:600;}
  
  /* cmn_bnr */
  #cmn_bnr {display:flex; flex-wrap:wrap; width:94%; max-width:1200px; margin:5% auto 0 auto;}
  #cmn_bnr li {width:32%; max-width:380px; margin:1em 2% 0 0;}
  #cmn_bnr li:nth-child(3n) {margin-right:0;}
  
  /* top_rnews */
  #top_rnews {position:relative; margin:6% 0 0 0;}
  #top_rnews .inner {position:relative; display:flex; justify-content:space-between; width:94%; max-width:1200px; margin:0 auto; z-index:+1;}
  #top_rnews .inner .title {width:51%; padding:0 4% 0 0; background:linear-gradient(to left, #fff 10%, transparent 10%);}
  #top_rnews .inner .title h2.ttl {display:flex; flex-wrap:wrap; position:relative; padding:1em 0 1em 1em; color:#fff; font-size:190%; font-weight:600; line-height:1;}
  #top_rnews .inner .title h2.ttl::before {position:absolute; display:block; content:''; width:0.6em; height:1px; background:#fff; top:1.5em; left:0;}
  #top_rnews .inner .title h2.ttl span {display:block; width:100%; padding:1em 0 0 0; font-family:'Lato', sans-serif; font-size:40%; letter-spacing:0.1em; font-weight:800;}
	/* 記事の場合 */
  #top_rnews .inner .news {width:45%; font-size:95%;}
  #top_rnews .inner .news iframe {height:450px;}
  #top_rnews .inner .news ul {width:100%;}
  #top_rnews .inner .news ul a {border-bottom:1px solid transparent; color:#101010; transition:0.3s;}
  #top_rnews .inner .news ul a:hover {border-bottom:1px solid #101010;}
  #top_rnews .inner .news ul li {padding:1.5em; border-bottom:1px solid #7f7f7f;}
  #top_rnews .inner .news ul li span {display:block; padding:0 0 0.3em 0; font-family:'Lato', sans-serif;}
  #top_rnews .bg {position:absolute; width:50%; height:12em; background:#8b253a; top:0; left:0;}
	/* iframeの場合 */
  #top_rnews .inner .iframe_box {width:45%; font-size:95%;}
  #top_rnews .inner .iframe_box iframe {width:100%; height:400px;}
  
  /* top_msg */
  #top_msg {width:94%; max-width:1200px; margin:12% auto 0 auto;}
  #top_msg h2 {display:flex; align-items:center; position:relative; padding:0 0 0 0.9em; color:#8b253a; font-size:220%; font-weight:600; line-height:1;}
  #top_msg h2::before {position:absolute; display:block; content:''; width:0.6em; height:1px; background:#8b253a; top:0.5em; left:0;}
  #top_msg h2 span {padding:0.2em 0 0 1.8em; font-family:'Lato', sans-serif; font-size:40%; letter-spacing:0.08em; font-weight:800;}
  #top_msg .inner {display:flex; position:relative; justify-content:space-between; width:100%; margin:2em 0 0 0;}
  #top_msg .inner .photo {width:42%; max-width:500px;}
  #top_msg .inner .note {position:absolute; width:68%; bottom:-3em; right:0; padding:3em 3.5em; background:rgba(14,64,165,0.9); color:#fff; line-height:2; text-align:justify; text-justify:inter-ideograph;}

  #topmain h2.fadeUp {display:flex; align-items:center; position:relative; width:94%; max-width:1200px; margin:12% auto 0 auto; padding:0 0 0 0.9em; color:#8b253a; font-size:220%; font-weight:600; line-height:1;}
  #topmain h2.fadeUp::before {position:absolute; display:block; content:''; width:0.6em; height:1px; background:#8b253a; top:0.5em; left:0;}
  #topmain h2.fadeUp span {padding:0.2em 0 0 1.8em; font-family:'Lato', sans-serif; font-size:40%; letter-spacing:0.08em; font-weight:800;}
  #topmain .area2 .ptxt {display:flex; position:relative; justify-content:space-between; width:94%; max-width:1200px; margin:2em auto 0 auto;}
  #topmain .area2 .fleft {width:42%; max-width:500px; border-right:3rem solid #fff; font-size:0;}
  #topmain .area2 .fright {position:absolute; width:68%; bottom:-3em; right:0; padding:3em 3.5em 3em 10%; border:4px solid #8b253a; border-left:0; line-height:2; text-align:justify; text-justify:inter-ideograph; z-index:-1;}
  
  /* top_srv */
  #top_srv {width:94%; max-width:1200px; margin:15% auto 0 auto;}
  #top_srv h2 {display:flex; align-items:center; position:relative; padding:0 0 0 0.9em; color:#8b253a; font-size:220%; font-weight:600; line-height:1;}
  #top_srv h2::before {position:absolute; display:block; content:''; width:0.6em; height:1px; background:#8b253a; top:0.5em; left:0;}
  #top_srv h2 span {padding:0.2em 0 0 1.8em; font-family:'Lato', sans-serif; font-size:40%; letter-spacing:0.08em; font-weight:800;}
  #top_srv .lead {margin:1.8em 0 0 0; padding:0 0 0 2em; font-weight:700; line-height:1.8;}
  #top_srv ul {display:flex; justify-content:space-between; width:100%; margin:4% 0 0 0;}
  #top_srv ul li {width:23.5%; border:4px solid #8b253a;}
  #top_srv ul li a {color:#010101; transition:0.3s;}
  #top_srv ul li a:hover {opacity:0.8;}
  #top_srv ul li dl {width:100%;}
  #top_srv ul li dl dt {width:100%; line-height:1;}
  #top_srv ul li dl dd {width:76%; margin:0 auto; padding:1.5em 0; border-top:3px solid #8b253a; font-size:90%; font-weight:500; line-height:1.7; text-align:justify; text-justify:inter-ideograph;}
  #top_srv ul li dl dd span {display:block; color:#8b253a !important; font-size:140%; font-weight:700; text-align:center;}
	
  
  /* top_news */
  #top_news {margin:12% 0 0 0; padding:4% 0 12% 0; background:#f5faff url(../../images/top/rnews_bg.jpg) center bottom no-repeat; background-size:100% auto; border-top:1px solid #e8eef5; border-bottom:1px solid #e8eef5;}
  #top_news .inner {position:relative; display:flex; justify-content:space-between; width:94%; max-width:1200px; margin:0 auto; z-index:+1;}
  #top_news .inner .title {width:50%; padding:0 4% 0 0;}
  #top_news .inner .title h2 {display:flex; flex-wrap:wrap; position:relative; padding:1em 0 1em 0.9em; color:#8b253a; font-size:220%; font-weight:600; line-height:1;}
  #top_news .inner .title h2::before {position:absolute; display:block; content:''; width:0.6em; height:1px; background:#8b253a; top:1.5em; left:0;}
  #top_news .inner .title h2 span {display:block; width:100%; padding:1em 0 0 0; font-family:'Lato', sans-serif; font-size:40%; letter-spacing:0.1em; font-weight:800;}
  #top_news .inner .news {width:45%; font-size:95%;}
  #top_news .inner .news ul {width:100%;}
  #top_news .inner .news ul a {border-bottom:1px solid transparent; color:#101010; transition:0.3s;}
  #top_news .inner .news ul a:hover {border-bottom:1px solid #101010;}
  #top_news .inner .news ul li {padding:1.5em; border-bottom:1px solid #7f7f7f;}
  #top_news .inner .news ul li span {display:block; padding:0 0 0.3em 0; font-family:'Lato', sans-serif;}
  
  /* ptop */
  #ptop {position:fixed; width:68px; right:50px; bottom:50px;}
  
  /* cmn_contact */
  #cmn_contact {width:94%; max-width:760px; margin:9% auto 0 auto;}
  #banner + #cmn_contact {margin:2em auto 0 auto;}
  /*#cmn_contact a {display:block; width:64%; margin:0 auto; padding:1em 2em; border:4px solid #8b253a; border-radius:3px; color:#8b253a; font-weight:600; transition:0.3s;}
  #cmn_contact a:hover {opacity:0.8;}
  #cmn_contact dl {display:flex; align-items:center; justify-content:space-between; width:100%;}
  #cmn_contact dl dt {width:35%; text-align:center;}
  #cmn_contact dl dt img {max-width:190px;}
  #cmn_contact dl dd {width:60%; font-size:150%; font-weight:800; letter-spacing:0.04em;}
  #cmn_contact dl dd span.en {display:block; border:0 !important; font-family:'Lato', sans-serif; font-size:60%; letter-spacing:0.15em;}
  #cmn_contact dl dd span.line {display:inline-block; padding:0.1em 0 0.3em 0; border-bottom:3px solid #8b253a; }*/
  
  /* footer */
  footer {margin:10% 0 0 0; padding:3em 0; background:#8b253a;}
  footer .inner {width:94%; max-width:1200px; margin:0 auto; color:#fff;}
  footer .inner ul {display:flex; justify-content:center; flex-wrap:wrap; width:100%; font-size:85%;}
  footer .inner ul a {border-bottom:1px solid transparent; color:#fff; transition:0.3s;}
  footer .inner ul a:hover {border-bottom:1px solid #fff;}
  footer .inner ul li {margin:1em 0 0 0; padding:0 1.2em;}
  footer .inner .logo {width:310px; margin:8% auto 0 auto;}
  footer .inner p {margin:2em 0 0 0; font-family:'Lato', sans-serif; font-size:70%; font-weight:400; text-align:center; letter-spacing:0.05em;}

}

@media screen and (min-width:901px) and (max-width:1240px) {
  
  body {font-size:1.5vw;}
	
  header .logo img {max-width:280px;}
  
  .mv .slider_item .inner p {font-size:220%;}

}

/* animation */
@keyframes fadeUp {
  0% {
    opacity:0;
    transform:translate(0, 40px);
  }
  100% {
    opacity:1;
    transform:translate(0, 0);
  }
}

.fadeUp {opacity:0;}
.fadeUp_active {
  animation-name:fadeUp;
  animation-timing-function:ease-out;
  animation-fill-mode:forwards;
  animation-direction:alternate;
  animation-duration:0.8s;
  transition-delay:0.3s;
}


nav{
  overflow-y: auto;
  max-height: 100vh;
  -webkit-overflow-scrolling: touch;
}