@charset "utf-8";

/* toyamaken-pta
-----------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
/*
font-family: 'Noto Sans JP', sans-serif;
*/
/* ==============================================
    universal reset
============================================== */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* ==============================================
    html,body and base
============================================== */
html,body {
	height:100%;
}

/* general params
------------------*/
table {
	empty-cells: show;
	font-size: 100%;
	border-collapse: collapse;
}

img {
	border: none;
	height: auto;
	vertical-align: top;
	max-width: 100%;
    image-rendering: -webkit-optimize-contrast;
}

h1,h2,h3,h4,h5,h6 {
	font-weight: bold;
	font-size: 100%;
}

h1 img,h2 img,h3 img,h4 img,h5 img,h6 img {
}

ul {
	letter-spacing: -.40em;
}
ul li {
	letter-spacing: normal;
}
/* acronyms and abbreviations styles 
-------------------------------------*/
acronym,abbr {
	cursor: help;
}


/* ==============================================
    body
============================================== */
body {
	font-size: 16px;
	text-align: center;
	line-height: 1.4;
	color: #141414;
	-webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 700px) {
	body {
		font-size: 14px;
		min-width: 300px;
	}
}
@media print {
	body {
		min-width: 950px;
	}
}
body,
input,
select,
textarea {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}
form input[type="submit"],
form input[type="reset"],
form input[type="button"] {
	-webkit-appearance: none;
}

/* ==============================================
    link
============================================== */
a {
	/*color: #265eb3;*/
	color: #0A60E3;
	transition: all .4s;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

@media screen and (min-width: 701px) {
	a:hover,
	#pagetop img:hover {
		opacity: 0.7;
		filter: alpha(opacity=70);
		-ms-filter: "alpha( opacity=70 )";
	}
	a img.rollover:hover {
		opacity: 1;
		filter: alpha(opacity=100);
		-ms-filter: "alpha( opacity=100 )";
	}
}

/* ==============================================
    
============================================== */
#container,
.entry-content,
.inner {
	zoom: 1;
	margin: 0 auto;
	text-align: left;
}
#container::after,
.entry-content::after {
	content: "";
	clear: both;
	height: 0;
	display: block;
}
.inner {
	width: 1200px;
}

.sp {
	display: none;
}
.switch {}
.call {}


@media screen and (max-width: 1200px) {
	.inner {
		width: 96%;
	}
	header nav .inner,
	.cornertitle .inner {
		width: 100%;
	}
}

@media screen and (max-width: 700px) {

	.pc {
		display: none;
	}
	.sp {
		display: inline-block;
	}
}

/* ==============================================
    container
============================================== */
#container {
	position:relative;
	margin: 0 auto;
}

a.btn {
	display: inline-block;
	padding: 0.3em 20px;
	background: #ffffff;
	border: 1px solid #c8c8c8;
	box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.08);
	border-radius: 50px;
	position: relative;
	transition: .1s;
}

a.btn:hover {
	text-decoration: none;
	transform: translateY(2px);
    opacity: 1;
}

a.btn_back {
	padding: 0.3em 12px 0.3em 10px;
}
a.btn_back::before {
	content: "";
	display: inline-block;
	background: url("image/arrow01.svg") no-repeat 0 0 / contain;
	width: 12px;
	height: 12px;
	transform: rotate(180deg);
	margin-right: 6px;
}


/* ==============================================
    
============================================== */
.logo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.logo::before {
	content: "";
	display: inline-block;
	background: url("image/p-chan.png") no-repeat 0 0 / contain;
	width: 100px;
	height: 100px;
	margin-right: 10px;
}


/* ==============================================
    header
============================================== */
header {
	margin: 0px;
	padding: 0;
	border-top: 4px solid #fcb23b;
    border-bottom: 1px solid #dcdcdc;
}
header .header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 0;
}

header #siteid {
    display: grid;
    grid-template-columns: 1fr 6em;
    grid-gap: clamp(0.625rem, -0.398rem + 3.64vw, 1.875rem); /* 10-30 450-1000 */
    align-items: center;
}
header #siteid {
    
}
header #siteid img {
	/*width: 290px;*/
    width: clamp(11.25rem, 5.625rem + 20vw, 18.125rem); /* 180-290 450-1000 */
}

header .logo::before {
	/*width: 104px;
	height: 104px;*/
    width: clamp(3.125rem, 0.364rem + 9.82vw, 6.5rem); /* 200-290 450-1000 */
    height: clamp(3.125rem, 0.364rem + 9.82vw, 6.5rem); /* 200-290 450-1000 */
}

