@charset "utf-8";
@media (max-width: 720px) {
html{
	font-size: 13.2px;
	scroll-behavior: smooth;
}

body {
	accent-color: var(--accent);
	background: #a6bed8;
	color: #20324c;
	font-family: "メイリオ", Meiryo, sans-serif;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 1px;
	overflow-y: scroll;
	min-height: 100vh;
}

body > .wrapper{

	width: 100%;
	margin: 0 auto;
	padding: 0 0;
}

	/* スクロールバーの設定 */
	::-webkit-scrollbar {
		width: 12px;
		height: 12px;
	}

	@media only screen and (max-width:600px){
		::-webkit-scrollbar {
			width: 6px;
			height: 6px;
		}
	}

	/*スクロールバーの軌道*/
	::-webkit-scrollbar-track {
		border-radius: 10px;
		background-color: #20324c;
		box-shadow: inset 0 0 6px rgba(32, 50, 76, .1);
	}

	/*スクロールバーの動く部分*/
	::-webkit-scrollbar-thumb {
		background-color: #a6bed8;
		border-radius: 10px;
		box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
	}

	a{
		transition: 0.25s;
		color: inherit;
	}
	a:hover{
		color: #8ddfe0;
	}

header {
		
	display : block;
}

header.global{
	text-align: center;
	padding: 0px 0 0px;
}

header.global{

	padding: 0 0;
	position: relative;
	top: 60px;
	z-index: 100;

	.sticky{

	}
	hgroup{

		position: absolute;
		top: -12.5rem;
		width: 100%;
		z-index: 1000;
	}
	hgroup h1 img{
		width: 90px;
	}
	hgroup p{
		font-size: 0.8rem;
		margin-top: -30px;
	}
	img.mainvisual{
		display: block;
		height: 20vh;
		object-fit: cover;
		margin-top: 8rem;
		width: 100vw;
	margin-left: -8px;
	}
}

	li{
		list-style-type: none;
	}

.menu {
		font-size: 0.8rem;
	text-align: center;
		margin-left: -6.2rem;
}

	ul.footer_menu {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		font-weight: 600;
                margin-top : 20px;
	}
	ul.footer_menu li{
		margin: 0 0.5em;
		padding: 0.2em;

	}
	ul.footer_menu li a{
		text-decoration: none;
	}

.hamburger {
	display : block;
	position: fixed;
	z-index : 1003;
	right: 13px;
	top	 : 12px;
	width : 42px;
	height: 42px;
	cursor: pointer;
	text-align: center;
}

.hamburger span {
	display : block;
	position: absolute;
	width	 : 30px;
	height	: 2px ;
	left		: 6px;
	background : #20324c;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition	 : 0.3s ease-in-out;
	transition				: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
	top: 10px;
}
.hamburger span:nth-child(2) {
	top: 20px;
}
.hamburger span:nth-child(3) {
	top: 30px;
}

/* active時 */
.hamburger.active span:nth-child(1) {
	top: 20px;
	left: 6px;
	background: #fff;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
	top: 20px;
	background: #fff;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}

.wrapgrid{
	display: block;
	margin-bottom: 2rem;
}
nav.globalMenuSp {
	position: fixed;
	z-index : 1000;
	top: 0;
	right: -20px;
	color: #FFF;
	background: rgba(32,50,76,0.8);
	text-align: left;
	padding: 10px;
	transform: translateX(300px);
	transition: all 0.6s;
	width: 300px;
	height: 100dvh;
}
nav.globalMenuSp ul{
	padding-top: 50px;
}
nav.globalMenuSp ul li{
	padding: 0 0 0;
	line-height: 1;
}
nav.globalMenuSp ul li.sub{
	padding: 0 0 0 20px;
}
nav.globalMenuSp ul li i{
	margin-right: 5px;
	font-size: 1.55rem;
	vertical-align: text-top;
}
nav.globalMenuSp ul li a{
	color: var(--main-bg-color);
	display: block;
	padding: 15px 20px;
	text-decoration: none;
}

/* このクラスをjQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0px);
}

main{
			position: relative;	
	margin: 0 auto;
	padding: 0 0;
}

main{
	font-size: 0.9rem;
		width: 95%;
	padding: 0 0px 0;
top: 80px;
}
main ul:not(:last-child),
main ul.discdesign:not(:last-child){
	margin-bottom: 5rem;
}


section {
	background-color: #e1e9f4;
	margin-bottom: 12rem;
	padding: 1rem 1.6rem 3rem;
}

	article{
		margin: 1.5em 0;
	margin-bottom: 2.5rem;
	}


	ul.basic_info{
		margin: 1.5em 0;
margin-left: -3em;
	}
	ul.basic_info li{
		margin: 0.5em 0;
	}
	ul.basic_info b{
		display: inline-block;
		width: 7.5em;
		margin-right: 0.5em;
		border-right: #20324c 1px solid;
	}

	ul.basic_info img{
		margin-bottom: -8px;
	}
	h3{
		margin: 0 0 0.5em 0;
		padding: 0.2em;
		font-size: 1.4em;
		font-weight: 700;
		font-family: "Noto Serif JP", serif;

		border-bottom: 2px solid #20324c;
	}

h4 {
  display: flex;
  font-weight: 700;
  align-items: center;
  gap: 10px;
		padding: 0.25em;
		font-size: 1.1em;
		margin: 1.0em 0 0.5em 0;
}
h4::before {
  display: inline-block;
  content: "";
  width: 15px;
  height: 1px;
  background-color: #20324c;
}

h5 {
    margin-block: -1rem 2.5rem;
    padding-block-start: 3rem;
    padding-inline-start: 0.2rem;
    font: 400 1.2rem/1 "Hina Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;

    letter-spacing: 0.2rem;
}



.em_2 {
    font-weight: bold;
  background: linear-gradient(transparent 50%, #93d7ea 50%);
}

.accordion {
  width: 100%;
  max-width: 600px;
  border: 1px solid #e2e8f0;
  border-radius: 0.5rem;
  overflow: hidden;
}

.accordion-trigger {
  width: 100%;
  height: 60px;
  color: #20324c;
  padding: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: white;
  border: none;
  font-size: 0.97em;
  cursor: pointer;
  transition: background-color 0.2s;
}

.accordion-trigger:hover {
  background-color: #f8fafc;
}

.accordion-icon {
  transition: transform 0.2s;
}

.accordion-trigger[aria-expanded="true"] .accordion-icon {
  transform: rotate(180deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease-in-out;
}

.accordion-content.open {
  max-height: 350px;
}

.accordion-body {
  padding: 1.5rem;
  color: #20324c;
  background-color: #a6bed845;
}

/* タブ */
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
}
.tab-label {
  color: White;
  background: #29486250;
  margin-right: 5px;
  padding: 3px 12px;
  order:-1;
 
}
.tab-content {
  width: 100%;
  display: none;
}
.tab-switch:checked+.tab-label {
  color: #294862;
  background: #fff;
}
.tab-switch:checked+.tab3-label {
  color: #294862;
  background: #fff;
}
.tab-switch:checked+.tab4-label {
  color: #294862;
  background: #fff;
}
.tab-switch:checked+.tab5-label {
  color: #495591;
  background: #fff;
}
.tab-switch:checked+.tab6-label {
  color: #495591;
  background: #fff;
}
.tab-switch:checked+.tab7-label {
  color: #495591;
  background: #fff;
}
.tab-switch:checked+.tab8-label {
  color: #495591;
  background: #fff;
}
.tab-switch:checked+.tab9-label {
  color: #495591;
  background: #fff;
}
.tab-switch:checked+.tab10-label {
  color: #294862;
  background: #fff;
}
.tab-switch:checked+.tab-label+.tab-content {
  display: block;
}
.tab-switch {
  display: none;
}

.cp_point {
  width: 80%;
	position: relative;
	margin: 40px 0 30px;
	padding: 55px 20px 15px 40px;
	border: 1px solid #b3c3d1;
	background-color: #b3c3d1;
	outline: solid 1px #e1e9f4;
	outline-offset: -7px;
}

.ribbon {
  display: inline-block;
  position: relative;
  height: 30px;
  line-height: 2px;
	top: -3.6em;
	left: -3.35em;
  padding: 5px 0;
  font-size: 12px;/*フォントサイズ*/
  background: #20324c;/*背景色*/
  color: #FFF;/*文字色*/
  box-sizing: border-box;
}

.ribbon h6 {
  margin: 0;
  padding: 0 30px;
  border-top: dashed 1px #FFF;/*上の破線*/
  border-bottom: dashed 1px #FFF;/*下の破線*/
  line-height: 18px;
  font-size: 11px;/*フォントサイズ*/
}

.ribbon:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon:before {
  /*左端の山形*/
  top: 0;
  left: 0;
  width: 15px;
  background: #e1e9f4;
  z-index: 2;
}


.ribbon:after {
  /*右端の山形*/
  top: 0;
  right: 0;
  border-width: 15px 10px 15px 10px;
  border-color: transparent #b3c3d1 transparent transparent;
  border-style: solid;
}

.cp_point li {
	position: relative;
	list-style-type: none;
	top: -1.8em;
	left: -1em;
}
.cp_point li::before {
	position: absolute;
	left: -1em;
}

.name2 h6 {
	font-family: "Alex Brush", cursive;
	font-size: 2.5rem;
	    text-align: right;
	margin-top: 0px;
	margin-bottom: -35px;

	color: #20324c40;
}

/* 006 */
.button_more a {
    background: rgba(255, 255, 255, 1);
    position: relative;
    display: flex;
    justify-content: space-around;
  text-decoration: none;
    max-width: 300px;
    padding: 15px 10px;
    color: #20324c;
  border: 2px solid #20324c50;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    border-radius: 4px;
    margin: 0 0 0 auto;
    right: 2.2em;
}
.button_more a:before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: -2em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    background-color: #20324c;
    transition: 0.3s;
}
.button_more a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -2em;
    transform: translateY(-50%);
    width: 50px;
    height: 2px;
    background-color: #20324c;
    transition: 0.3s;
}
.button_more a:hover:before, .button_more a:hover:after {
    right: -2.5em;
}
.button_more a:hover {
    background: rgba(255, 255, 255, 0.4);
    color: #20324c;
}

