@charset "UTF-8";

/*------------------------------------------------

 sp_style.css
 
 Copyright (C) Ichizu
 
 individual layout
------------------------------------------------*/

/* root
================================================================================*/
:root {
	--color-blue: #0082cd;
	--color-blue-dark: #165f98;
	--color-red: #e50012;
	--color-red-dark: #a80e20;
	--color-green: #009c45;
	--color-green-dark: #006934;
	--color-hover: #fff100;
	--color-warning: #f00;
}

/*------------------------------------------------------------------------------------------------

 デバイス別スタイル / スマートフォン（差分のみ）
 
------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 768px) {
	
	
	/*================================================================================
	
	home
	
	================================================================================*/
	/* main
	================================================================================*/
	/* wrap
	------------------------------------------------*/
	.home .wrap {
		padding: 40px 0;
	}
	
	/* mainVisual
	================================================================================*/
	.mainVisual {
		border: none;
	}
	.mainImg:after {
		height: 60%;
		background: -webkit-gradient(linear, left bottom, left top, color-stop(10%, rgba(0, 0, 0, 0.7)), color-stop(60%, rgba(0, 0, 0, 0)));
		background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 10%, rgba(0, 0, 0, 0) 60%);
	}
	.mainTxt {
		margin: -100px auto 0;
		padding: 0 0 40px;
	}
	.mainCopy {
		font-size: 3.0rem;
		line-height: 1.4;
	}
	.subCopy {
		margin: 0 0 10px;
		font-size: 2.0rem;
	}
	.mainCount li {
		padding: 10px 0;
		line-height: 1.4;
	}
	.mainCount li .num {
		font-size: 2.0rem;
	}
	.mainCount li .comma {
		display: none;
	}
	
	/* youtube
	================================================================================*/
	/* h
	------------------------------------------------*/
	.movie h2 {
		font-size: 2.4rem;
	}
	
	/* movieList 
	------------------------------------------------*/
	.movieList {
		margin-top: -20px;
	}
	.movieList li {
		width: 100%;
		max-width: 600px;
		margin: 20px auto 0;
	}
	
	/* news
	================================================================================*/
	/* h
	------------------------------------------------*/
	.news h2 {
		margin-bottom: 30px;
	}
	.news h2 > span {
		font-size: 3.0rem;
	}
	.news h2 span .jp {
		margin: 0;
		font-size: 1.6rem;
	}
	
	/* slider
	------------------------------------------------*/
	.slick-prev,
	.slick-next {
		display: none !important;
	}
	
	/* homeAbout
	================================================================================*/
	/* wrap
	------------------------------------------------*/
	.home .homeAbout {
		padding: 160px 0 40px;
		background-size: auto 200px;
	}
	
	/* h
	------------------------------------------------*/
	.homeAbout h2 {
		margin: 0 0 30px;
		padding-top: calc( 160px * 538 / 600 + 20px );
		font-size: 3.0rem;
	}
	.homeAbout h2 rt {
		font-size: 1.0rem;
	}
	.homeAbout h2:before {
		width: 160px;
		height: calc( 160px * 538 / 600 );
		background-size: 160px auto;
	}
	
	/* homeAboutOutline
	------------------------------------------------*/
	.homeAbout .homeAboutOutline {
		margin: 0 auto 30px;
	}
	.homeAboutNegai {
		width: auto;
		margin: 0 auto;
		font-size: 1.6rem;
	}
	.homeAboutMember {
		width: 100%;
	}
	
	/* homeDonRadio
	================================================================================*/
	/* wrap
	------------------------------------------------*/
	.home .homeDonRadio {
		padding: 40px 0;
	}
	.homeDonRadio .inner {
		width: 100%;
	}
	.homeDonRadio .inner > div {
		width: 100%;
		margin: 0 0 30px;
		padding: 80px 20px 30px;
	}
	.homeDonRadio .inner > div .circle {
		width: 100px;
		height: 100px;
		margin: -20px auto 10px;
		border-radius: 50px;
	}
	.homeDonRadio .btn a {
    	width: 100%;
	}
	.homeDonRadio .inner > div p:not(.circle) {
		text-align: left;
	}
	
	/* h
	------------------------------------------------*/
	.homeDonRadio .inner > div h2 {
		margin: 0 0 20px;
		font-size: 2.4rem;
	}
	
	/* homeRadio
	------------------------------------------------*/
	.homeDonRadio .inner > div.homeRadio .circle a {
		padding: 20px 0 0;
		font-size: 1.6rem;
	}
	.homeDonRadio .inner > div.homeRadio .circle a:before {
		content: "";
		position: absolute;
		bottom: 33px;
		left: 0;
		right: 0;
		width: 70%;
	}
	.homeDonRadio .inner > div.homeRadio .circle a:after {
		bottom: 15px;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		font-size: 1.0rem;
	}
	
	/* homeBlog
	================================================================================*/
	/* wrap
	------------------------------------------------*/
	.home .homeBlog {
		padding: 80px 0 40px;
	}
	.homeBlog .inner {
		width: 100%;
		padding: 0 5%;
	}
	
	/* h
	------------------------------------------------*/
	.homeBlog h2 {
		margin-bottom: 30px;
	}
	.homeBlog h2 > span {
		font-size: 3.0rem;
	}
	.homeBlog h2 span .jp {
		font-size: 1.6rem;
	}
	
	/* homeBlogIllust
	------------------------------------------------*/
	.homeBlogIllust {
		top: -120px;
		left: 0;
		right: 0;
		width: 200px;
		margin: 0 auto;
	}
	
	/* homeBlogList
	------------------------------------------------*/
	.homeBlogList {
		margin: -30px 0 30px;
	}
	.homeBlogList li {
		width: 80%;
		margin: 30px auto 0;
	}
	.homeBlogList li .blogDate {
		margin: 0 0 5px;
	}
	
	
	/*================================================================================
	
	message
	
	================================================================================*/
	/* main
	================================================================================*/
	/* title
	------------------------------------------------*/
	.message .title {
		min-height: 380px;
		background: url(/message/img/title_bg_01.jpg) no-repeat left -20px  top,
					url(/message/img/title_bg_02.jpg) no-repeat right -20px top;
		background-size: 26% auto;
		text-align: center;
	}
	.message .title .negai {
		top: 160px;
		max-height: 13em;
		font-size: 1.6rem;
	}
	
	/* h
	------------------------------------------------*/
	.message h2 {
		margin-bottom: 40px;
		font-size: 2.2rem;
	}
	
	/* mission
	================================================================================*/
	.missionList li {
		font-size: 1.6rem;
	}
	.missionList li:before {
		top: -4px;
		font-size: 2.0rem;
	}
	
	/* linkWrap
	================================================================================*/
	.linkWrap .inner .col3 li {
		width: 80%;
		max-width: 400px;
		margin-right: auto;
		margin-left: auto;
	}
	.linkWrap .inner .col3 li a .linkTitle {
		font-size: 1.8rem;
	}
	
	
	/*================================================================================
	
	about common
	
	================================================================================*/
	/* main
	================================================================================*/
	.about #main {
		padding-bottom: 0;
	}
	
	/* title
	------------------------------------------------*/
	.about .title {
		padding: 110px 0 0;
		background-size: auto 130px;
	}
	
	/* pageLink
	------------------------------------------------*/
	.about.index .pageLink .navIndex a,
	.about.live .pageLink .navLive a,
	.about.voice .pageLink .navVoice a,
	.about.request .pageLink .navRequest a,
	.about.history .pageLink .navHistory a,
	.about.book .pageLink .navBook a {
		border: 1px solid #e50012;
		border: 1px solid var(--color-red);
	}
	
	
	/*================================================================================
	
	about index
	
	================================================================================*/
	/* main
	================================================================================*/
	/* title
	------------------------------------------------*/
	.about.index .title {
		padding: 160px 0 0;
		background-size: auto 180px;
	}
	
	/* movie
	================================================================================*/
	.about .movie .inner {
		width: 90%;
		margin: 0 auto;
		padding: 40px 0 0;
		text-align: left;
	}
	.about .movie h2 {
		margin: 0 0 30px;
		font-size: 2.0rem;
		text-align: center;
	}
	
	/* movieList */
	.about .movieList {
		margin: 0 0 10px;
	}
	.about .movieList li {
		width: 100%;
		margin: 0 auto;
		padding: 20px;
	}
	.about .movieList li dl {
		margin: 20px 0 0;
	}
	.about .movieList li dt {
		margin: 0 0 10px;
		font-size: 1.8rem;
		text-align: center;
	}
	
	/* member
	================================================================================*/
	.index .member .lead {
		margin-bottom: 30px;
		font-size: 1.4rem;
		text-align: left;
	}
	.index .member h2 {
		margin: 0 0 30px;
		font-size: 1.8rem;
	}
	.about .member ul {
		margin: 0 0 30px;
	}
	.about .member ul li {
		width: 31%;
	}
	.about .member ul li .nickname {
		font-size: 1.6rem;
	}
	.about .member ul li .nickname span {
		font-size: 1.4rem;
	}
	.about .member ul li .university span {
		display: none;
	}
	.about .member a.snsIcon {
		width: 30px;
		height: 30px;
		border-radius: 15px;
	}
	.about .member a.snsIcon img {
		width: 16px;
	}
	
	/* linkContact
	================================================================================*/
	.linkContact {
		padding-bottom: 1px;
	}
	.linkContact .inner {
		max-width: 840px;
		padding: 0;
		background: url(/about/img/link_contact.jpg) no-repeat center top;
		background-size: cover;
	}
	
	
	/*================================================================================
	
	about live
	
	================================================================================*/
	/* count
	================================================================================*/
	.count {
		padding: 0 0 40px;
	}
	
	/* infoWrap
	================================================================================*/
	.live .infoWrap .answer {
		font-size: 1.6rem;
		text-align: left;
	}
	.live.infoWrap .liveImg {
		margin: 0 0 30px;
	}
	
	
	/*================================================================================
	
	about voice
	
	================================================================================*/
	/* voiceList
	================================================================================*/
	#loopList .loopSingle {
		padding: 20px;
		border-radius: 14px;
	}
	#loopList .loopSingle .loopNum {
		top: -30px;
		right: 20px;
		width: 70px;
		height: 70px;
		font-size: 1.4rem;
		border-radius: 35px;
	}
	#loopList .loopSingle .loopHeader {
		margin: 0 0 30px;
	}
	#loopList .loopSingle .loopTitle {
		padding: 0 60px 0 0;
		font-size: 2.0rem;
	}
	#loopList .loopSingle .loopFrom {
		font-size: 1.6rem;
	}
	/* page nation
	------------------------------------------------*/
	.wp-pagenavi {
		margin: 20px 0 30px;
		text-align: center;
	}

	
	/*================================================================================
	
	about request
	
	================================================================================*/	
	
	/*================================================================================
	
	about history
	
	================================================================================*/
	/* allHistory
	================================================================================*/
	.allHistory .inner .col3 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.allHistory .inner .col3 li {
		padding-bottom: 70px;
		background-image: url(/common_img/kuma.png);
		background-repeat: no-repeat;
		background-position: center bottom 10px;
		background-size: auto 60px;
		color: #0082cd;
		color: var(--color-blue);
		font-weight: bold;
		font-size: 1.6rem;
		text-align: center;
	}
	.allHistory .inner .col3 li:nth-of-type(2) {
		background-image: url(/common_img/don.png);
		color: #e50012;
		color: var(--color-red);
	}
	.allHistory .inner .col3 li:nth-of-type(3) {
		background-image: url(/common_img/mikko.png);
		color: #009c45;
		color: var(--color-green);
	}
	.allHistory table {
		table-layout: fixed;
		margin-bottom: 10px;
		border-top: 1px solid #eee;
	}
	.allHistory table tbody tr:nth-of-type(odd) {
		display: table-row;
		width: 100%;
	}
	.allHistory table tbody tr:nth-of-type(odd) th {
		padding: 6px;
		font-weight: bold;
	}
	.allHistory table thead tr,
	.allHistory table tbody tr:nth-of-type(even) th {
		display: none;
	}
	.allHistory table tbody tr:nth-of-type(even) td {
		padding: 10px;
	}
	.allHistory table tbody tr:nth-of-type(even) td:not(:last-of-type) {
		border-right: 1px solid #eee;
	}
	.allHistory table tbody td::before {
		content: attr(data-label);
		display: block;
		margin-bottom: 10px;
		background: #0082cd;
		background: var(--color-blue);
		color: #fff;
		font-size: 1.2rem;
		text-align: center;
	}
	.allHistory table tbody td:nth-of-type(2)::before {
		background: #e50012;
		background: var(--color-red);
	}
	.allHistory table tbody td:nth-of-type(3)::before {
		background: #009c45;
		background: var(--color-green);
	}
	.historyEnd {
		margin-top: 20px;
		font-size: 1.8rem;
		text-align: center;
	}
	
	/*================================================================================
	
	don common
	
	================================================================================*/
	/* main
	================================================================================*/
	.don #main {
		padding-bottom: 0;
	}
	
	/* title
	------------------------------------------------*/
	.don .title {
		padding: 110px 0 0;
		background-size: auto 130px;
	}
	.don .title .titleTxt:before {
		width: 80px;
		height: 80px;
		background-size: 80px auto;
		border-radius: 80px;
	}
	
	/* pageLink
	------------------------------------------------*/
	.don.index .pageLink .navIndex a,
	.don.voice .pageLink .navVoice a {
		border: 1px solid #009c45;
		border: 1px solid var(--color-green);
	}
	
	
	/*================================================================================
	
	don index
	
	================================================================================*/
	/* main
	================================================================================*/
	/* title
	------------------------------------------------*/
	.don.index .title {
		min-height: 460px;
		padding: 160px 0 0;
		background-size: auto 180px;
	}
	.don.index .title .negai {
		top: 310px;
		font-size: 1.6rem;
	}

	/* donInfo
	================================================================================*/
	.don .donInfo .inner {
		width: 90%;
		margin: 0 auto;
		padding: 40px 0 0;
		text-align: left;
	}
	.donIllust {
		position: absolute;
		top: -58px;
		right: 4%;
		width: 60px;
	}
	.donYoutube {
		width: 100%;
		margin: 30px auto;
		padding-top: calc( 100% / 560 * 315 );
	}
	.donFaq {
		margin: -30px auto 0;
	}
	.donFaq > div {
		width: 100%;
		margin: 20px 0 0;
	}
	.donFaq > div:first-of-type {
		margin-top: 30px;
	}
	.donFaq > div dt {
		margin: 0 0 10px;
		padding: 0 0 0 20px;
		font-size: 1.6rem;
	}
	.donFaq > div dt:before {
		font-size: 1.6rem;
	}
	.donFaq > div dd {
		margin: 0 0 20px 20px;
	}
	
	/* member
	================================================================================*/
	.donProfile {
	}
	.donProfileImg {
		width: 60%;
		margin: 0 auto 30px;
	}
	.donProfileTxt {
		width: 100%;
	}
	
	
	/*================================================================================
	
	don voice
	
	================================================================================*/
	/* voiceList
	================================================================================*/
	.don.voice #loopList .loopSingle .loopHeader {
		margin-bottom: 20px;
	} 
	.don.voice #loopList .loopSingle .loopTitle {
		padding: 0;
	}
	.don.voice #loopList .loopSingle .donVoiceSubject {
		margin-top: 20px;
		font-size: 1.2rem;
	}
	
	/*================================================================================
	
	radio common
	
	================================================================================*/
	/* main
	================================================================================*/
	/* title
	------------------------------------------------*/
	.radio .title {
		padding: 0;
	}
	
	/* pageLink
	------------------------------------------------*/
	.radio.index .pageLink .navIndex a,
	.radio.archive .pageLink .navArchive a,
	.radio.form .pageLink .navForm a {
		border: 1px solid #0082cd;
		border: 1px solid var(--color-blue);
	}
	
	/*================================================================================
	
	radio index
	
	================================================================================*/
	/* main
	================================================================================*/
	/* lead
	------------------------------------------------*/
	.radio.index .lead {
		text-align: left;
	}
	
	/* h
	------------------------------------------------*/
	.radio h2 {
		margin-bottom: 40px;
	}
	.radio h2.centerLine.doubleLine span {
		font-size: 2.2rem;
		line-height: 1.4;
	}
	
	/* radioAccepting
	================================================================================*/
	.infoWrap.radioAccepting .inner h2 {
		font-size: 1.8rem;
	}
	.radio .radioBtn {
		margin-bottom: 30px;
	}
	.radio .btn.radioBtn a {
		width: 100%;
		max-width: 500px;
		padding: 20px 0;
		font-size: 2.0rem;
		border-radius: 40px;
	}
	.radioAccepting .radioAcceptingTxt {
		text-align: left;
	}
	.radio .btn.radioBtn a:after {
		font-size: 2.4rem;
	}
	
	/* radioAccepting
	================================================================================*/
	.radioLatest .lead {
		text-align: left;
	}
	.radioLatest #loopList {
		margin-bottom: 30px;
	}
	
	/* loopList
	------------------------------------------------*/
	.radioLatest #loopList {
		margin-bottom: 30px;
	}
	.radioLatest #loopList .loopSingle {
		padding: 20px;
	}
	.radio .loopHeader .loopTitle {
		display: block;
		margin: 0 0 10px;
		font-size: 2.0rem;
	}
	.radio .loopHeader .radioDate {
		font-size: 1.8rem;
	}
	.radio .loopContent {
		margin: 0 0 30px;
	}
	.radio #loopList .loopSingle .loopFrom {
		margin-bottom: 20px;
		font-size: 1.6rem;
	}
	.radio .radioBgm {
		padding: 10px 0 0;
	}
	.radio .radioBgm dt {
		margin: 0 0 5px;
		font-size: 1.4rem;
	}
	
	
	/*================================================================================
	
	radio form
	
	================================================================================*/
	/* formWrap
	================================================================================*/
	/* h
	------------------------------------------------*/
	.formWrap h3 {
		margin-bottom: 20px;
	}
	.formWrap h3 span {
		padding: 10px 30px;
		font-size: 2.0rem;
	}
	
	.formWrap .required {
		font-size: 1.2rem;
	}
	
	/* lead
	------------------------------------------------*/
	.formWrap .lead {
		margin-bottom: 40px;
		padding: 20px;
		text-align: left;
		border-radius: 10px;
	}
	.formWrap .lead .reply {
		color: #009c45;
		color: var(--color-green);
		font-size: 1.8rem;
	}
	
	/* inputArea
	================================================================================*/
	.inputArea dt {
		width: 100%;
		margin: 0;
		padding: 20px 0 10px;
		border-top: 1px solid #eee;
	}
	.inputArea dt span {
		position: absolute;
		top: 24px;
		right: 10px;
	}
	.inputArea dd {
		width: 100%;
		margin: 0;
		padding: 0 10px 20px;
		border-top: none;
	}
	.inputArea .note {
		font-size: 1.2rem;
	}
	.btnArea {
		-ms-flex-wrap: wrap-reverse;
		flex-wrap: wrap-reverse;
		margin-top: 30px;
	}
	.btnArea form {
		width: 100%;
	}
	
	/*  error
	================================================================================*/
	.errorList {
		margin: 0 0 20px;
		padding: 20px;
	}
	
	/* comfirm
	================================================================================*/
	.btnArea form:nth-of-type(2) {
		margin: 0 0 20px;
	}
	
	/* finish
	================================================================================*/
	.
	.btnArea form:nth-of-type(2) {
		margin: 0 0 20px;
	}
	.contact .inner .taR{
		text-align: center;
	}
	.contact .inner .taR .btn a {
		padding: 0 30px;
	}
	
	
	/*================================================================================
	
	performance
	
	================================================================================*/
	/* main
	================================================================================*/
	.performance #main {
		padding-bottom: 0;
	}
	
	/* schedule
	================================================================================*/
	#schedule iframe {
		height: 400px;
	}
	#schedule h2 {
		margin-bottom: 40px;
	}
	#schedule h2.centerLine.doubleLine span {
		font-size: 2.4rem;
	}
	
	/* lead
	================================================================================*/
	.performance .lead {
		margin: 0 auto 60px;
		padding: 0 5%;
	}
	.performance .lead .btn a {
		padding: 15px;
	}
	.performance .lead p:not(.btn) {
		text-align: left;
	}
	
	/* priceWrap
	================================================================================*/
	.priceWrap .col2 dl dd {
		padding: 10px 2px;
		color: #e50012;
		color: var(--color-red);
		font-size: 2.8rem;
		line-height: 1;
	}
	.priceWrap .col2 dl dd span {
		font-size: 1.4rem;
	}
	.priceWrap .indent1em {
		text-align: left;
	}
	
	
	/*================================================================================
	
	magazine
	
	================================================================================*/
	/* main
	================================================================================*/
	/* title
	------------------------------------------------*/
	.magazine .title {
		background: url(/magazine/img/title_bg.jpg) no-repeat top center;
		background-size: cover;
	}
	.magazine .title .titleTxt img.titleL {
		width: 300px;
	}
	.magazine .title .titleTxt img.titleS {
		width: 140px;
	}
	
	/* laad
	------------------------------------------------*/
	.magazine .lead {
		margin: 0 auto 40px;
		padding: 0 5%;
	}

	/* magazineLatestWrap
	================================================================================*/
	.magazineLatestWrap .inner {
		padding: 30px;
		border-radius: 20px;
	}
	.magazineLatest .magazineLatestTxt {
		width: 100%;
		text-align: center;
	}
	.magazineLatest .magazineLatestTxt h2 {
		margin: 0 0 10px;
		font-size: 2.0rem;
	}
	.magazineLatest .magazineLatestTxt .magazineTitle {
		font-size: 2.0rem;
	}
	.magazineLatest .magazineLatestTxt .magazineDate {
		margin-bottom: 20px;
	}
	.magazineLatest .magazineLatestTxt .magazineContents {
		display: inline-block;
		font-size: 1.2rem;
		text-align: left;
	}
	.magazineLatest .magazineLatestImg {
		width: 80%;
		max-width: 400px;
		margin: 0 auto 30px;
		text-align: center;
	}
	.magazineLatestVol {
		top: -30px;
		right: 40px;
		width: 80px;
		height: 80px;
		font-size: 1.6rem;
		border-radius: 40px;
	}

	/* magazineList
	================================================================================*/
	.magazineList {
		margin-top: -10%;
	}
	.magazineList .magazineSingle {
		width: 47%;
		margin: 10% 0 0;
	}
	.magazineList .magazineSingle:nth-of-type(4n+3):last-of-type,
	.magazineList .magazineSingle:nth-of-type(4n+2):last-of-type {
		margin-right: 0;
	}
	.magazineList .magazineSingle .magazineTitle {
		line-height: 1;
	}
	.magazineList .magazineSingle .magazineTitle span {
		display: block;
		margin: 10px 0 0;
		font-size: 1.8rem;
	}
	.magazineList .magazineSingle .magazineDate {
		margin-bottom: 5px;
	}
	.magazineList .magazineSingle .btn {
		margin: 10px auto 0;
		text-align: center;
	}
	.magazineList .magazineSingle .btn a {
		padding: 8px 10px;
		font-size: 1.2rem;
	}
	.magazineList .magazineSingle .btn a:before {
		display: none;
	}
	
	
	/*================================================================================
	
	magazine single
	
	================================================================================*/
	/* main
	================================================================================*/
	/* pageLink
	------------------------------------------------*/
	.magazine .title + .pageLink {
		display: block;
		margin: -20px auto 20px;
	}
	.magazine .pageLink li {
		margin: 0 auto;
	}
	/* wrap
	------------------------------------------------*/
	.magazine.single .magazineTitle {
		font-size: 2.0rem;
	}
	.magazine.single .magazineTitle span {
		font-size: 2.4rem;
	}
	
	/* スライダー調整
	================================================================================*/
	.magazine.single .nextend-arrow-previous:before,
	.magazine.single .nextend-arrow-next:before {
		top: 8px;
		width: 36px;
		font-size: 0.8rem;
	}
	
	
	/*================================================================================
	
	media
	
	================================================================================*/
	/* main
	================================================================================*/
	/* title
	------------------------------------------------*/
	/* .media .title {
		padding: 150px 0 0;
		background: url(/media/img/title_bg.jpg) no-repeat top right -60px;
		background-size: auto 130px;
	} */
	
	/* leadWrap
	================================================================================*/
	.media .leadWrap .inner {
		text-align: left;
	}
	.media .leadWrap .btn {
		text-align: center;
		margin-bottom: 20px;
	}
	.media .leadWrap dl {
		text-align: center;
	}
	.media .leadWrap dt span {
		display: block;
		font-size: 2.0rem;
	}
	
	/* loopList
	================================================================================*/
	.media #loopList .loopSingle {
		margin-bottom: 30px;
		padding: 0 30px 30px;
	}
	.media #loopList .loopSingle .mediaDate {
		margin: 0 0 10px;
	}
	.media #loopList .loopTitle {
		margin-bottom: 30px;
		padding: 0;
		font-size: 2.0rem;
	}
	.media #loopList .loopContent {
		padding: 0;
	}
	.media #loopList .mediaName {
		margin-top: 10px;
		padding: 0;
		font-size: 1.2rem;
	}
	
	/* mediaEnd
	================================================================================*/
	.mediaEnd {
		margin-top: 20px;
		font-size: 1.6rem;
	}
	
	/*================================================================================
	
	sponsor
	
	================================================================================*/
	/* main
	================================================================================*/
	.sponsor #main {
		padding-bottom: 0;
	}
	
	/* h
	------------------------------------------------*/
	.sponsor h2 {
		margin-bottom: 40px;
	}
	.sponsor h2 > span {
		font-size: 2.2rem;
	}
	.sponsor h3 {
		margin: 0 0 30px;
		text-align: center;
	}
	.sponsor h3 span {
		padding: 8px 60px;
		font-size: 1.6rem;
	}
	
	/* lead
	------------------------------------------------*/
	.sponsor .lead {
		margin: 0 0 40px;
		text-align: left;
	}
	
	/* sponsorElem
	------------------------------------------------*/
	.sponsor .wrap .sponsorElem {
		margin: 0 auto 50px;
	}
	
	/* .sponsorLead
	================================================================================*/
	.sponsor .sponsorLead h2 {
		margin: 0 0 30px;
		font-size: 1.8rem;
	}
	.sponsor .sponsorLead .col2 {
		margin-bottom: 20px;
	}
	
	/* sponsorInfo
	================================================================================*/
	/* sponsorList
	------------------------------------------------*/
	.sponsor #sponsorInfo .sponsorList {
		margin: 0 0 30px;
	}
	.sponsor #sponsorInfo .sponsorList li {
		width: 50%;
		padding: 20px;
		text-align: center;
	}
	.sponsor #sponsorInfo .sponsorList li .position {
		font-size: 1.2rem;
	}
	.sponsor #sponsorInfo .sponsorList li .btn {
		margin-top: 10px;
	}
	.sponsor #sponsorInfo .sponsorList li .btn a {
		padding: 10px 20px;
		font-size: 1.4rem;
	}
	
	/* sponsorListBnr
	------------------------------------------------*/
	.sponsor #sponsorInfo .sponsorListBnr {
		margin: -1% 0 30px;
	}
	.sponsor #sponsorInfo .sponsorListBnr li {
		width: 49%;
		margin: 1% 0 0;
	}
	.sponsor #sponsorInfo .sponsorListBnr li:nth-of-type(4n+3):last-of-type,
	.sponsor #sponsorInfo .sponsorListBnr li:nth-of-type(4n+2):last-of-type {
		margin-right: auto;
	}
	
	/* sponsorListTxt
	------------------------------------------------*/
	.sponsor #sponsorInfo .sponsorListTxt {
		margin: -1% 0 0;
	}
	.sponsor #sponsorInfo .sponsorListTxt li {
		width: 49%;
		margin: 1% 0 0;
		padding: 4px;
		font-size: 1.3rem;
	}
	.sponsor #sponsorInfo .sponsorListTxt li:nth-of-type(4n+3):last-of-type,
	.sponsor #sponsorInfo .sponsorListTxt li:nth-of-type(4n+2):last-of-type {
		margin-right: auto;
	}

	/* guideline
	================================================================================*/
	/* benefits
	------------------------------------------------*/
	.sponsor #guideline .benefits table.pc.tb {
		display: none;
	}
	.sponsor #guideline .benefits table.sp {
		display: table;
		margin: 0 0 30px;
	}
	.sponsor #guideline .benefits table th,
	.sponsor #guideline .benefits table td {
		padding-right: 10px;
		padding-left: 10px;
	}

	/* flow
	------------------------------------------------*/
	.sponsor #guideline .flow section {
		margin: 0 0 30px;
		padding: 30px;
	}
	.sponsor #guideline .flow section:not(:last-of-type):after {
		bottom: -20px;
		left: 50%;
		margin-left: -10px;
		border-top: 10px solid #009c45;
		border-top: 10px solid var(--color-green);
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
	}
	.sponsor #guideline .flow section h4 {
		margin: 0 0 30px;
		padding: 0 0 14px 30px;
		font-size: 1.6rem;
	}
	.sponsor #guideline .flow section h4:before {
		top: 2px;
		width: 20px;
		font-size: 1.4rem;
		line-height: 20px;
	}
	.sponsor #guideline .flow section .col2 {
		margin-top: -10px;
	}
	.sponsor #guideline .flow section .col2 li {
		width: 94%;
		margin: 10px auto;
	}
	.sponsor #guideline .flow section dt {
		width: 100%;
		margin: 0 0 10px;
	}
	
	/* outline
	================================================================================*/
	.sponsor #outline {
		padding-bottom: 0;
	}
	.sponsor #outline table th {
		white-space: nowrap;
	}
	.sponsor #outline .manager {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin-top: 20px;
	}
	.sponsor #outline .manager div {
		width: 280px;
		margin: 30px auto 0;
	}
	.sponsor #outline .manager div:nth-of-type(2) {
		width: 280px;
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
	}
	.sponsor #outline .manager div:last-of-type {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
	}
	
	
	/*================================================================================
	
	sponsor single
	
	================================================================================*/
	/* main
	================================================================================*/
	/* h
	------------------------------------------------*/
	.sponsor.single h1 {
		font-size: 2.0rem;
		line-height: 1;
	}
	
	/* pageLink
	------------------------------------------------*/
	.sponsor.single .pageLink li {
		width: 100%;
	}
	
	/* wrap
	================================================================================*/
	.sponsorRepresentative {
		margin: 0 0 30px;
	}
	.sponsorRepresentative .name {
		font-size: 1.8rem;
	}
	
	
	/*================================================================================
	
	contact
	
	================================================================================*/
	/* main
	================================================================================*/
	/* h
	------------------------------------------------*/
	.contact h2 {
		margin: 0 auto 30px;
		font-size: 1.6rem;
	}
	.contact h2#contactForm {
		margin: 40px 0 20px;
	}
	.contact h2.centerLine.doubleLine {
		font-size: 2.4rem;
	}
	
	/* contactTel
	================================================================================*/
	.contactTel {
		margin: 0 auto 40px;
		padding: 30px;
		border-radius: 14px;
	}
	.contactTel dt {
		margin: -44px 0 20px;
		font-size: 1.6rem;
	}
	.contactTel dt span {
		padding: 0 10px;
	}
	.contactTel .tel {
		font-size: 3.0rem;
	}
	.contactTel .tel .time {
		display: block;
		margin: 10px 0;
		font-size: 1.6rem;
	}
	.contactTel .indent1em {
		font-size: 1.2rem;
	}
	
	/* inputArea
	================================================================================*/
	.contact .inputArea label {
		display: block;
		margin: 0 0 10px;
	}
	.inputArea input.reason {
		width: 180px;
		margin-left: 10px;
	}
	.contact .addTitle {
		margin: 30px auto;
	}
	.contact .addTitle span {
		padding: 8px 60px;
		font-size: 1.6rem;
	}
	
	
	
	/*================================================================================
	
	privacy
	
	================================================================================*/
	/*privacyTxt
	================================================================================*/
	.privacy .privacyTxt {
		margin: 30px 0 0;
		padding: 0 0 30px;
	}
	.privacy .privacyTxt:first-of-type {
		padding-top: 30px;
	}
	.privacy .privacyTxt dt {
		margin: 0 0 20px;
		font-weight: bold;
	}
	.privacy .privacyTxt .aboutCookie dt {
		margin: 0 0 10px;
		font-size: 1.2rem;
	}
	.privacy .privacyTxt .aboutCookie dd {
		font-size: 1.2rem;
	}
	
	
	/*================================================================================
	
	error404
	
	================================================================================*/
	/* wrap
	================================================================================*/
	.error404 .wrap {
		padding: 30px 0;
	}
	.error404 .inner {
		text-align: left;
	}	
	
	
	
	}/*---- デバイス別スタイル / スマートフォン ----*/



/* iPhone5サイズの分岐
================================================================================*/
@media only screen and (max-width: 360px) {



}/*---- iPhone5サイズの分岐 ----*/
