/*!
Theme Name: syakyo
Author: 社会福祉法人 神戸市社会福祉協議会
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
*/

/* Reset */
ul,ol{list-style:none;}
img{border:0;text-align:center;}
img{max-width:100%;height:auto;}

/* Common */
*{
  margin:0;
  border:0;
  padding-top:0;
  padding-right:0;
  padding-bottom:0;
  padding-left:0;
  box-sizing:border-box;
  line-height:150%;
}
html{height:100%;margin:0;padding:0;font-size:10px;}
html.is-font-large{font-size:12px;}
body{
  margin:0 auto;
  padding:0;
  text-align:left;
  line-height:170%;
  font-family:"Noto Sans JP","メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-size:1.0rem;
  color:#333333;
  letter-spacing:1px;
}
a:active{color:inherit;}
.clearboth{padding:0;clear:both;}
.clearfix:after{
  content:".";
  display:block;
  clear:both;
  height:0;
  visibility:hidden;
  overflow:hidden;
  font-size:0.1em;
  line-height:0;
}
.clearfix{min-height:1px;}
* html .clearfix{
  height:1px;
  height:auto;
  overflow:hidden;
}
a{color:#111111;text-decoration:underline;word-wrap:break-word;}
a:hover{color:#111111;text-decoration:none;}
.font_red{color:#FF0000 !important;}
.req{color:#FF0000 !important;}
.mt30{margin-top:30px !important;}
.disnon{display:none !important;}
.spnon{display:inherit !important;}
.disnon2{display:none !important;}
.spnon2{display:inherit !important;}
@media (max-width:1000px){
  .disnon{display:inherit !important;}
  .spnon{display:none !important;}
  img{max-width:100%;}
}
@media (max-width:600px){
  .disnon2{display:inherit !important;}
  .spnon2{display:none !important;}
  img{max-width:100%;}
}
/********** Header **********/
#BlockHeader{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  margin:0 auto;
  padding:12px 120px 20px 50px;
  width:100%;
  position:relative;
  box-sizing:border-box;
  position:absolute;
  top:0;
  z-index:1000;
}
#BlockHeader h1{display:block;margin:0;padding:0;box-sizing:border-box;}
#BlockHeader h1 a{display:block;width:100%;height:100%;text-decoration:none;font-size:2.6rem;font-weight:bold;letter-spacing:5px;}
#BlockHeader h1 span{
  display:block;
  margin:0;
  padding:0 0 0 30px;
  background:url(assets/img/logo02.png) top left no-repeat;
  box-sizing:border-box;
  font-size:1.5rem;
  font-weight:bold;
  letter-spacing:0;
}
#BlockHeaderUtil{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex-wrap:wrap;
  margin:0;
  padding:0 20px;
  height:60px;
  background:#FFFFFF;
  border-radius:5px;
}
#BlockSearch{display:block;margin:0 15px 0 0;width:260px;height:30px;position:relative;}
#SearchForm{display:block;background:#F4F4F4;padding:0 35px 0 10px;border:0;border-radius:15px;width:100%;height:30px;float:none;box-sizing:border-box;}
#SearchButton{display:block;position:absolute;top:7px;right:10px;margin:0;width:14px;height:16px;background:url(assets/img/btn_search2.png) top left no-repeat;border:none;cursor:pointer;float:none;padding:0;}
#BlockFontMod{display:block;margin:0;padding:0;height:31px;}
#BlockFontMod ul{display:flex;justify-content:flex-start;align-items:center;margin:0;padding:0;height:31px;}
#BlockFontMod ul li{display:block;margin:0 0 0 8px;padding:0;border:0;float:none;list-style:none;}
#BlockFontMod ul li a{display:block;padding:5px 8px;text-decoration:none;font-size:1.3rem;border:1px solid transparent;}
#BlockFontMod ul li a{color:#999999;font-weight:normal;}
#BlockFontMod ul li a.is-active{color:#4690E8;font-weight:bold;border-color:#4690E8;}
#BlockFontMod ul li a:hover{color:#4690E8;font-weight:bold;}
@media screen and (max-width:1380px){#BlockHeaderUtil{display:none;}}
@media screen and (max-width:1300px){
  body.menu-open{overflow:hidden;}
  #BlockHeader{padding:10px 80px 30px 10px;}
	#BlockHeader h1{display:block;margin:0;padding:0;box-sizing:border-box;}
	#BlockHeader h1 a{display:block;width:100%;height:100%;text-decoration:none;font-size:2.1rem;font-weight:bold;letter-spacing:5px;}
	#BlockHeader h1 span{
	  display:block;
	  margin:0;
	  padding:2px 0 0 30px;
	  background:url(assets/img/logo02.png) top left no-repeat;
	  box-sizing:border-box;
	  font-size:1.2rem;
	  font-weight:bold;
	  letter-spacing:0;
		min-height:25px;
	}
}

/********** Global Navigation **********/

:root{
  --nav-dur-in: 560ms;
  --nav-dur-out: 420ms; 
  --nav-ease: cubic-bezier(.16, 1, .3, 1);

  --content-dur-in: 420ms;
  --content-dur-out: 260ms;
  --content-ease: cubic-bezier(.16, 1, .3, 1);

  --overlay-dur-in: 420ms;
  --overlay-dur-out: 260ms;
  --overlay-ease: cubic-bezier(.2, .8, .2, 1);
  --overlay-color: 70, 144, 232;
  --overlay-alpha: .30;
}

.nav-button{
  z-index: 20001;
  width: 75px;
  height: 75px;
  padding: 0;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  right: 0;
  background: #4690e8;
  border-radius: 0 0 0 10px;
  cursor: pointer;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  font-size: 0;
  line-height: 0;

  --line-h: 2px;
  --line-w: 36px;
  --line-gap: 8px;
  --line-step: calc(var(--line-h) + var(--line-gap));
}
.nav-button.active{ z-index: 20001; }

.nav-button,
.nav-button span{
  box-sizing: border-box;
  transition: all 0.4s;
}

.nav-button span{
  display: block;
  width: var(--line-w);
  height: var(--line-h);
  background-color: #fff;
  margin: 0;
  padding: 0;

  transform-origin: center;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.nav-button span + span{
  margin-top: var(--line-gap);
}

.nav-button.active span:nth-of-type(1){
  transform: translateY(var(--line-step)) rotate(-45deg);
}
.nav-button.active span:nth-of-type(2){
  opacity: 0;
}
.nav-button.active span:nth-of-type(3){
  transform: translateY(calc(-1 * var(--line-step))) rotate(45deg);
}

@media (max-width: 1000px){
  .nav-button{
    width: 58px;
    height: 58px;
    border-radius: 0 0 0 8px;
    --line-w: 28px;
    --line-gap: 7px;
  }
}

@media (max-width: 540px){
  .nav-button{
    width: 50px;
    height: 50px;
    border-radius: 0 0 0 8px;
    --line-w: 24px;
    --line-gap: 6px;
  }

.nav-button.active span:nth-of-type(1){
  transform: translateY(6px) rotate(-45deg) !important;
}
}


.nav-wrap{
  position: fixed;
  inset: 0;
  z-index: 20000;
  width: 100%;
  height: 100%;
  display: block;
  visibility: hidden;
  pointer-events: none;
}

.nav-wrap::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(var(--overlay-color), var(--overlay-alpha));
  opacity: 0;
  transition: opacity var(--overlay-dur-in) var(--overlay-ease);
}

.nav-wrap.open{
  visibility: visible;
  pointer-events: auto;
}
.nav-wrap.open::before{
  opacity: 1;
  transition-delay: 40ms;
}

.nav-wrap.is-closing::before{
  opacity: 0;
  transition-duration: var(--overlay-dur-out);
  transition-delay: 0ms;
}

.nav-wrapinner{
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 70vw;
  background-color: #ffffff;
  transform: translateX(102%);
  transition: transform var(--nav-dur-in) var(--nav-ease);
  will-change: transform;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  padding: 20px 50px 20px 60px;
  box-shadow: 0 0 30px rgba(0,0,0,.18);
  z-index: 10;
}

.nav-wrap.open .nav-wrapinner{
  transform: translateX(0);
}

.nav-wrap.is-closing .nav-wrapinner{
  transition-duration: var(--nav-dur-out);
  transform: translateX(102%);
}

.nav-wrapinner h2,
.nav-wrapinner h3,
.nav-wrapinner .nav-wrapinner2{
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity var(--content-dur-in) var(--content-ease),
    transform var(--content-dur-in) var(--content-ease);
}

.nav-wrap.open .nav-wrapinner h2,
.nav-wrap.open .nav-wrapinner h3,
.nav-wrap.open .nav-wrapinner .nav-wrapinner2{
  transition-delay: 500ms;
  opacity: 1;
  transform: translateY(0);
}

.nav-wrap.is-closing .nav-wrapinner h2,
.nav-wrap.is-closing .nav-wrapinner h3,
.nav-wrap.is-closing .nav-wrapinner .nav-wrapinner2{
  transition-duration: var(--content-dur-out);
  transition-delay: 0ms;
  opacity: 0;
  transform: translateY(6px);
}

.nav-wrapinner h2{display:block;margin:0;padding:0;box-sizing:border-box;}
.nav-wrapinner h2 a{display:block;width:100%;height:100%;text-decoration:none;font-size:2.1rem;font-weight:bold;letter-spacing:5px;}
.nav-wrapinner h2 span{
	  display:block;
	  margin:0;
	  padding:2px 0 0 30px;
	  background:url(assets/img/logo02.png) top left no-repeat;
	  box-sizing:border-box;
	  font-size:1.2rem;
	  font-weight:bold;
	  letter-spacing:0;
		min-height:25px;
	}


.nav-wrapinner h3{ display:block; margin:0 0 20px 0; padding:0; border-bottom:1px solid #ddd1c3;  color:#564f49; font-size:2.6rem; line-height:100%; text-decoration:none; text-indent:0; }

.nav-wrapinner2{
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 18px 20px;
  align-items: start;
}

.nav-wrapinner2 ul{
  margin: 0;
  padding: 0;
  list-style: none;
  color:#564f49;
  box-sizing:border-box;
}
.nav-wrapinner2 ul li{
  display:block;
  margin:0 0 2px 0;
  padding:0;
  color:#564f49;
  border-bottom: 1px dotted #ddd1c3;
}
.nav-wrapinner2 ul li a{
  display:block;
  padding:6px 20px;
  margin:0;
  color:#564f49;
  font-size:1.4rem;
  font-weight:bold;
  line-height:150%;
  text-decoration:none;
  box-sizing:border-box;
}
.nav-wrapinner2 ul li.red a{ color:#E8492A; }

@media (max-width: 1000px){
  .nav-button{
    width: 58px;
    height: 58px;
    padding: 0 12px;
    border-radius: 0 0 0 8px;
  }
  .nav-button span{ height: 2px; }
  .nav-button span:nth-of-type(1){ top: 10px; }
  .nav-button span:nth-of-type(2){ top: 7px; }
  .nav-button span:nth-of-type(3){ top: 6px; }
  .nav-button.active span:nth-of-type(1){
    transform: translateY(11px) rotate(-45deg);
  }
  .nav-button.active span:nth-of-type(3){
    transform: translateY(-11px) rotate(45deg);
  }

  .nav-wrapinner{
    width: 82vw;
    padding: 20px 20px 20px 24px;
  }
}

@media (max-width: 540px){
  .nav-button{
    width: 50px;
    height: 50px;
    padding: 0 11px;
    border-radius: 0 0 0 8px;
  }
  .nav-button span:nth-of-type(1){ top: 9px; }
  .nav-button span:nth-of-type(2){ top: 6px; }
  .nav-button span:nth-of-type(3){ top: 5px; }
  .nav-button.active span:nth-of-type(1){
    transform: translateY(10px) rotate(-45deg);
  }
  .nav-button.active span:nth-of-type(3){
    transform: translateY(-10px) rotate(45deg);
  }

  .nav-wrapinner2{
    grid-template-columns: 1fr;
    gap: 0 10px;
    margin-top: 26px;
  }
}

@media (prefers-reduced-motion: reduce){
  .nav-wrap::before,
  .nav-wrapinner,
  .nav-wrapinner h2,
  .nav-wrapinner h3,
  .nav-wrapinner .nav-wrapinner2{
    transition: none !important;
  }
}

.nav-search{
  margin-top: 24px;
}

.nav-search form{
  position: relative;
}

.nav-search input[type="text"]{
  display:block;
  width:100%;
  height:40px;
  padding:0 44px 0 14px;
  background:#F4F4F4;
  border-radius:20px;
  font-size:1.6rem;
}

.nav-search input[type="submit"]{
  position:absolute;
  top:50%;
  right:14px;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  background:url(assets/img/btn_search2.png) center/contain no-repeat;
  cursor:pointer;
}

/********** Footer **********/
footer{display:block;width:100%;margin:0;padding:0;}
#BlockBannerF{display:block;margin:0 0 70px 0;padding:30px 0;width:100%;height:136px;background:none;box-sizing:border-box;}
#BlockFooter{margin:0;padding:60px 0 0 0;width:100%;background:none;color:#333333;border-top:1px solid #E2E2E2;}
#BlockFooterInner{display:flex;justify-content:space-between;flex-wrap:wrap;margin:0 auto;margin-bottom:60px;padding:0;width:1300px;}
#BlockFooterInnerL{display:block;margin:0;padding:0;width:270px;}
#BlockFooterLogo{display:block;margin:0;margin-bottom:30px;padding:0;}
#BlockFooterLogo h2{display:inline-block;margin:0;padding:0;box-sizing:border-box; text-align:left;}
#BlockFooterLogo h2 a{display:block;width:100%;height:100%;text-decoration:none;font-size:2.5rem;font-weight:bold;letter-spacing:2px;}
#BlockFooterLogo h2 span{display:block;margin:0;padding:2px 0 0 30px;min-height:25px;background:url(assets/img/logo02.png) top left no-repeat;box-sizing:border-box;font-size:1.3rem;font-weight:bold;letter-spacing:0;}
#BlockFooterAddress{margin:0 0 40px 0;padding:0;color:#333333;font-size:1.4rem;font-weight:normal;}
#BlockFooterAddress p{margin:0 0 10px 0;}
#BlockFooterAddress p:last-of-type{margin:0;}
@media screen and (max-width:1300px){
  footer{display:block;width:100%;margin:0;padding:0 20px;box-sizing:border-box;}
  #BlockBannerF{display:block;margin:0 0 70px 0;padding:30px 0;width:100%;height:136px;background:none;box-sizing:border-box;}
  #BlockFooter{margin:0;padding:60px 0 0 0;width:100%;background:none;color:#333333;border-top:1px solid #E2E2E2;}
  #BlockFooterInner{display:block;margin:0 auto;padding:0;width:100%;max-width:1380px;}
  #BlockFooterInnerL{display:block;margin:0 0 40px 0;padding:0;width:100%;text-align:center;}
  #BlockFooterLogo{display:block;margin:0 auto;margin-bottom:20px;padding:0;}
  #BlockFooterAddress{margin:0 0 40px 0;padding:0;color:#333333;font-size:1.4rem;line-height:150%;font-weight:normal;}
}
#BlockFooterInnerR{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:0 30px;margin:0;padding:0;width:100%;max-width:970px;height:100%;}
#BlockFooterInnerR ul{display:flex;flex-direction:column;margin:0;padding:0;width:220px;}
#BlockFooterInnerR ul li{display:block;margin:0;padding:0;}
#BlockFooterInnerR ul li.flink_bottom{display:block;margin:0;margin-top:auto;padding:0;}
#BlockFooterInnerR ul li a{display:block;margin:0 0 20px 0;padding:0 0 20px 0;border-bottom:1px solid #E2E2E2;color:#333333;text-decoration:none;font-weight:700;font-size:1.6rem;transition:all 0.5s 0s ease;}
#BlockFooterInnerR ul li a:hover{padding:0 0 20px 6px;}
#BlockFooterInnerR ul li.red a{color:#E8492A;}
@media screen and (max-width:1300px){
  #BlockFooterInnerR{display:block;margin:0;padding:0;width:100%;}
  #BlockFooterInnerR ul li{margin-bottom:0;}
  #BlockFooterInnerR ul:last-of-type{display:block;margin:0;padding:0;width:100%;}
  #BlockFooterInnerR > ul{display:block;margin:0;padding:0;width:100% !important;box-sizing:border-box;}
  #BlockFooterInnerR > ul:last-of-type{margin:0;padding:0;width:100%;}
  #BlockFooterInnerR ul li.red a{color:#E8492A;}
}
@media screen and (max-width:650px){
  #BlockFooterInnerR .fmenu{display:none;}
  #BlockFooterInnerR .fmenu:last-of-type{display:none;}
}
#BlockFooterCopy{margin:0;padding:20px 0;width:100%;color:#333333;border-top:1px solid #E2E2E2;}
#BlockFooterCopyInner{display:flex;justify-content:flex-end;flex-wrap:wrap;margin:0 auto;padding:0;width:100%;max-width:1380px;}
#BlockFooterCopyInner ul{display:flex;justify-content:flex-start;flex-wrap:wrap;margin:0;padding:0;list-style:none;}
#BlockFooterCopyInner ul li{margin:0 15px 0 0;padding:0;}
#BlockFooterCopyInner ul li a{margin:0;padding:0;color:#333333;text-decoration:none;font-size:1.2rem;font-weight:700;}
@media screen and (max-width:1380px){
  #BlockFooterCopy{margin:0;padding:20px 0;width:100%;color:#333333;border-top:1px solid #E2E2E2;}
  #BlockFooterCopyInner{display:block;margin:0 auto;padding:0;width:100%;max-width:1380px;text-align:center;}
  #BlockFooterCopyInner ul{display:flex;justify-content:center;flex-wrap:wrap;margin:0 0 10px 0;padding:0;list-style:none;}
  #BlockFooterCopyInner ul li{margin:0 15px 0 0;padding:0;}
  #BlockFooterCopyInner ul li a{margin:0;padding:0;color:#333333;text-decoration:none;font-size:1.2rem;font-weight:700;}
}

#BlockFooterSNS{display:block;margin:0;padding:0;}
#BlockFooterSNS ul{margin:0;padding:0;width:220px;list-style:none;}
#BlockFooterSNS ul li{margin:0 0 10px 0;padding:0;}
#BlockFooterSNS ul li a{display:block;margin:0;padding:8px 0;border:1px solid #E2E2E2;border-radius:15px;text-align:center;color:#333333;text-decoration:none;font-size:1.3rem;transition:all 0.5s 0s ease;}
#BlockFooterSNS ul li.googlemap a{background:url(assets/img/icon_googlemap.png) center left 20px no-repeat;}
#BlockFooterSNS ul li.facebook a{background:url(assets/img/icon_facebook.png) center left 20px no-repeat;}
#BlockFooterSNS ul li.youtube a{background:url(assets/img/icon_youtube.png) center left 20px no-repeat;}
#BlockFooterSNS ul li.x a{background:url(assets/img/icon_x.png) center left 20px no-repeat;}
#BlockFooterSNS ul li.line a{background:url(assets/img/icon_line.png) center left 20px no-repeat;}
#BlockFooterSNS ul li.instagram a{background:url(assets/img/icon_instagram.png) center left 20px no-repeat;}
#BlockFooterSNS ul li a:hover{border:1px solid #000000;}
@media screen and (max-width:1380px){
  #BlockFooterSNS{display:none;margin:0;padding:0;}
}
#BlockFooterSNSsp{display:none;margin:0;padding:0;}
@media screen and (max-width:1380px){
  #BlockFooterSNSsp{display:block;margin:0;padding:0;}
  #BlockFooterSNSsp ul{margin:0 auto !important;padding:0;width:220px !important;list-style:none;}
  #BlockFooterSNSsp ul li{margin:0 auto;margin-bottom:14px;padding:0;}
  #BlockFooterSNSsp ul li a{display:block;margin:0;padding:8px 0;border:1px solid #E2E2E2;border-radius:15px;text-align:center;color:#333333; font-size:1.3rem; font-weight:normal; text-decoration:none;}
  #BlockFooterSNSsp ul li.googlemap a{background:url(assets/img/icon_googlemap.png) center left 20px no-repeat;}
  #BlockFooterSNSsp ul li.facebook a{background:url(assets/img/icon_facebook.png) center left 20px no-repeat;}
  #BlockFooterSNSsp ul li.youtube a{background:url(assets/img/icon_youtube.png) center left 20px no-repeat;}
  #BlockFooterSNSsp ul li.x a{background:url(assets/img/icon_x.png) center left 20px no-repeat;}
  #BlockFooterSNSsp ul li.line a{background:url(assets/img/icon_line.png) center left 20px no-repeat;}
  #BlockFooterSNSsp ul li.instagram a{background:url(assets/img/icon_instagram.png) center left 20px no-repeat;}
  #BlockFooterSNSsp ul li a:hover{padding:8px 0 !important;}
	}

.returntop{display:block;position:fixed;bottom:10px;right:10px;z-index:30000;}
@media screen and (max-width:600px){
.returntop{ width:50px; height:auto;}

}

/********** Title **********/
#Title{display:flex;justify-content:center;flex-wrap:wrap;align-content:center;align-items:center;margin:0 0 80px 0;padding:0 10px;width:100%;height:300px;background:url(assets/img/bg_title.jpg) top center no-repeat;background-size:cover;position:relative;}
#Title h2{display:block;margin:0 auto;padding:0;width:100%;max-width:900px;text-align:center;font-size:2.8rem;font-weight:bold;}
#Title h2 span{display:block;margin:0 auto;padding:0;width:100%;text-align:center;font-size:1.8rem;font-weight:bold;}
#Title .breadcrumb{display:block;padding:0 50px 20px 0;width:100%;text-align:right;font-size:1.2rem;font-weight:normal;position:absolute;bottom:0;right:0;}
#Title .breadcrumb span{display:inline-block;padding:0;margin:0 10px;background:url(assets/img/arrow03.png) center center no-repeat;width:10px;height:10px;}
#Title .breadcrumb a{text-decoration:none;}
#Title .breadcrumb a:hover{text-decoration:underline;}

/********** Splash **********/
#Splash{display:block;margin:0 auto;margin-bottom:80px;padding:0;width:100%;text-align:center;overflow:hidden;background:#f9f5ea;}
#Splash li{display:block;margin:0;position:relative;}
#Splash li .copy{display:block;margin:0;position:absolute;top:35%;left:calc((100% - 1300px ) / 2);}
#Splash li .copy h2{display:block;margin:0 0 60px 0;font-size:2.6rem;font-weight:bold;text-align:left;line-height:240%;}
#Splash li .copy a{display:block;margin:0;padding:0 0 10px 0;font-size:1.6rem;font-weight:bold;text-align:left;line-height:240%;border-bottom:1px solid #CCCCCC;text-decoration:none;background:url(assets/img/btn_more2.png) center right no-repeat;}
@media screen and (max-width:1350px){
  #Splash li .copy{
    left: 50px;
  }
#Splash li .copy h2{display:block;margin:0 0 30px 0;font-size:2.2rem;font-weight:bold;text-align:left;line-height:200%;}
#Splash li .copy a{display:block;margin:0;padding:0 0 10px 0;font-size:1.6rem;font-weight:bold;text-align:left;line-height:240%;border-bottom:1px solid #CCCCCC;text-decoration:none;background:url(assets/img/btn_more2.png) center right no-repeat;}
}
@media screen and (max-width:1100px){
  #Splash li .copy{
    left: 20px;
    top: 30%;
  }
  #Splash li .copy h2{
    font-size: 2.2rem;
    line-height: 200%;
    margin: 0 0 40px 0;
  }
#Splash li .copy h2{display:block;margin:0 0 30px 0;font-size:2.0rem;font-weight:bold;text-align:left;line-height:180%;}
#Splash li .copy a{display:block;margin:0;padding:0 0 10px 0;font-size:1.6rem;font-weight:bold;text-align:left;line-height:240%;border-bottom:1px solid #CCCCCC;text-decoration:none;background:url(assets/img/btn_more2.png) center right no-repeat;}
}