.charas {
  margin-top:1.5em;
  margin-bottom:2em;
  display: flex;
  flex-wrap: wrap;
  width: 100%;

}

.character img {

  width: 100%;

}

.chara {
  display:block;
  margin: 15px 8px 8px 9px;
}

.chara_img img {
  height: 136px;
  width: 120px;
  object-fit: cover;
  display: flex;
}

.charas a {
  display: inline-block;
  transition: all 0.3s ease;
}

.charas a:hover {
  opacity: 0.6;
  transform: translateY(-3px);
}

/*アイコンの下の名前*/
figcaption {
  padding:0;
  margin-top: 0px;
  font-size:11px;
  font-weight: bold;
  text-shadow: 1px 0 0 #fff, 
                0 1px 0 #fff, 
                -1px 0 0 #fff, 
                0 -1px 0 #fff;
    text-align: center;
}

.page-top {

		display: none;
}



.is-active {
  opacity: 1;
  visibility: visible;
}


footer {
    background: #20324c20;
    padding: 10px;
    margin-top : 30px;
    margin-bottom : -35px;
    margin-left : -8px;
    margin-right: -0.52em;
    height: 80px;
    max-width: 100%;
    text-align: center;
overflow-x: hidden;
}

footer p {
margin-left: 8px;
    text-align: center;
}



}