:root {
	--font-maru: 'Zen Maru Gothic';
	--font-weight-r: 400;
	--font-weight-m: 500;
	--font-weight-b: 700;
}

html {
	font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS P Gothic", "メイリオ", "Meiryo", Verdana, Arial, Helvetica, sans-serif;
}


/* フェードイン(初期値) */

.js-fadeUp {
	opacity: 0;
	/* 最初は非表示 */
	transform: translateY(30px);
	/* 下に30pxの位置から */
	transition: opacity .8s, transform .8s;
	/* 透過率と縦方向の移動を0.8秒 */
}

.js-fade {
	opacity: 0;
	transition: opacity .8s;
}


/* フェードイン(スクロールした後) */

.js-fadeUp.is-inview {
	opacity: 1;
	/* 表示領域に入ったら表示 */
	transform: translateY(0);
	/* 30px上に移動する */
	transition-delay: .1s;
	/* フェード開始を0.5秒遅らせる */
}

.js-fade.is-inview {
	opacity: 1;
	transition-delay: .2s;
}


/* スクロールバー */

.scroll_bar {
	overflow-x: hidden;
}

.scroll_bar::-webkit-scrollbar {
	width: 4px;
}

.scroll_bar::-webkit-scrollbar-track {
	background-color: #F0F0F0;
}

.scroll_bar::-webkit-scrollbar-thumb {
	background-color: #9D9D9D;
}

.button--blue {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: max-content;
	margin: 0 auto;
	padding: 17px 20px 18px;
	font-size: 0.17rem;
	font-family: var(--font-maru);
	font-weight: var(--font-weight-m);
	line-height: 1;
	border: solid 1px #2a6bba;
	color: #2a6bba;
	text-decoration: none;
	letter-spacing: 0.01rem;
	background-color: #d4eaff;
	border-radius: 50px;
}

.button--blue .arrow {
	position: relative;
	width: 18px;
	height: 18px;
	height: 18px;
	margin-right: 12px;
}

.button--blue .arrow::before {
	content: "";
	width: 18px;
	height: 18px;
	background: #fff;
	color: #2a6bba;
	border: solid 1px #2a6bba;
	border-radius: 50%;
	position: absolute;
	top: 0px;
	bottom: 0;
	right: 0;
	margin: auto;
	z-index: 5;
}

.button--blue .arrow::after {
	content: "";
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #b062a3;
	border-right: solid 2px #b062a3;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 7px;
	margin: auto;
	transform: rotate(45deg);
	z-index: 6;
}

.h2__title-y,
.h2__title-sb,
.h2__title-gr,
.h2__title-p,
.h2__title-r_y,
.h2__title-r_pink,
.h2__title-r_blue {
	font-size: .26rem;
	line-height: 1.8;
	position: relative;
	margin-bottom: 15px;
	font-family: var(--font-maru);
	font-weight: var(--font-weight-b);
}

.h2__title-y::before,
.h2__title-sb::before,
.h2__title-gr::before,
.h2__title-p::before,
.h2__title-r_y::before,
.h2__title-r_pink::before,
.h2__title-r_blue::before {
	position: absolute;
	content: '';
	display: inline-block;
	width: 58px;
	height: 55px;
	background-size: cover;
	background-repeat: no-repeat;
	vertical-align: middle;
	z-index: -2;
	top: -4px;
	left: -27px;
}

.h2__title-r_pink::before {
	top: 55px;
}

.h2__title-r_blue::before {
	width: 54px;
	left: -5px;
}

.h2__title-r_y::before {
	background-image: url(../images/title-r-yellow.svg);
}

.h2__title-y::before {
	background-image: url(../images/title-yellow.svg);
	width: 54px;
}

.h2__title-sb::before {
	background-image: url(../images/title-skyblue.svg);
}

.h2__title-gr::before {
	background-image: url(../images/title-green.svg);
	width: 54px;
}

.h2__title-p::before {
	background-image: url(../images/title-pink.svg);
}

.h2__title-r_pink::before {
	background-image: url(../images/title-r-pink.svg);
}

.h2__title-r_blue::before {
	background-image: url(../images/title-r-blue.svg);
}

.h2__title-sb span,
.h2__title-r_blue span {
	color: #2EA7E0;
}

.h2__title-p span {
	color: #EC739E;
}

.h2__title-y span {
	color: #ED811B;
}

.h2__title-r_y span {
	color: #F39800;
}

.h2__title-r_pink span {
	color: #e4007f;
}

.h2__title-gr span {
	color: #B8D200;
}

.page__intro {
	margin: 60px 0px 60px;
}

.page__intro p {
	width: 920px;
	max-width: 100%;
	margin: 0 auto;
}