header .btn_home {
	padding-left: 30px;
	font-weight: 300;
    width: 6em;
    line-height: 1.4em;
}
header .btn_home::before {
	content: "";
	display: block;
	background: url("image/icon_home.svg") no-repeat 0 0 / contain;
	width: 12px;
	height: 12px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 15px;
}



/* ==============================================
    contents
============================================== */
#contents {}


/* Youtube レスポンシブ用 */
.movie_wrap {
	position: relative;
	padding-top: 56.25%;
	height: 0;
	overflow: hidden;
}
.movie_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


@media screen and (max-width: 700px) {
	table.scroll {
		overflow: auto;
		white-space: nowrap;
		display: block;
		width: auto;
	}
	table.scroll tbody {
		width: 100%;
	}
	table.scroll::-webkit-scrollbar {
		height: 5px;
	}
	table.scroll::-webkit-scrollbar-track {
		background: #f1f1f1;
	}
	table.scroll::-webkit-scrollbar-thumb {
		background: #bcbcbc;
	}
}


/* ==============================================
    pagetop
============================================== */
#pagetop {
    position: fixed; /*固定表示*/
    bottom: 0px;
    right: 0;
    display: none; /*通常は非表示に*/
	background: #fcb23b;
}
#pagetop img {
	cursor: pointer;
	padding: 18px;
}

@media screen and (max-width: 700px) {
	#pagetop img {
		padding: 10px;
	}
}


/* ==============================================
    footer
============================================== */
footer {
	background-image: url("image/footer_img_l.png"), url("image/footer_img_r.png");
	background-repeat: no-repeat, no-repeat;
	background-position: bottom left, bottom right;
	padding-top: 140px;
}
footer a {
	color: inherit;
}
footer a:hover {
	text-decoration: none;
}


#copyright {
	text-align:center;
	padding: 20px 0;
	color: #787878;
}


@media screen and (max-width: 1000px) {
	footer .f-info strong img {
		width: 200px;
	}
	footer .f-info {
		display: block;
	}
	footer address {
		margin: 20px 0;
	}
}

@media screen and (max-width: 700px) {
	footer {
		background-size: 140px 100px, 200px 98px;
		background-position: bottom 30px left 0, bottom 30px right 0;
	}
	
	#copyright {
		padding: 10px;
	}
}


/* ==============================================
    main-visual
============================================== */
#main-visual {
    width: 1200px;
    text-align: center;
    margin: 0 auto 60px;
    background: url("image/main_bg.jpg") no-repeat center center / cover;
    height: clamp(17.5rem, 6.25rem + 40vw, 31.25rem); /* 280-500 450-1000 */
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 10px 60px;
}

@media screen and (max-width: 1250px) {
    #main-visual {
        width: 100%;
    }
    #main-visual img {
        max-width: 70%;
    }
}
@media screen and (max-width: 767px) {
    #main-visual {
        width: 100%;
        background-image: url("image/main_bg_sp.jpg");
        padding: 30px 6%;
    }
    #main-visual img {
        max-width: 100%;
    }
}


/* ==============================================
    main-visual
============================================== */
.info-section {
    width: 720px;
    margin: 0 auto 100px;
}
@media screen and (max-width: 800px) {
    .info-section {
        width: 96%;
    }
}


.info-section .dayBlock {
    background: #F3F3F3;
    padding: 20px 10px;
    font-weight: 500;
    font-size: 26px;
    line-height: 38px;
    text-align: center;
    color: #3f589b;
    margin: 0 auto 40px;
}
.info-section .sponsorBlock dl {
    display: flex;
    justify-content: flex-start;
    column-gap: 70px;
}


.info-section .sponsorBlock dl div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 20px;
}
.info-section .sponsorBlock dt,
.info-section .sponsorBlock dd {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
    padding: 5px 10px;
}
.info-section .sponsorBlock dt {
    border: 1px solid #000000;
}

@media screen and (max-width: 700px) {
    .info-section .sponsorBlock {
        display: flex;
        justify-content: center;
    }
    .info-section .sponsorBlock dl {
        flex-direction: column;
        gap: 10px 0;
        justify-content: center;
        
    }

}




.button-section {
    width: 1200px;
    margin: 0 auto;
    background: #DDEDFD;
    padding: clamp(1.875rem, 0.341rem + 5.45vw, 3.75rem) 10px; /* 30-60 450-1000 */
    text-align: center;
}
@media screen and (max-width: 1250px) {
    .button-section {
        width: 100%;
    }
}