@media screen and (max-width:800px){
  #Splash li .copy{
    left: 20px;
    top: 28%;
  }
#Splash li .copy h2{display:block;margin:0 0 20px 0;font-size:1.6rem;font-weight:bold;text-align:left;line-height:170%;}
#Splash li .copy a{display:block;margin:0;padding:0 0 10px 0;font-size:1.5rem;font-weight:bold;text-align:left;line-height:240%;border-bottom:1px solid #CCCCCC;text-decoration:none;background:url(assets/img/btn_more2.png) center right no-repeat;}
}
@media screen and (max-width:600px){
	#Splash{display:block;margin:0 auto;margin-bottom:40px;padding:80px 0 0 0;width:100%;text-align:center;overflow:hidden; background:#f9f5ea;}
	#Splash li{display:block;margin:0;position:relative;}
	#Splash li .copy{display:block;margin:0 auto; margin-top:20px; margin-bottom:40px; padding:0;position:relative;top:auto;left:auto; border-bottom:1px solid #CCCCCC; width:calc(100% - 80px)}
	#Splash li .copy h2{display:block;margin:0 0 30px 0;font-size:1.8rem;font-weight:bold;text-align:left;line-height:170%;}
	#Splash li .copy a{display:block;margin:0;padding:0 0 10px 0;font-size:1.6rem;font-weight:bold;text-align:left;line-height:240%;border-bottom:1px solid #CCCCCC;text-decoration:none;background:url(assets/img/btn_more2.png) center right no-repeat;}
}