.page__intro p:nth-child(1) {
	font-size: .30rem;
	font-weight: 600;
	line-height: 1.7;
	margin-bottom: 15px;
}

.page__intro p:nth-child(2) {
	font-size: .15rem;
	font-weight: normal;
}

.page__intro img {
	width: 1232px;
	max-width: 100%;
	display: block;
	margin: 45px auto 80px;
}

.past-archive {
	width: 900px;
	max-width: 100%;
	margin: 0 auto;
}

.past-archive > div {
	display: flex;
	flex-wrap: wrap;
	;
}

body .past-archive p {
	font-size: .16rem;
	margin-bottom: 5px;
	font-family: var(--font-maru);
	font-weight: var(--font-weight-b);
	margin-bottom: 9px;
}

.past-archive a {
	font-size: .14rem;
	color: #0099FF;
	border-left: solid 1px #0099FF;
	border-right: solid 1px #0099FF;
	padding: 0 5px;
	margin-right: 13px;
	margin-bottom: 8px;
}

.link__button a {
	display: block;
	font-size: .17rem;
	color: #2A6BBA;
	border: solid 1px #2A6BBA;
	background-color: #D4EAFF;
	border-radius: 33px;
	padding: 9px 18px 10px 49px;
	font-family: var(--font-maru);
	font-weight: var(--font-weight-m);
}

.link__button {
	position: relative;
}

.link__button span {
	background-color: #fff;
	border: solid 1.6px #0099FF;
	color: #0099FF;
	padding: 0 10px;
	margin-left: 20px;
}

.link__button:before {
	content: '';
	width: 18px;
	height: 18px;
	background: #fff;
	color: #333;
	border: solid 1px #2A6BBA;
	border-radius: 50%;
	position: absolute;
	top: 0px;
	bottom: 0;
	right: 0;
	left: -81.5%;
	margin: auto;
}

.link__button:after {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #2A6BBA;
	border-right: solid 2px #2A6BBA;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: -82.5%;
	margin: auto;
	transform: rotate(45deg);
}

.link__button2 {
	border: solid 1px #2a6bba;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	color: #2a6bba;
	font-size: 0.16rem;
	background-color: #d4eaff;
	border-radius: 50px;
	letter-spacing: 0.01rem;
	position: relative;
	font-family: var(--font-maru);
	font-weight: var(--font-weight-m);
	line-height: 1;
	width: fit-content;
}

.link__button2 a {
	padding: 15px 36px 16px 52px;
}

.link__button2 .arrow {
	position: relative;
	width: 18px;
	height: 18px;
	height: 18px;
	margin-right: 12px;
}

.link__button2 .arrow::before {
	content: "";
	width: 18px;
	height: 18px;
	background: #fff;
	color: #333;
	border: solid 1px #fff;
	border-radius: 50%;
	position: absolute;
	top: 0px;
	bottom: 0;
	right: 0;
	margin: auto;
	z-index: 5;
}

.link__button2 .arrow::after {
	content: "";
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #2a6bba;
	border-right: solid 2px #2a6bba;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 7px;
	margin: auto;
	transform: rotate(45deg);
	z-index: 6;
}

.book__list {
	display: flex;
	flex-wrap: wrap;
	width: 900px;
	max-width: 100%;
	margin: 0 auto;
	justify-content: space-between;
}

.book__list-container {
	width: 280px;
	max-width: 100%;
	border: solid 1px #FFCCFF;
	border-radius: 20px 20px 0 0;
	margin-bottom: 40px;
	position: relative;
}

.book__list::after {
	display: block;
	content: "";
	width: 280px;
}

.book__list-item {
	background-color: #FFF5FF;
	border-bottom: solid 1px #FFCCFF;
	height: 284px;
	max-height: 100%;
	position: relative;
	border-radius: 20px 20px 0 0;
	;
}

.book__list-item > div {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
}

.book__list-item img {
	max-width: 82%;
	max-height: 82%;
}

.book-title {
	font-size: .18rem;
	font-weight: bold;
	color: #3E3A39;
	line-height: 1.3;
	margin: 15px 0 10px;
}

.book-author {
	line-height: 1.5;
	margin-bottom: 30px;
    text-align: left;
}

.book-story {
	line-height: 1.5;
	margin-bottom: 95px;
}

.book__list__sentence {
	font-size: .12rem;
	padding: 0 20px;
}

.book__list__sentence--box {
	max-height: 100%;
}

.book__list__sentence > div {
	text-align: center;
	position: relative;
	margin: 10px 0 30px;
}

.book__list__sentence .book__list__button {
	margin-top: 30px;
	position: absolute;
	bottom: 0;
}