a.btn_kaiin {
    font-size: clamp(1rem, 0.693rem + 1.09vw, 1.375rem); /* 16-22 450-1000 */
    font-weight: 500;
    background: #3A88D6;
    border-color: #3A88D6;
    color: #fff;
    width: 610px;
    height: clamp(3.125rem, 0.568rem + 9.09vw, 6.25rem); /* 50-100 450-1000 */
	display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}
a.btn_kaiin::before {
	content: "";
	display: block;
	background: url("image/arrow01_w.svg") no-repeat 0 0 / contain;
	width: 16px;
	height: 16px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 50px;
}
@media screen and (max-width: 700px) {
    a.btn_kaiin {
        width: 100%;
    }
    a.btn_kaiin::before {
        width: 12px;
        height: 12px;
    }
}



.ttl-1 {
    font-size: clamp(1.875rem, 1.364rem + 1.82vw, 2.5rem); /* 30-40 450-1000 */
    font-weight: 500;
    color: #3A88D6;
    letter-spacing: 0.1em;
    text-indent: -0.1em;
    text-align: center;
    padding: 14px 0;
    border-top: 2px solid #EC9C1C;
    border-bottom: 2px solid #EC9C1C;
}
.ttl-2 {
    font-size: clamp(1.25rem, 0.943rem + 1.09vw, 1.625rem); /* 20-26 450-1000 */
    font-weight: 500;
    border-top: 2px solid #F1F1F1;
    padding: 16px 0;
    text-align: center;
    position: relative;
}
.ttl-2::before {
    content: "";
    display: inline-block;
    background: #EC9C1C;
    width: 200px;
    height: 2px;
    position: absolute;
    top: -2px;
    left: 50%;
    transform: translateX(-50%);
}


.pdfList {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 50px 90px 100px;
}

@media screen and (max-width: 1024px) {
    .pdfList {
        margin: 50px 0px 100px;
    }
}


a.pdf {
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    gap: 6px 0;
    width: 100%;
    min-height: clamp(5.875rem, 3.727rem + 7.64vw, 8.5rem); /* 94-136 450-1000 */
    border-radius: clamp(0.625rem, 0.114rem + 1.82vw, 1.25rem); /* 10-20 450-1000 */
    padding: 10px clamp(2.5rem, -0.568rem + 10.91vw, 6.25rem) 10px clamp(1.875rem, -0.17rem + 7.27vw, 4.375rem);
    /*padding: 10px 100px 10px 70px;*/
    background: #fff;
    border: 1px solid #c8c8c8;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
	position: relative;
	transition: .1s;
}

a.pdf::before, a.pdf::after {
    content: "";
	display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

a.pdf::before {
	background: url("image/arrow01.svg") no-repeat 0 0 / contain;
	width: clamp(0.5rem, 0.091rem + 1.45vw, 1rem); /* 8-16 450-1000 */
	height: clamp(0.5rem, 0.091rem + 1.45vw, 1rem); /* 8-16 450-1000 */
    left: clamp(0.875rem, 0.057rem + 2.91vw, 1.875rem); /* 14-30 450-1000 */
}

a.pdf::after {
	background: url("image/file_pdf.svg") no-repeat 0 0 / contain;
	width: clamp(1.5rem, 0.477rem + 3.64vw, 2.75rem); /* 24-44 450-1000 */
	height: clamp(1.5rem, 0.477rem + 3.64vw, 2.75rem); /* 24-44 450-1000 */
    right: clamp(0.625rem, -0.909rem + 5.45vw, 2.5rem); /* 10-40 450-1000 */
}

a.pdf:hover {
	text-decoration: none;
	transform: translateY(2px);
    opacity: 1;
}

a.pdf strong {
    font-size: clamp(1rem, 0.693rem + 1.09vw, 1.375rem); /* 16-22 450-1000 */
    font-weight: 500;
}
a.pdf p {
    font-size: clamp(0.875rem, 0.67rem + 0.73vw, 1.125rem); /* 14-18 450-1000 */
    font-weight: 500;
}

.no-pdf a.pdf {
    pointer-events: none;
}
.no-pdf a.pdf::after {
    display: none;
}

/* ==============================================
    スクロールアニメーション
============================================== */
.scrollin {}
.fadein {}
.slidein {}

.scrollin.fadein {
	opacity : 0;
	visibility: hidden;
	transition: 0.5s;
	transform: translateY(100px);
}
.scrollin.fadein.active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.scrollin.slidein {
	opacity : 0;
	visibility: hidden;
	transition: 0.5s;
	transform: translateX(300px);
}
.scrollin.slidein.active {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}