/********** Top **********/
#BlockTop01{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:0 30px;margin:0 auto;margin-bottom:120px;padding:0;width:100%;max-width:1300px;}
#BlockTop01L{display:block;margin:0;padding:0;width:920px;}
#BlockTop01LInner{display:block;margin:0 0 30px 0;padding:0;box-sizing:border-box;height:100%;}
#BlockTop01L h3{position:relative;color:#333;font-size:2.2rem;font-weight:bold;text-align:left;margin-bottom:40px;}
#BlockTop01L h3::before{content:'';position:absolute;top:60%;left:0;right:0;border-top:1px solid #333;}
#BlockTop01L h3 > span{position:relative;display:inline-block;padding:0 8px;background-color:#fff;}

#CatMenu{display:block;margin:40px 0;padding:0;width:100%;box-sizing:border-box;position:relative;}
#CatMenuList{display:flex;justify-content:space-between;flex-wrap:wrap;margin:0;padding:0;list-style:none;width:100%;box-sizing:border-box;}
#CatMenuList li{margin:0;padding:0;list-style:none;box-sizing:border-box;}
#CatMenuList li a{
  display:inline-block;
  padding:0 0 3px 0;
  color:#999999;
  font-size:1.4rem;
  text-decoration:none;
  cursor:pointer;
  border-bottom:solid 3px transparent;
}
html.is-font-large #CatMenuList li a{font-size:14px;}
#CatMenuList li a.active,
#CatMenuList li a:hover{
  color:#4690E8;
  border-bottom:solid 3px #4690E8;
  text-decoration:none;
}
#CatMenuTrigger{
  display:none;
  width:100%;
  padding:10px 15px;
  font-size:1.6rem;
  text-align:left;
  background-color:#f8f8f8;
  border:1px solid #ccc;
  cursor:pointer;
  position:relative;
  box-sizing:border-box;
}
#CatMenuTrigger::after{
  content:'▼';
  position:absolute;
  right:15px;
  top:50%;
  transform:translateY(-50%);
  font-size:0.8em;
  color:#666;
}
@media (max-width:1300px){
  #CatMenuList{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    background-color:#fff;
    border:1px solid #ccc;
    border-top:none;
    z-index:100;
    box-shadow:0 4px 8px rgba(0,0,0,0.1);
    flex-direction:column;
    justify-content:flex-start;
    align-items:stretch;
  }
  #CatMenu.is-open #CatMenuList{display:block;}
  #CatMenuList li{width:100%;margin:0;}
  #CatMenuList li a{
    display:block;
    padding:12px 15px;
    color:#333;
    border-bottom:1px solid #eee;
    font-size:1.6rem;
  }
  #CatMenuList li:last-child a{border-bottom:none;}
  #CatMenuList li a.active,
  #CatMenuList li a:hover{
    background-color:#f0f0f0;
    color:#4690E8;
    border-bottom-color:#eee;
  }
  #CatMenuList li a.active{border-bottom:1px solid #eee;}
  #CatMenuList li:last-child a.active{border-bottom:none;}
  #CatMenuTrigger{display:block;}
  #CatMenu.is-open #CatMenuTrigger::after{content:'▲';}
}
@media screen and (max-width:1300px){
  #BlockTop01{display:block;margin:0 auto;margin-bottom:60px;padding:0 20px;width:100%;max-width:1300px;box-sizing:border-box;}
  #BlockTop01L{display:block;margin:0 0 30px 0;padding:0;width:100%;max-width:none;}
}

