@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+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; word-break:break-all;}
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;}

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

.blue {color:#2575c6;}

ul.l_1em {}
ul.l_1em li {padding-left:1em; text-indent:-1em;}
ul.l_2em {}
ul.l_2em li {padding-left:2em; text-indent:-2em;}
ul.l_3em {}
ul.l_3em li {padding-left:3em; text-indent:-3em;}
ul.l_4em {}
ul.l_4em li {padding-left:4em; text-indent:-4em;}

.mT1em {margin-top:1em !important;}



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

@media screen and (max-width:900px){
	
  body {overflow-x:hidden; -webkit-text-size-adjust:100%; font-size:16px;}
  img {width:100%; max-width:100% !important; height:auto;}
  p {margin-top:1em; text-align:justify; text-justify:inter-ideograph;}
	a {text-decoration:none;}
  .pc {display:none !important;}  
  .wrapper {background:#fff;}
  
  /* header */
  header {position:fixed; top:0; left:0; width:100%; height:155px; background:#fff; font-family:'Noto Serif JP', serif; z-index:5;}
	header h1 {width:calc(100% - 30px); margin:0 auto; padding:0.8em 0 0.3em 0; border-bottom:1px solid #b2cfba; color:#2575c6; font-size:75%; font-weight:500; text-align:center;}
  header .inner {width:100%; padding:15px;}	
  header .logo {width:300px; padding-bottom:5px;}
	header .h_right {display:flex; align-items:center; justify-content:space-between; color:#2575c6;}
  header .h_right dl.tel {width: calc(100% - 106px); line-height:1.4;}
  header .h_right dl.tel dt {font-size:130%; font-weight:800; letter-spacing:0.05em;}
  header .h_right dl.tel dt a {color:#2575c6;}
  header .h_right dl.tel dd {font-size:60%;}
  header .h_right .contact {display:inline-block; font-size:90%; font-weight:600;}
  header .h_right .contact a {position:relative; display:block; width:48px; height:48px; background:#fff url(../images/icon_mail.png) center center no-repeat; background-size:auto 45%; border:1px solid #2575c6; color:#2575c6;}
  header .gnavbtn  {position:relative; width:48px; height:48px; background:#fff; border:1px solid #2575c6; cursor:pointer; z-index:11;}
  header .gnavbtn span {position:relative; display:block; width:32px; height:2px; left:7px; background:#2575c6; transition:0.3s;}
  header .gnavbtn span:nth-child(1) {top:13px;}
  header .gnavbtn span:nth-child(2) {top:21px;}
  header .gnavbtn span:nth-child(3) {top:29px;}
  
  /* nav */
  nav {overflow-y:auto; position:fixed; display:none; width:100%; height:100%; padding:0 0 4em 0; top:0; left:0; background:#2575c6; z-index:2;}
  nav ul {display:flex; flex-wrap:wrap; justify-content:space-between; width:80%; margin:160px auto 0 auto; font-size:90%; font-weight:500;}
  nav ul li {width:100%; margin:10px 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:0.7em; top:1.7em; right:2em; border-top:1px solid #fff; border-right:1px solid #fff; transform:rotate(45deg);}
  
  .mv {position:relative; width:100%; height:100vw; margin-top:155px;}
  .mv .slider {overflow:hidden; position:relative; width:100%; height:100vw;}
  .mv .slider_item {width:100%; height:100vw;}
  .mv .slider_item img {position:absolute; width:100%; height:100%; top:0; left:0; vertical-align:bottom; object-fit:cover; object-position:center bottom; z-index:-1;}
  .mv .slider_item .inner {display:flex; width:90%; height:100%; margin:0 auto;}
  .mv .slider_item .inner p {width:100%; margin:0; padding-top:3em; color:#fff; font-size:80%; font-weight:500; text-shadow:0 0 0.2em #2575c6; line-height:1.5;}
  .mv .slider_item .inner p.center {text-align:center;}
  .mv .slider_item .inner p.right {text-align:right;}
  .mv .slider_item .inner p span {display:inline-block; margin-bottom:0.3em; color:#2575c6; font-family:'Noto Serif JP', serif; font-size:180%; font-weight:700; 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;}
  
  /* low_mv */
  .low_mv {margin:155px 0 0 0; background:#ddd url(../images/low_mv.jpg) center top no-repeat; background-size:cover;}
  .low_mv .inner {position:relative; display:flex; align-items:center; justify-content:center; height:6em; padding:0 15px;}
  .low_mv .inner h1 {color:#fff; font-family:'Noto Serif JP', serif; font-size:130%; font-weight:600; letter-spacing:0.05em; line-height:1; text-align:center; text-shadow:0 0 0.2em #2575c6;}
  
  .contents {width:90%; margin:0 auto;}
  
  /* h2 */	
	main h2 {margin:3em 0 0 0; color:#2575c6; font-family:'Noto Serif JP', serif; font-size:125%; font-weight:700; line-height:1.5;}
  
  /* top_rnews */
  #top_rnews {background:url(../../images/top/bg_rnews.jpg) center top no-repeat; background-size:cover;}
  #top_rnews .inner {width:90%;margin:0 auto; padding:3em 0;}
  #top_rnews .inner .title {position:relative; display:flex; justify-content:space-between; padding:1.5em 1.5em 1em 1.5em; background:rgba(255,255,255,0.8);}
  #top_rnews .inner .title h2 {width:100%; margin:0; padding:0 0 0.4em 0; border-bottom:2px solid #eee; line-height:1;}
  #top_rnews .inner .title .btn {position:absolute; width:6em; margin:0; right:2.2em; bottom:2.3em; font-size:70%; font-weight:600; text-align:center; z-index:+1;}
  #top_rnews .inner .title .btn a {position:relative; display:block; padding:0.3em 0; border:2px solid #2575c6; color:#2575c6; text-align:center;}
  #top_rnews .news {padding:0 1.5em 1em 1.5em; background:rgba(255,255,255,0.8);}
  #top_rnews .inner iframe {height:11.5em;}
  
  /* top_news */
  #top_news {background:url(../../images/top/bg_news.jpg) center top no-repeat; background-size:cover;}
  #top_news .inner {width:90%;margin:0 auto; padding:3em 0;}
  #top_news .inner .title {position:relative; display:flex; justify-content:space-between; padding:1.5em 1.5em 1em 1.5em; background:rgba(255,255,255,0.8);}
  #top_news .inner .title h2 {width:100%; margin:0; padding:0 0 0.4em 0; border-bottom:2px solid #eee; line-height:1;}
  #top_news .inner .title .btn {position:absolute; width:6em; margin:0; right:2.2em; bottom:2.3em; font-size:70%; font-weight:600; text-align:center; z-index:+1;}
  #top_news .inner .title .btn a {position:relative; display:block; padding:0.3em 0; border:2px solid #2575c6; color:#2575c6; text-align:center;}
  #top_news .news {padding:0 1.5em 1em 1.5em; background:rgba(255,255,255,0.8);}
  #top_news .inner .news ul {width:100%; font-size:80%; font-weight:400;}
  #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 #000;}
  #top_news .inner .news ul li {position:relative; padding:0.5em 0 0.5em 7em; border-bottom:1px dotted #e4e5e6;}
  #top_news .inner .news ul li:last-child {border:0;}
  #top_news .inner .news ul li span {position:absolute; display:inline-block; width:7em; left:0; top:0.5em; font-weight:600;}
	
	/* ptxt */
  .ptxt {margin:1.5em auto 0 auto; font-size:90%; font-weight:400; line-height:2; text-align:justify; text-justify:inter-ideograph;} 
  
  /* area2 */
  .area2 {margin:1.5em auto 0 auto;}
  .area2 .ptxt {width:100%; margin:0;}
  .area2 .ptxt .fleft {}
  .area2 .ptxt .fright {padding-top:1em; font-weight:400; line-height:2; text-align:justify; text-justify:inter-ideograph;} 
  
  /* area3 */
  .area3 {margin:1.5em auto 0 auto;}
  .area3 .ptxt {width:100%; margin:0;}
  .area3 .ptxt .fleft {font-weight:400; line-height:2; text-align:justify; text-justify:inter-ideograph;}
  .area3 .ptxt .fright {padding-top:1em;} 
  
  /* cmn_bnr */
  #cmn_bnr {width:100%; margin:3em 0 0 0; padding:1em 0 0.5em 0; background:#fafafa; line-height:1;}
  #cmn_bnr ul {display:flex; flex-wrap:wrap; justify-content:space-between; width:90%; margin:0 auto;}
  #cmn_bnr ul li {width:48.5%; margin:0 0 0.5em 0;}
  
	/* low_contact */
	.low_contact {width:100%; margin:5em auto 0 auto; padding-bottom:2em; border:3px solid #2575c6; font-family:'Noto Serif JP', serif;}
	.low_contact .ttl {width:90%; margin:0 auto; padding:1em 0; border-bottom:3px solid #2575c6; color:#2575c6; font-weight:600; text-align:center;}
	.low_contact .call {margin:0.5em 0 0 0; color:#2575c6; font-size:180%; font-weight:600; text-align:center;}
	.low_contact .date {margin:0.5em 0 0 0; font-size:80%; font-weight:400; text-align:center;}
	.low_contact .btn {margin:1.5em 0 0 0; font-size:90%; font-weight:600; text-align:center;}
	.low_contact .btn a {position:relative; padding:0.3em 3em; border:2px solid #2575c6; color:#2575c6;}
  
  /* ptop */
  #ptop {width:90%; margin:1em auto 0 auto; text-align:right;}
	#ptop a {color:#000; font-size:85%; font-weight:500;}
	#ptop span {padding:0 0 0 1.5em; background:url(../images/pagetop.png) left 0.32em no-repeat; background-size:auto 1em;}
  
  /* cmn_contact */
  #cmn_contact {width:90%; margin:2em auto 0 auto;}
  
  /* footer */
  footer {margin:0.5em 0 0 0;}
	footer ul {display:flex; align-items:center; flex-wrap:wrap; justify-content:center; padding:0.7em 5%; background:#f7f7f7; border-top:4px solid #2575c6; font-family:'Noto Serif JP', serif; font-size:90%; font-weight:600;}
  footer ul a {border-bottom:1px solid transparent; color:#123a63;}
  footer ul li {position:relative; padding:0.2em 2em 0.2em 1em;}
  footer ul li:last-child {padding-right:0;}
  footer ul li::after {position:absolute; display:block; content:'／'; top:0.2em; right:0;}
  footer ul li:last-child::after {display:none;}
	footer .inner {padding:2em 0;}
	footer .logo {width:250px; margin:0 auto;}
  footer .inner p.copy {margin:1.2em 0 0 0; color:#2575c6; font-family:'Noto Serif JP', serif; font-size:60%; font-weight:400; letter-spacing:0.05em; text-align:center; line-height:1.8;}

}



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

@media screen and (min-width:901px) {
  body {overflow-x:hidden; width:100%; background:#fff; font-size:17px;}
  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%; height:auto;}
  p {margin-top:1em; text-align:justify; text-justify:inter-ideograph;}
  .sp {display:none !important;}  
  .wrapper {}
  
  /* header */
  header {position:fixed; top:0; left:0; width:100%; height:157px; background:#fff; font-family:'Noto Serif JP', serif; z-index:5;}
	header h1 {width:calc(100% - 100px); margin:0 auto; padding:0.8em 0 0.3em 0; border-bottom:1px solid #b2cfba; color:#2575c6; font-size:75%; font-weight:500; text-align:center;}
  header .inner {display:flex; align-items:center; justify-content:space-between; width:100%; padding:15px 50px;}	
  header .logo {margin-top:0.5em; width:384px;}
	header .h_right {display:flex; align-items:center; color:#2575c6;}
  header .h_right dl.tel {line-height:1.2;}
  header .h_right dl.tel dt {font-size:150%; font-weight:800; letter-spacing:0.05em;}
  header .h_right dl.tel dt a {color:#2575c6; pointer-events:none;}
  header .h_right dl.tel dd {font-size:75%;}
  header .h_right .contact {display:inline-block; margin:0 0 0 20px; font-size:90%; font-weight:600;}
  header .h_right .contact a {position:relative; display:block; padding:0.5em 2.5em; background:#fff url(../images/icon_mail.png) 0.8em center no-repeat; background-size:auto 1.1em; border:2px solid #2575c6; color:#2575c6; transition:0.3s;}
  header .h_right .contact a:hover {opacity:0.8;}
  
  /* nav */
  nav {display:block !important; padding:0.8em 0; background:#f5f5f5; border-bottom:3px solid #2575c6; line-height:1;}
  nav ul {display:flex; justify-content:center; margin:0 auto; font-weight:600;}
  nav ul li {position:relative; padding:0 2em 0 1em;}
  nav ul li:last-child {padding-right:0;}
	nav ul li::after {position:absolute; display:block; content:'／'; right:0; top:0;}
	nav ul li:last-child::after {display:none;}
  nav ul li a {color:#123a63; transition:0.3s;}
  nav ul li a:hover {opacity:0.8;}
  
  /* mv */
  .mv {position:relative; width:100%; height:500px; margin-top:157px;}
  .mv .slider {overflow:hidden; position:relative; width:100%; height:500px; font-family:'Noto Serif JP', serif;}
  .mv .slider_item {width:100%; height:500px;}
  .mv .slider_item img {position:absolute; width:100%; height:100%; top:0; left:0; vertical-align:bottom; object-fit:cover; object-position:center bottom; z-index:-1;}
  .mv .slider_item .inner {display:flex; width:91%; max-width:980px; height:100%; margin:0 auto;}
  .mv .slider_item .inner p {width:100%; margin:0; padding-top:5em; color:#fff; font-size:130%; font-weight:700; text-shadow:0 0.1em 0.2em #2575c6; line-height:1.5;}
  .mv .slider_item .inner p.center {text-align:center;}
  .mv .slider_item .inner p.right {text-align:right;}
  .mv .slider_item .inner p span {display:inline-block; margin-bottom:0.3em; color:#2575c6; font-size:220%; line-height:1.3; text-shadow:none;}
  
  /* low_mv */
  .low_mv {margin:157px 0 0 0; background:url(../images/low_mv.jpg) center top no-repeat; background-size:cover;}
  .low_mv .inner {position:relative; display:flex; align-items:center; justify-content:center; height:8em; padding:0 30px;}
  .low_mv .inner h1 {color:#fff; font-family:'Noto Serif JP', serif; font-size:160%; font-weight:600; letter-spacing:0.1em; text-align:center; line-height:1; text-shadow:0 0 0.2em #2575c6;}
	
	.contents {width:91%; max-width:980px; margin:0 auto;}
  
  /* h2 */	
	main h2 {margin:3em 0 0 0; color:#2575c6; font-family:'Noto Serif JP', serif; font-size:140%; font-weight:700; line-height:1.5;}
  
  /* top_rnews */
  #top_rnews {background:url(../../images/top/bg_rnews.jpg) center top no-repeat; background-size:cover;}
  #top_rnews .inner {width:91%; max-width:980px; margin:0 auto; padding:5em 0;}
  #top_rnews .inner .title {position:relative; display:flex; justify-content:space-between; width:80%; margin:0 0 0 20%; padding:1.5em 3em 1em 3em; background:rgba(255,255,255,0.8);}
  #top_rnews .inner .title h2 {width:100%; margin:0; padding:0 0 0.5em 0; border-bottom:2px solid #eee; line-height:1;}
  #top_rnews .inner .title .btn {position:absolute; width:6em; margin:0; right:3.7em; bottom:2.3em; font-size:80%; font-weight:600; text-align:center; z-index:+1;}
  #top_rnews .inner .title .btn a {position:relative; display:block; padding:0.3em 0; border:2px solid #2575c6; color:#2575c6; text-align:center; transition:0.3s;}
  #top_rnews .inner .title .btn a:hover {opacity:0.8;}
  #top_rnews .news {width:80%; margin:0 0 0 20%; padding:0 3em 1em 3em; background:rgba(255,255,255,0.8);}
  #top_rnews .inner iframe {height:11.5em;}
  #top_rnews .inner ul {width:100%;}
  
  /* top_news */
  #top_news {min-height:400px; background:url(../../images/top/bg_news.jpg) center top no-repeat; background-size:cover;}
  #top_news .inner {width:91%; max-width:980px; margin:0 auto; padding:5em 0;}
  #top_news .inner .title {position:relative; display:flex; justify-content:space-between; width:80%; margin:0 20% 0 0; padding:1.5em 3em 1em 3em; background:rgba(255,255,255,0.8);}
  #top_news .inner .title h2 {width:100%; margin:0; padding:0 0 0.5em 0; border-bottom:2px solid #eee; line-height:1;}
  #top_news .inner .title .btn {position:absolute; width:6em; margin:0; right:3.7em; bottom:2.3em; font-size:80%; font-weight:600; text-align:center; z-index:+1;}
  #top_news .inner .title .btn a {position:relative; display:block; padding:0.3em 0; border:2px solid #2575c6; color:#2575c6; text-align:center; transition:0.3s;}
  #top_news .inner .title .btn a:hover {opacity:0.8;}
  #top_news .news {width:80%; margin:0 20% 0 0; padding:0 3em 1em 3em; background:rgba(255,255,255,0.8);}
  #top_news .inner .news ul {width:100%; font-size:95%; font-weight:400;}
  #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 #000;}
  #top_news .inner .news ul li {padding:0.5em 0; border-bottom:1px dotted #e4e5e6;}
  #top_news .inner .news ul li:last-child {border:0;}
  #top_news .inner .news ul li span {display:inline-block; width:9.5em; font-weight:600;}
  
  /* ptxt */
  .ptxt {margin:1.5em auto 0 auto; font-weight:500; line-height:2; text-align:justify; text-justify:inter-ideograph;}
  
  /* area2 */
  .area2 {margin:1.5em auto 0 auto;}
  .area2 .ptxt {display:flex; position:relative; justify-content:space-between; width:100%; margin:0;}
  .area2 .ptxt .fleft {width:45%; padding-top:0.6em; text-align:center;}
  .area2 .ptxt .fright {width:50%; font-weight:400; line-height:2; text-align:justify; text-justify:inter-ideograph;}
  
  /* area3 */
  .area3 {margin:1.5em auto 0 auto;}
  .area3 .ptxt {display:flex; position:relative; flex-direction:row-reverse; justify-content:space-between; width:100%; margin:0;}
  .area3 .ptxt .fleft {width:50%; font-weight:400; line-height:2; text-align:justify; text-justify:inter-ideograph;}
  .area3 .ptxt .fright {width:45%; padding-top:0.6em; text-align:center;}
  
  /* cmn_bnr */
  #cmn_bnr {width:100%; margin:4em 0 0 0; padding:1em 0; background:#fafafa; line-height:1;}
  #cmn_bnr ul {display:flex; justify-content:space-between; width:91%; max-width:980px; margin:0 auto;}
  #cmn_bnr ul li {width:24%; max-width:310px;}
  
	/* low_contact */
	.low_contact {width:70%; margin:5em auto 0 auto; padding-bottom:2em; border:3px solid #2575c6; font-family:'Noto Serif JP', serif;}
	.low_contact .ttl {width:80%; margin:0 auto; padding:1em 0; border-bottom:3px solid #2575c6; color:#2575c6; font-weight:600; text-align:center;}
	.low_contact .call {margin:0.5em 0 0 0; color:#2575c6; font-size:180%; font-weight:600; text-align:center;}
	.low_contact .date {margin:0.5em 0 0 0; font-size:80%; font-weight:400; text-align:center;}
	.low_contact .btn {margin:1.5em 0 0 0; font-size:90%; font-weight:600; text-align:center;}
	.low_contact .btn a {position:relative; padding:0.3em 3em 0.4em 3em; border:2px solid #2575c6; color:#2575c6; transition:0.3s;}
	.low_contact .btn a:hover {opacity:0.8;}
	
  /* ptop */
  #ptop {width:91%; max-width:980px; margin:1em auto 0 auto; text-align:right;}
	#ptop a {color:#000; font-size:95%; font-weight:600; transition:0.3s;}
	#ptop a:hover {opacity:0.8;}
	#ptop span {padding:0 0 0 1.5em; background:url(../images/pagetop.png) left 0.32em no-repeat; background-size:auto 1em;}
  
  /* cmn_contact */
  #cmn_contact {width:68%; max-width:720px; margin:3em auto 0 auto;}
  
  /* footer */
  footer {margin:0.5em 0 0 0;}
	footer ul {display:flex; align-items:center; justify-content:center; padding:0.7em 0; background:#f7f7f7; border-top:4px solid #2575c6; font-family:'Noto Serif JP', serif; font-size:95%; font-weight:600;}
  footer ul a {border-bottom:1px solid transparent; color:#123a63; transition:0.3s;}
  footer ul a:hover {border-bottom:1px solid #2575c6;}
  footer ul li {position:relative; padding:0 2em 0 1em;}
  footer ul li:last-child {padding-right:0;}
  footer ul li::after {position:absolute; display:block; content:'／'; top:0; right:0;}
  footer ul li:last-child::after {display:none;}
	footer .inner {padding:3em 0;}
	footer .logo {width:300px; margin:0 auto;}
  footer .inner p.copy {margin:1.5em 0 0 0; color:#2575c6; font-family:'Noto Serif JP', serif; font-size:70%; font-weight:400; letter-spacing:0.05em; text-align:center;}

}

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

}