.book__list__sentence a {
	background-color: #66CCFF;
	color: #FFF;
	text-align: center;
	font-size: .15rem;
	width: fit-content;
	padding: 11px 10px;
	font-family: var(--font-maru);
	font-weight: var(--font-weight-b);
}

.book__list__button ::after {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	background-image: url(../images/link-icon.svg);
	background-size: cover;
	background-repeat: no-repeat;
	vertical-align: baseline;
}

.button-normal a {
	padding: 13px 56px;
}

.sp_only {
	display: none;
}


#contact-fixed-link {
    position: fixed;
    bottom: 23px;
    right: 22px;
    z-index: 99;
    display: block;
    width: 149px;
    height: 149px;
}
.top-scroll {
    position: fixed;
    bottom: 180px;
    right: 40px;
    z-index: 99;
    width: 60px;
    height: 60px;
    width: 107px;
    height: 107px;
}
@media screen and (max-width: 768px) {
	#contact-fixed-link {
    	bottom: 6px;
    	right: 100%;
    	width: 105px;
    	height: 105px;
	}

}


.fixfoot .d1 {
	display: flex;
	justify-content: space-between;
}

    .fixfoot .d1 a {
        width: calc(50% - 5px);
        height: 40px;
    	background: #2a6bba;
        display: block;
        font-size: .16rem;
        color: #FFF;
        text-align: center;
        padding-top: 0px;
        line-height: 40px;
border-radius: 8px;
    }
.fixfoot .d1 a.sp-top-scroll {
    background: #EE8037;
}

.fixfoot .d1 img {
    width: 25px;
    vertical-align: middle;
	margin-right: 10px;
	margin-bottom: 2px;
}

.sp-top-scroll img{
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(244deg) brightness(103%) contrast(100%);
}

.fixfoot {
        position: fixed;
        width: 100%;
        bottom: 0;
        right: 0;
        color: #fff;
        background-color: rgba(255, 255, 255, 0.6);
        z-index: 214748;
        -webkit-transform: translate3d(0, 0, 9999px);
		z-index: 1000;
		padding: 10px;
		display:none;
    }

	.fixfoot {
	    transition: 0.7s;
		bottom:0;
	}
	.fixfoot-scroll{
		opacity:1;
		pointer-events: auto;
	}
	.fixfoot-active{
		bottom:-47vw;
	    transition: 0.7s;
		opacity:0;
		pointer-events: none;
	}


/*固定ページのタイトル*/

.sub-head__container {
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url(../images/common/head_title.jpg);
	background-size: cover;
	background-position: center;
	height: 180px;
	margin-bottom: 60px;
}

.sub-head__container h1 {
	flex: 0 1 auto;
	width: fit-content;
	font-size: .37rem;
	color: #0068b2;
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: 500;
	letter-spacing: .04rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	line-height: 1;
	margin-bottom: 0;
}

.sub-head__container span {
	display: block;
	font-size: .25rem;
	text-align: center;
	margin-top: 12px;
}

@media screen and (min-width:768px) and ( max-width:960px) {
	.h2__title-y::before,
	.h2__title-sb::before,
	.h2__title-gr::before,
	.h2__title-p::before,
	.h2__title-r_y::before,
	.h2__title-r_pink::before,
	.h2__title-r_blue::before {
		left: -15px;
	}
	.past-archive a {
		margin-right: 8px;
		margin-bottom: 11px;
	}
	.book__list {
		justify-content: space-around;
	}
}

@media screen and (max-width: 767px) {
	html {
		font-size: 530%;
	}
	/*固定ページのタイトル*/
	.sub-head__container {
		height: 130px;
		margin-bottom: 35px;
	}
	.sub-head__container h2 {
		font-size: .25rem;
	}
	.sub-head__container span {
		font-size: .2rem;
	}
	section {
		margin: 0 auto 50px;
	}
	.page__intro {
		margin: 35px 0px 60px;
		padding: 0;
	}
	.page__intro img {
		margin: 20px auto 60px;
		max-width: 100vw;
		margin-left: -20px;
		object-fit: cover;
		height: 165px;
	}
	.sub-head__container h1 {
		font-size: 0.32rem;
	}
	.h2__title-y,
	.h2__title-sb,
	.h2__title-gr,
	.h2__title-p,
	.h2__title-r_y,
	.h2__title-r_pink,
	.h2__title-r_blue {
		margin-bottom: 10px;
		font-size: .22rem;
	}
	.h2__title-y::before,
	.h2__title-sb::before,
	.h2__title-gr::before,
	.h2__title-p::before,
	.h2__title-r_y::before,
	.h2__title-r_pink::before,
	.h2__title-r_blue::before {
		left: -13px;
		top: -8px;
		width: 42px;
		height: 40px;
	}
	.h2__title-r_blue::before {
		height: 43px;
	}
	.h2__title-y::before,
	.h2__title-gr::before {
		width: 39px;
	}
	.h2__title-r_pink::before {
		left: 2px;
		top: 9px;
	}
	.page__intro p:nth-child(1) {
		font-size: .24rem;
		margin-bottom: 20px;
		line-height: 1.6;
	}
	.page__intro p:nth-child(2) {
		line-height: 1.7;
	}
	.pc_only {
		display: none;
	}
	.sp_only {
		display: block;
	}
	.book__list-container {
		margin: 0 auto 50px;
	}
	.link__button:before {
		top: 0px;
		bottom: 0;
		right: 0;
		left: -77.5%;
	}
	.link__button:after {
		top: 0;
		bottom: 0;
		right: 0;
		left: -77.5%;
	}
	.book__list__sentence a {
		display: block;
		width: 100%;
	}
	.book-story {
		margin-bottom: 0;
		font-size: .14rem;
	}
	.book__list__sentence .book__list__button {
		margin-top: 0px;
		position: relative;
		bottom: 0;
	}
	body .past-archive p {
		padding: 0 20px;
	}
	.past-archive > div {
    	padding: 0 20px;
	}
}