#BlockTopTopics{display:block;margin:0;padding:0;width:100%;background:none;text-align:left;box-sizing:border-box;}
#BlockTopTopics dl{display:flex;justify-content:flex-start;flex-wrap:wrap;align-items:flex-start;margin:0 0 20px 0;padding:0 0 20px 0;list-style:none;border-bottom:1px dotted #E2E2E2;}
#BlockTopTopics dl dt{display:flex;justify-content:flex-start;flex-wrap:wrap;margin:0 15px 0 0;padding:0;font-size:1.6rem;font-weight:bold;width:245px;}
#BlockTopTopics dl dt span{display:flex;justify-content:center;align-items:center;margin:0 0 0 10px;padding:0;font-size:1.1rem;font-weight:normal;width:120px;height:auto;line-height:170%;text-align:center;border:1px solid #E2E2E2;border-radius:10px;}
#BlockTopTopics dl dd{display:block;margin:0;padding:0;width:calc(100% - 260px)}
#BlockTopTopics dl dd:hover{display:block;margin:0;padding:0;text-decoration:none;}
#BlockTopTopics dl dd a{
  color:#444444;
  text-decoration:none;
  font-size:1.6rem;
  background-image:linear-gradient(90deg, #000000, #000000);
  background-repeat:no-repeat;
  background-position:left bottom;
  background-size:0 1px;
  transition:background-size 0.2s;
  padding:0 0 3px 0;
}
#BlockTopTopics dl dd a:hover{background-size:100% 1px;text-decoration:none;color:#000000;}
@media screen and (max-width:1300px){
  #BlockTopTopics dl{display:block;}
  #BlockTopTopics dl dt{margin:0 0 10px 0;}
  #BlockTopTopics dl dd{width:100%;}
}

