@charset "utf-8";
html{
	scroll-behavior: smooth;
}
html,body{
	margin:0;
	padding:0;
}
body #container {
	font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック体","Yu Gothic", YuGothic,"メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	color: #4d4d4d;
	font-size:14px;
	line-height: 1.5em;
	/*font-feature-settings : "palt";*/
	box-sizing: border-box;
}
#container img {
	display: block;
	width: 100%;
	height: auto;
}
/* _:lang(x)::-internal-media-controls-overlay-cast-button, #container img {
	image-rendering: -webkit-optimize-contrast;
} */


.core-site-header--simple + .core-site-content, .core-site-header--simple.core-site-header--nw + .core-site-content {
	margin-top: 0 !important;
}

@media print, screen and (min-width : 768px) {
/* CSS Document */
/*html {font-size: 62.5%;}*/

#container *{
margin:0;
padding:0;

}
#container *, #container *:before, #container *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

#container h1,
#container h2,
#container h3,
#container h4,
#container h5 {
	margin: 0;
	padding: 0;
	font-weight: 500;
	line-height: 1.7em;
}

#container div {
	margin: 0;
	padding: 0;
}

#container p {
	margin: 0;
	padding: 0;
	line-height: 1.5em;
}

#container a { color:#000; text-decoration:none; }
#container a:visited { color:#000; }
#container a:hover { color:#000; /*text-decoration:underline;*/ }
#container a:focus { color:#000; outline: thin dotted; }
#container a:hover, a:active { color:#000; outline: 0; }

#container table,
#container th,
#container td {
	margin: 0;
	padding: 0;
	font-size: inherit;
	font-size: 1em;
	border-collapse: collapse;
}
#container table{
	width:100%;
}

#container ul,
#container ol,
#container li,
#container dl,
#container dt,
#container dd {
	margin: 0;
	padding: 0;
	list-style: none;
	list-style-position: outside;
	line-height: 1.5em;
}

#container img {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 0;
	vertical-align: bottom;
}

#container article,
#container aside,
#container canvas,
#container details,
#container figcaption,
#container figure,
#container footer,
#container header,
#container hgroup,
#container menu,
#container nav,
#container section,
#container summary
{
	display:block;
}
}
@media only screen and (max-width : 768px) {
	#container *{
margin:0;
padding:0;

}
#container *, #container *:before, #container *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
#container body {
    font-size: 3.5vw;
    line-height: 1.7em;
    color: #333333;
}

#container h1,#container h2,#container h3,#container h4,#container h5 {
	margin: 0;
	padding: 0;
}

#container div {
	margin: 0;
	padding: 0;
}

#container p {
	margin: 0;
	padding: 0;
	line-height: 1.7em;
}

#container a { text-decoration: none; }

#container table,#container th,#container td {
	margin: 0;
	padding: 0;
	font-size: inherit;
	font-size: 1em;
	border-collapse: collapse;
	line-height: 1.7em;
}
#container table{
	width:100%;
}

#container ul,#container ol,#container li,#container dl,#container dt,#container dd {
	margin: 0;
	padding: 0;
	list-style: none;
	list-style-position: outside;
	line-height: 1.7em;
}

#container img {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 0;
	vertical-align: bottom;
	max-width:100%;
}

#container article,#container aside,#container canvas,#container details,#container figcaption,#container figure,
#container footer,#container header,#container hgroup,#container menu,#container nav,#container section,#container summary
{
	display:block;
}



}
@media only screen and (max-width : 420px) {
	#container .visible_w420 {
		display: block;
	}
	#container .invisible_w420 {
		display: none;
	}
}