.top__sponsor__text {
	margin: 30px auto 40px;
	max-width: 900px;
	line-height: 0.29rem;
}

.top__sponsor {
	padding: 90px 0 100px;
}

.top__sponsor-list__wrap {
	margin: 0 auto;
	padding-bottom: 40px;
	max-width: 1120px;
	background-color: #f2f2f2;
}

.top__sponsor-list {
	padding: 20px 30px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	list-style: none;
	background: #f2f2f2;
}

.top__sponsor__list-item {
	margin-bottom: 18px;
	flex: 0 1 auto;
	width: 24%;
	text-align: center;
	padding: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	box-shadow: 0 0 5px rgba(25, 15, 115, 0.15);
	min-height: 74px;
    pointer-events: none;
}

.organization__main .top__sponsor__list-item {
	width: 48.6%;
}

.sponsor__name {
	font-weight: 600;
	line-height: 1.5;
	color: #000;
}

.sponsor__list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	list-style: none;
	background-color: #eaf3fb;
}

.sponsor__list-item {
	padding: 24px 47px 14px;
	border-right: solid 1px #3e6eb3;
	border-bottom: solid 1px #3e6eb3;
	flex: 0 1 auto;
	width: 50%;
	text-align: center;
}

.top__sponsor-list::after {
    display: block;
    content: "";
    width: 24%;
}

.sponsor__list-item:nth-child(odd) {
	border-left: solid 1px #3e6eb3;
}

.sponsor__img-wrap {
	padding: 8px 8px 3px 8px;
	display: block;
	background-color: #fff;
	box-shadow: 0 0 5px rgba(25, 15, 115, 0.15);
}

.sponsor__img-item {
	width: 100%;
}

.sponsor__text {
	margin-top: 20px;
	font-size: .14rem;
	font-weight: 500;
	line-height: .28rem;
}
.tb_only{
	display: none;
}
@media screen and (min-width:768px) and ( max-width:960px) {
	.tb_only{
		display: block;
	}
}
@media screen and (max-width: 767px) {
	.organization__main .top__sponsor__list-item {
		margin-bottom: 10px;
		padding: 13px;
		flex: 0 1 auto;
		width: 100%;
		text-align: center;
		min-height: fit-content;
	}
	.top__sponsor__list-item br {
		display: none;
	}
	
	.top-scroll {
    display: none !important;
}

	.fixfoot {
		display:block;
	}
}



.button-pdf--blue {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: max-content;
    margin: 0 auto;
    padding: 13px 20px 14px 45px;
    font-size: 0.17rem;
    font-family: var(--font-maru);
    font-weight: var(--font-weight-m);
    line-height: 1;
    border: solid 1px #2a6bba;
    color: #2a6bba;
    text-decoration: none;
    letter-spacing: 0.01rem;
    background-color: #d4eaff;
    border-radius: 50px;
}

.pdf-span {
    background-color: #fff;
    border: solid 1.6px #0099FF;
    color: #0099FF;
    padding: 3px 10px;
    margin-left: 20px;
}

.button-pdf--blue .arrow::before {
    content: "";
    width: 18px;
    height: 18px;
    background: #fff;
    color: #2a6bba;
    border: solid 1px #2a6bba;
    border-radius: 50%;
    position: absolute;
    top: 0px;
    bottom: 0;
    left: 15px;
    margin: auto;
    z-index: 5;
}

.button-pdf--blue .arrow::after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #b062a3;
    border-right: solid 2px #b062a3;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    margin: auto;
    transform: rotate(45deg);
    z-index: 6;
}