#BlockTop01R {
  display: block;
  margin: 0;
  padding: 0;
  width: 320px;
  box-sizing: border-box;
}

#BlockTop01RInner {
  display: block;
  margin: 0;
  padding: 18px 0 0 0;
  width: 320px;
  box-sizing: border-box;
  height: 100%;
}

.swiper_banner1 {

  height: 460px;
  width: 320px;
  padding: 24px 0 24px 0;
  position: relative;
  overflow: hidden;
}

.swiper_banner1 .swiper-slide {

  height: calc((100% - 5px) / 2);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.swiper_banner1 .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}


.swiper_banner1 .swiper-button-prev,
.swiper_banner1 .swiper-button-next {
  margin: 0;
  left: 0;
  width: 100%;
  height: 24px;
  background: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper_banner1 .swiper-button-prev {
  top: 0;
  bottom: auto;
}

.swiper_banner1 .swiper-button-next {
  top: auto;
  bottom: 0;
}


@media screen and (max-width: 1300px) {
  #BlockTop01R,
  #BlockTop01RInner {
    width: 100%;
    padding: 0;
  }

  .swiper_banner1 {
    width: 100%;
    height: auto;
    padding: 0 40px;
    box-sizing: border-box;
  }

  .swiper_banner1 .swiper-wrapper {
    height: auto;
  }

  .swiper_banner1 .swiper-slide {
    height: auto;
    width: auto;
  }
  
  .swiper_banner1 .swiper-button-prev,
  .swiper_banner1 .swiper-button-next {
    width: 30px; 
    height: 30px;
    background: transparent;
    top: 50%;
    margin-top: -15px;
  }

  .swiper_banner1 .swiper-button-prev {
    left: 5px;
    right: auto;
    top: 50%;
  }

  .swiper_banner1 .swiper-button-next {
    right: 5px;
    left: auto;
    top: 50%;
  }

  .swiper_banner1 .swiper-button-prev img {
    transform: rotate(-90deg);
    width: 100%;
  }
  .swiper_banner1 .swiper-button-next img {
    transform: rotate(-90deg);
    width: 100%;
  }
}

@media screen and (max-width: 450px) {
  .swiper_banner1 {
    padding: 0 30px;
  }
}