/*--- リンクロールオーバー ---*/
#container a.txt-link,
#container a.txt-link:hover,
#container a.img-link img,
#container a.img-link:hover img,
#container a.block-link > p,
#container a.block-link > div,
#container a.block-link > ul > li,
#container a.block-link > dl > dt,
#container a.block-link > dl > dd,
#container a.block-link > span,
#container a.block-link:hover > p,
#container a.block-link:hover > div,
#container a.block-link:hover > ul > li,
#container a.block-link:hover > dl > dt,
#container a.block-link:hover > dl > dd,
#container a.block-link:hover > span {
	transition-property: opacity;
	transition-duration:.4s;
}
#container a.txt-link {
	opacity: 1;
}
#container a.txt-link:hover {
	opacity: 0.5;
}
#container a.img-link img {
	opacity: 1;
}
#container a.img-link:hover img {
	opacity: 0.5;
}
#container a.block-link > p,
#container a.block-link > div,
#container a.block-link > ul > li,
#container a.block-link > dl > dt,
#container a.block-link > dl > dd,
#container a.block-link > span {
	opacity: 1;
}
#container a.block-link:hover > p,
#container a.block-link:hover > div,
#container a.block-link:hover > ul > li,
#container a.block-link:hover > dl > dt,
#container a.block-link:hover > dl > dd,
#container a.block-link:hover > span {
	opacity: 0.5;
}




/*--- youtubeレスポンシブ ---*/
#container .youtube2 {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
#container .youtube2 iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/*---------------------------
アニメーション用CSS
-----------------------------*/
#container .animate,
#container .animate2 {
	opacity: 1;
	transform: translateY(0);
	transition-property: opacity,transform;
	transition-duration:.5s;
	transition-timing-function:ease-in-out;
}
#container .animate.deactive,
#container .animate2.deactive {
	opacity: 0;
	transform: translateY(30px);
	transition: 0s;
}

#container .container_btn{
  transition: .5s;
  opacity: 1;
  cursor: pointer;
}
#container .container_btn:hover{
  transition: .5s;
  opacity: .8;
}

/* #container .scroll_active {
	opacity: 0;
	transition: opacity 0.3s !important;
} */
#container .scroll_active.active {
	opacity: 1;
	transition: opacity 0.3s !important;
}


#container #other_plan{
  margin-top: 175px;
  margin-bottom: 175px;
  width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
#container #other_plan .other_plan_ttl{
  font-size: 26px;
  text-align: center;
  font-weight: 700;
  color: #0054a7;
  border-bottom: 3px solid #0054a7;
  padding-bottom: 0.2em;
  margin-bottom: 1.2em;
}
#container #other_plan .other_plan_lists{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#container #other_plan .other_plan_lists li{
  width: 32%;
}
#container #other_plan .other_plan_lists li .no_link{
  opacity: 0.5;
  cursor: default;
	pointer-events: none;
}

.float_btn_conte{
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
	z-index: 100;
}
.float_btn_conte .float_btn_lists{
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 87px;
}

@media(max-width:2000px){
	#container #other_plan{
    margin-top: 8.75vw;
    margin-bottom: 8.75vw;
    width: 54vw;
  }
  #container #other_plan .other_plan_ttl{
    font-size: 1.3vw;
  }

  .float_btn_conte .float_btn_lists{
    gap: 0.5vw;
    width: 4.35vw;
  }
}

@media(max-width:756px){
	#container #other_plan{
		margin-top: 14.66vw;
		margin-bottom: 14.66vw;
		width: 85.71vw;
	}
	#container #other_plan .other_plan_ttl{
		font-size: 4vw;
	}
	#container #other_plan .other_plan_lists{
		flex-direction: column;
		gap: 6vw;
		width: 74.28vw;
		margin-left: auto;
		margin-right: auto;
	}
	#container #other_plan .other_plan_lists li{
		width: 100%;
	}
	
	.float_btn_conte{
		position: fixed;
		top: auto;
		transform: translateY(0);
		bottom: 0;
	}
	.float_btn_conte .float_btn_lists{
		display: flex;
		flex-direction: row-reverse;
		gap: 0;
		width: 100%;
	}
	.float_btn_conte .float_btn_lists li{
		width: 50%;
	}
}




/*---------------------------
レスポンシブ対応
-----------------------------*/
@media(min-width:1580px){
	#container .monitor_block{
    display: block !important;
  }
	#container .monitor_none{
    display: none !important;
  }
}
@media(max-width:1580px){
  #container .monitor_block{
    display: none !important;
  }

}
@media(min-width:756px){
  #container .sp{
    display: none !important;
  }
}
@media(max-width:757px){
  #container .pc{
    display: none !important;
  }
}