.btn_more{display:flex;justify-content:flex-end;flex-wrap:wrap;align-content:center;color:#333333;text-decoration:none;transition:all 0.5s 0s ease;}
.btn_more span{display:block;font-size:1.6rem;margin:0 10px 0 0;color:#333333;text-decoration:none;transition:all 0.5s 0s ease;}
.btn_more img{transition:all 0.5s 0s ease;}
.btn_more:hover img{margin:0 -10px 0 10px;position:relative;}

#BlockTop02{display:block;margin:0 0 100px 0;padding:0;}
#BlockTop02Inner{display:flex;justify-content:flex-start;flex-wrap:wrap;margin:0 auto;padding:0;border-top:1px solid #E2E2E2;width:100%;max-width:1300px;}
#BlockTop02 dl{display:block;margin:0;padding:0 30px 0 30px;text-align:center;width:260px;border-right:1px solid #E2E2E2;border-bottom:1px solid #E2E2E2;box-sizing:border-box;}
#BlockTop02 dl:nth-of-type(5n){border-right:0;}
#BlockTop02 dl dt{display:flex;justify-content:center;align-items:center;margin:0;padding:0;height:220px;box-sizing:border-box;}
#BlockTop02 dl dd h3 a{display:flex;justify-content:space-between;align-items:center;margin:0 0 40px 0;padding:0;text-align:left;font-size:1.8rem;box-sizing:border-box;letter-spacing:2px;text-decoration:none;transition:all 0.5s 0s ease;}
#BlockTop02 dl dd h3.cat01 a{ color:#21a0ed;}
#BlockTop02 dl dd h3.cat02 a{ color:#f48ca0;}
#BlockTop02 dl dd h3.cat03 a{ color:#aec94c;}
#BlockTop02 dl dd h3.cat04 a{ color:#e5c12c;}
#BlockTop02 dl dd h3.cat05 a{ color:#53cdd3;}
#BlockTop02 dl dd h3.cat06 a{ color:#6973af;}
#BlockTop02 dl dd h3.cat07 a{ color:#dd4426;}
#BlockTop02 dl dd h3.cat08 a{ color:#6ac682;}
#BlockTop02 dl dd h3.cat09 a{ color:#ea9154;}
#BlockTop02 dl dd h3.cat10 a{ color:#d390dd;}
#BlockTop02 dl dd h3 a img{ transition: all 0.5s 0s ease;}
#BlockTop02 dl dd h3 a:hover img{ margin:0 -10px 0 10px;position:relative; }
#BlockTop02 dl dt + dd a img{ transition: all 0.5s 0s ease;}
#BlockTop02 dl dt:hover + dd a img{  margin:0 -10px 0 10px;position:relative; }	
#BlockTop02 dl dd p{display:block;margin:0;padding:0;text-align:left;font-size:1.6rem;box-sizing:border-box;}
@media screen and (max-width:1300px){
  #BlockTop02{margin:0;padding:0;}
  #BlockTop02Inner{margin-bottom:50px;}
  #BlockTop02 dl{
    display:flex;
    flex-direction:column;
    justify-content:center;
    flex-wrap:wrap;
    margin:0;
    padding:20px 10px;
    border-left:1px solid #E2E2E2;
    border-right:1px solid #E2E2E2;
    text-align:center;
    width:calc(50%);
    height:auto;
    border-right:0;
    border-bottom:1px solid #E2E2E2;
    box-sizing:border-box;
  }
  #BlockTop02 dl:nth-of-type(2n),
  #BlockTop02 dl:last-of-type{border-right:1px solid #E2E2E2;}
  #BlockTop02 dl dt{height:auto;}
  #BlockTop02 dl dd{display:block;width:100%;margin:0;}
  #BlockTop02 dl dd span{display:block;margin-bottom:20px;text-align:center;}
  #BlockTop02 dl dd img{display:block;margin-left:auto;}
	#BlockTop02 dl dd h3 a:hover img{ margin:0; margin-left:auto; }
  #BlockTop02 dl dt:hover + dd a img{  margin:0; margin-left:auto;position:relative; }	
  #BlockTop02 dl dd h3 a{display:block;margin:0;padding:0;text-align:left;font-size:1.8rem;box-sizing:border-box;letter-spacing:2px;text-decoration:none;}

}

#BlockTop03{display:block;margin:0;padding:0;background:#f9f5ea;}
#BlockTop03Inner{display:flex;justify-content:flex-start;align-items:flex-end;flex-wrap:wrap;gap:0 70px;margin:0 auto;padding:80px 0;width:100%;max-width:1300px;}
#BlockTop03InnerL{display:block;margin:0;padding:0;width:calc((100% - 560px) - 70px);}
#BlockTop03InnerR{display:block;margin:0;padding:60px 50px;width:560px;background:#FFFFFF;border-radius:10px;}
#BlockTop03InnerR h3{display:block;margin:0 0 50px 0;padding:0 0 40px 0;font-size:2.8rem;font-weight:bold;color:#333333;border-bottom:2px solid #e2e2e2;line-height:100%;position:relative;}
#BlockTop03InnerR h3:before{position:absolute;content:'';width:60px;left:0;bottom:-2px;border-bottom:2px solid #4690e8;}
#BlockTop03InnerR p{display:block;margin:0 0 40px 0;padding:0;font-size:1.6rem;font-weight:normal;color:#333333;line-height:170%;}
#BlockTop03InnerR p.p2{display:block;margin:0;padding:0;font-size:1.6rem;font-weight:normal;color:#333333;line-height:170%;}
@media screen and (max-width:1300px){
  #BlockTop03Inner{
    display:block;
    padding:60px 20px;
    box-sizing:border-box;
  }
  #BlockTop03InnerL{width:100%;margin:0 0 20px 0;}
  #BlockTop03InnerR{width:100%;padding:40px 20px;}
}

/********** Page **********/
#Main{display:block;margin:0;padding:0 0 100px 0;width:100%;border-bottom:1px solid #E2E2E2;}
#BlockPage01{display:block;margin:0 auto;padding:0;width:100%;max-width:1000px;font-size:1.6rem;font-weight:normal;color:#333333;line-height:180%;}
#BlockPage01 h1{display:block;margin:0 0 30px 0;padding:10px 20px 10px 40px;width:100%;font-size:2.2rem;font-weight:bold;line-height:150%;background:#f9f5ea;position:relative;}
#BlockPage01 h1:before{display:block;content:'';margin:0;padding:0;width:5px;height:24px;background:#4690e8;position:absolute;top:calc(50% - 11px);left:20px;}
#BlockPage01 h2{display:block;margin:0 0 20px 0;padding:0 0 20px 0;font-size:1.8rem;font-weight:bold;color:#333333;border-bottom:2px solid #e2e2e2;line-height:100%;position:relative;}
#BlockPage01 h2:before{position:absolute;content:'';width:150px;left:0;bottom:-2px;border-bottom:2px solid #4690e8;}
#BlockPage01 h3{display:block;margin:0 0 30px 0;padding:0 0 25px 0;font-size:1.6rem;font-weight:bold;color:#333333;line-height:150%;position:relative;background:url(assets/img/dots02.png) bottom left no-repeat;}
#BlockPage01 h4{display:block;margin:0 0 20px 0;padding:0 0 0 20px;font-size:1.6rem;font-weight:bold;color:#333333;line-height:150%;position:relative;background:url(assets/img/square02.png) center left no-repeat;}
#BlockPage01 p{display:block;margin:0 0 20px 0;padding:0;font-size:1.6rem;font-weight:normal;color:#333333;line-height:180%;position:relative;}
#BlockPage01 table {
  width: 100%;
  border-collapse: collapse;
  border: none;
}
#BlockPage01 table th {
  background: #4690e8;
  color: #fff;
  font-weight: bold;
}
#BlockPage01 table tr:first-child td {
  background: #4690e8;
  color: #fff;
  font-weight: bold; font-size:1.6rem;
}
#BlockPage01 table th,
#BlockPage01 table td {
  border: 1px solid #ddd;
  padding: 10px 14px;
}


#BlockPage01 table tr:nth-child(even) {
  background: #fafafa;
}


@media (max-width:1100px){
  #Main{padding:0 0 80px 0;}
  #BlockPage01{padding:0 20px;box-sizing:border-box;}
}
@media (max-width:540px){
  #BlockPage01{padding:0 16px;}
	#BlockPage01 h1{display:block;margin:0 0 30px 0;padding:10px 20px 10px 40px;width:100%;font-size:2.0rem;font-weight:bold;line-height:150%;background:#f9f5ea;position:relative;}
	#BlockPage01 h1:before{display:block;content:'';margin:0;padding:0;width:5px;height:24px;background:#4690e8;position:absolute;top:calc(50% - 11px);left:20px;}
	#BlockPage01 h2{display:block;margin:0 0 20px 0;padding:0 0 20px 0;font-size:1.6rem;font-weight:bold;color:#333333;border-bottom:2px solid #e2e2e2;line-height:100%;position:relative;}
	#BlockPage01 h2:before{position:absolute;content:'';width:150px;left:0;bottom:-2px;border-bottom:2px solid #4690e8;}
	#BlockPage01 h3{display:block;margin:0 0 30px 0;padding:0 0 25px 0;font-size:1.6rem;font-weight:bold;color:#333333;line-height:150%;position:relative;background:url(assets/img/dots02.png) bottom left no-repeat;}
	#BlockPage01 h4{display:block;margin:0 0 20px 0;padding:0 0 0 20px;font-size:1.6rem;font-weight:bold;color:#333333;line-height:150%;position:relative;background:url(assets/img/square02.png) center left no-repeat;}
	#BlockPage01 p{display:block;margin:0 0 20px 0;padding:0;font-size:1.4rem;font-weight:normal;color:#333333;line-height:180%;position:relative;}
	}

#BlockPage01 ul.list_link01{display:block;margin:0 0 40px 0;padding:0;}
#BlockPage01 ul.list_link01 li{display:block;margin:0;padding:0;}
#BlockPage01 ul.list_link01 li a{display:flex;justify-content:flex-start;flex-wrap:wrap;align-items:center;margin:0;padding:0;font-size:1.6rem;font-weight:normal;color:#4690e8;text-decoration:underline;line-height:180%;position:relative;}
#BlockPage01 ul.list_link01 li a:hover{color:#4690e8;text-decoration:none;line-height:180%;}
#BlockPage01 ul.list_link01 li a:after{display:inline-block;content:'';width:17px;height:17px;margin-left:5px}
#BlockPage01 ul.list_link01 li.external a:after{background:url(assets/img/icon_external.png) center center no-repeat;}
#BlockPage01 ul.list_link01 li.pdf a:after{background:url(assets/img/icon_pdf.png) center center no-repeat;}
#BlockPage01 ul.list_link01 li.word a:after{background:url(assets/img/icon_word.png) center center no-repeat;}
#BlockPage01 ul.list_link01 li.xls a:after{background:url(assets/img/icon_xls.png) center center no-repeat;}

#BlockPage01 ul.list_link02{display:block;margin:0 0 40px 0;padding:0;list-style:disc inside;color:#000000;}
#BlockPage01 ul.list_link02 li{margin:0 0 5px 0;padding:0;}
#BlockPage01 ul.list_link02 li a{display:inline-block;margin:0;padding:0;font-size:1.6rem;font-weight:normal;color:#4690e8;text-decoration:underline;line-height:180%;position:relative;}
#BlockPage01 ul.list_link02 li a:hover{color:#4690e8;text-decoration:none;line-height:180%;}

#BlockPage01 a.btn_more{display:block;margin:0 0 20px 0;padding:0;font-size:1.6rem;color:#FFFFFF;text-align:center;width:260px;height:60px;border-radius:5px;background:#4690e8 url(assets/img/btn_more.png) center right 15px no-repeat;}
@media (max-width:540px){
	#BlockPage01 ul.list_link01{display:block;margin:0 0 40px 0;padding:0;}
	#BlockPage01 ul.list_link01 li{display:block;margin:0;padding:0;}
	#BlockPage01 ul.list_link01 li a{display:flex;justify-content:flex-start;flex-wrap:wrap;align-items:center;margin:0;padding:0;font-size:1.4rem;font-weight:normal;color:#4690e8;text-decoration:underline;line-height:180%;position:relative;}
	#BlockPage01 ul.list_link01 li a:hover{color:#4690e8;text-decoration:none;line-height:180%;}
	#BlockPage01 ul.list_link01 li a:after{display:inline-block;content:'';width:17px;height:17px;margin-left:5px}
	#BlockPage01 ul.list_link01 li.external a:after{background:url(assets/img/icon_external.png) center center no-repeat;}
	#BlockPage01 ul.list_link01 li.pdf a:after{background:url(assets/img/icon_pdf.png) center center no-repeat;}
	#BlockPage01 ul.list_link01 li.word a:after{background:url(assets/img/icon_word.png) center center no-repeat;}
	#BlockPage01 ul.list_link01 li.xls a:after{background:url(assets/img/icon_xls.png) center center no-repeat;}

	#BlockPage01 ul.list_link02{display:block;margin:0 0 40px 0;padding:0;list-style:disc inside;color:#000000;}
	#BlockPage01 ul.list_link02 li{margin:0 0 5px 0;padding:0;}
	#BlockPage01 ul.list_link02 li a{display:inline-block;margin:0;padding:0;font-size:1.4rem;font-weight:normal;color:#4690e8;text-decoration:underline;line-height:180%;position:relative;}
	#BlockPage01 ul.list_link02 li a:hover{color:#4690e8;text-decoration:none;line-height:180%;}
	}
#BlockPage01 .contents_box{display:block;margin:0;padding:0;width:100%; border-bottom:2px solid #e2e2e2;}
#BlockPage01 .contents_box.flexbox{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:0 40px;margin:0 0 30px 0;padding:0 0 30px 0;width:100%;}
#BlockPage01 .contents_boxL{display:block;margin:0;padding:0;width:100%;max-width:570px;}
#BlockPage01 .contents_boxR{display:block;margin:0;padding:0;width:100%;max-width:calc(100% - 610px);text-align:right;}
@media (max-width:900px){
  #BlockPage01 .contents_box.flexbox{display:block; border-bottom:2px solid #e2e2e2;}
  #BlockPage01 .contents_boxL{max-width:none;}
  #BlockPage01 .contents_boxR{max-width:none;text-align:left;margin-top:14px;}
  #BlockPage01 .contents_boxR img{width:100%;height:auto;}
}


.gallery{
  --gap: 12px;
  --min: 180px; 
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  margin: 0;
  padding: 0;
}


.gallery .gallery-item{
  margin: 0;
  flex: 1 1 var(--min); 
  max-width: 100%;
}
.gallery.gallery-columns-1 .gallery-item{ flex-basis: 100%; }
.gallery.gallery-columns-2 .gallery-item{ flex-basis: calc((100% - var(--gap)*1) / 2); }
.gallery.gallery-columns-3 .gallery-item{ flex-basis: calc((100% - var(--gap)*2) / 3); }
.gallery.gallery-columns-4 .gallery-item{ flex-basis: calc((100% - var(--gap)*3) / 4); }
.gallery.gallery-columns-5 .gallery-item{ flex-basis: calc((100% - var(--gap)*4) / 5); }
.gallery.gallery-columns-6 .gallery-item{ flex-basis: calc((100% - var(--gap)*5) / 6); }


.gallery .gallery-icon,
.gallery .gallery-icon a{
  display: block;
  width: 100%;
}


.gallery .gallery-icon img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}


@media (max-width: 768px){
  .gallery{ --gap: 10px; --min: 140px; }
  .gallery.gallery-columns-3 .gallery-item,
  .gallery.gallery-columns-4 .gallery-item,
  .gallery.gallery-columns-5 .gallery-item,
  .gallery.gallery-columns-6 .gallery-item{
    flex-basis: calc((100% - var(--gap)*1) / 2);
  }
}

/********** Detail **********/
#BlockPage02{display:block;margin:0 auto;padding:0;width:100%;max-width:1000px;}
#BlockPage02 h2{display:block;margin:0 0 20px 0;padding:0 0 20px 0;font-size:1.8rem;font-weight:bold;color:#333333;border-bottom:2px solid #e2e2e2;line-height:100%;position:relative;}
#BlockPage02 h2:before{position:absolute;content:'';width:150px;left:0;bottom:-2px;border-bottom:2px solid #4690e8;}
#BlockPage02 h3{display:block;margin:0 0 30px 0;padding:10px 20px 10px 40px;width:100%;font-size:2.2rem;font-weight:bold;line-height:150%;background:#f9f5ea;position:relative;}
#BlockPage02 h3:before{display:block;content:'';margin:0;padding:0;width:5px;height:24px;background:#4690e8;position:absolute;top:calc(50% - 11px);left:20px;}
#BlockPage02 h4{display:block;margin:0 0 20px 0;padding:0 0 20px 0;font-size:1.8rem;font-weight:bold;color:#333333;border-bottom:2px solid #e2e2e2;line-height:150%;position:relative;}
#BlockPage02 h4:before{position:absolute;content:'';width:150px;left:0;bottom:-2px;border-bottom:2px solid #4690e8;}
#BlockPage02 p{display:block;margin:0 0 20px 0;padding:0;font-size:1.6rem;font-weight:normal;color:#333333;line-height:180%;position:relative;}
#BlockPage02 a.btn_more{display:block;margin:0 0 20px 0;padding:0;font-size:1.6rem;color:#FFFFFF;text-align:center;width:260px;height:60px;border-radius:5px;background:#4690e8 url(assets/img/btn_more.png) center right 15px no-repeat;}
#BlockPage02 table {
  width: 100%;
  border-collapse: collapse;
  border: none;
}
#BlockPage02 table th {
  background: #4690e8;
  color: #fff;
  font-weight: bold;
}
#BlockPage02 table tr:first-child td {
  background: #4690e8;
  color: #fff;
  font-weight: bold; font-size:1.6rem;
}
#BlockPage02 table th,
#BlockPage02 table td {
  border: 1px solid #ddd;
  padding: 10px 14px;
}
#BlockPage02 table tr:nth-child(even) {
  background: #fafafa;
}
@media (max-width:1100px){
  #BlockPage02{padding:0 20px;box-sizing:border-box;}
}
@media (max-width:540px){
  #BlockPage02{padding:0 16px;}
	#BlockPage02 h2{display:block;margin:0 0 20px 0;padding:0 0 20px 0;font-size:1.6rem;font-weight:bold;color:#333333;border-bottom:2px solid #e2e2e2;line-height:100%;position:relative;}
	#BlockPage02 h2:before{position:absolute;content:'';width:150px;left:0;bottom:-2px;border-bottom:2px solid #4690e8;}
	#BlockPage02 h3{display:block;margin:0 0 30px 0;padding:10px 20px 10px 40px;width:100%;font-size:2.0rem;font-weight:bold;line-height:150%;background:#f9f5ea;position:relative;}
	#BlockPage02 h3:before{display:block;content:'';margin:0;padding:0;width:5px;height:24px;background:#4690e8;position:absolute;top:calc(50% - 11px);left:20px;}
	#BlockPage02 h4{display:block;margin:0 0 20px 0;padding:0 0 20px 0;font-size:1.6rem;font-weight:bold;color:#333333;border-bottom:2px solid #e2e2e2;line-height:150%;position:relative;}
	#BlockPage02 h4:before{position:absolute;content:'';width:150px;left:0;bottom:-2px;border-bottom:2px solid #4690e8;}
	#BlockPage02 p{display:block;margin:0 0 20px 0;padding:0;font-size:1.4rem;font-weight:normal;color:#333333;line-height:180%;position:relative;}
	}

#BlockPage02 .contents_box{display:block;margin:0;padding:0;width:100%;}
#BlockPage02 .contents_box.flexbox{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:0 40px;margin:0 0 60px 0;padding:0;width:100%;}
#BlockPage02 .contents_box.singlebox{margin:0 0 60px 0;}
#BlockPage02 .contents_boxL{display:block;margin:0;padding:0;width:100%;max-width:570px;}
#BlockPage02 .contents_boxR{display:block;margin:0;padding:0;width:100%;max-width:calc(100% - 610px);text-align:right;}
@media (max-width:900px){
  #BlockPage02 .contents_box.flexbox{display:block;}
  #BlockPage02 .contents_boxL{max-width:none;}
  #BlockPage02 .contents_boxR{max-width:none;text-align:left;margin-top:14px;}
  #BlockPage02 .contents_boxR img{width:100%;height:auto;}
}

#BlockPage02 .BlockRental{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:15px 15px;margin:20px 0 60px 0;padding:0;width:100%;}
#BlockPage02 .BlockRental dl{display:block;margin:0;padding:10px;width:100%;max-width:calc((100% / 3) - 10px);border:1px solid #E2E2E2;border-radius:5px;}
#BlockPage02 .BlockRental dl dt{display:block;margin:0 0 10px 0;padding:0;}
#BlockPage02 .BlockRental dl dt h3{display:block;margin:0;padding:0;font-size:1.6rem;font-weight:bold;color:#333333;border-bottom:none;background:none;line-height:150%;position:relative;}
#BlockPage02 .BlockRental dl dt h3:before{display:none;}
#BlockPage02 .BlockRental dl dd img{border-radius:5px;}
#BlockPage02 .BlockRental dl dd p{display:block;margin:0;padding:0;font-size:1.4rem;font-weight:normal;color:#333333;line-height:180%;position:relative;}
@media (max-width:900px){
  #BlockPage02 .BlockRental dl{max-width:calc((100% / 2) - 8px);}
}
@media (max-width:540px){
  #BlockPage02 .BlockRental dl{max-width:100%;}
}

/********** Topics pager **********/
#BlockTopicsList{display:block;margin:0 auto;padding:0;width:100%;max-width:1000px;}
@media (max-width:1100px){
  #BlockTopicsList{padding:0 20px;box-sizing:border-box;}
}
@media (max-width:540px){
  #BlockTopicsList{padding:0 16px;}
}
.pager{margin-top:30px;}
.pager .page-numbers{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center;}
.pager .page-numbers li{margin:0;padding:0;}
.pager .page-numbers a.page-numbers,
.pager .page-numbers span.page-numbers{
  transition:opacity 0.5s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 12px;
  border:1px solid currentColor;
  background:#4690e8;
  color:#FFFFFF !important;
  border-radius:6px;
  text-decoration:none;
  line-height:1;
  font-size:1.4rem;
  box-sizing:border-box;
}
.pager .page-numbers span.current{font-weight:normal;pointer-events:none;}
.pager .page-numbers a.page-numbers:hover{opacity:0.5;}
.pager .page-numbers a.prev,
.pager .page-numbers a.next{min-width:auto;padding:0 14px;}
.pager .page-numbers .disabled{opacity:0.4;pointer-events:none;}

/*====================================================================
# swiper
====================================================================*/
#BlockBannerF{
  height:100%;
  position:relative;
  width:100%;
  margin:0 auto;
  overflow:hidden;
  width:100%;
  max-width:1300px;
  margin-bottom:60px;
  margin-top:40px;
}
.swiper-container{
  position:relative;
  overflow:hidden;
  width:100%;
  max-width:1200px;
  margin:0 auto;
}
.swiper-wrapper{width:100%;margin:0 auto;}
.swiper__box{
  max-width:100%;
  display:block;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:20px;
}
[class^="swiper-button-"]::after{content:"";}
[class^="swiper-button-"]{width:32px;height:21px;}
.swiper-button-next{right:0;margin-top:-10px;}
.swiper-button-prev{left:0;margin-top:-10px;}
@media (max-width:1300px){
  #BlockBannerF{padding:0 20px;box-sizing:border-box;}
}
@media (max-width:540px){
  #BlockBannerF{padding:0 16px;}
}
