@charset "utf-8";

@media screen and (max-width: 640px) {
	.u-show__mobile {
		display: inline-block !important;
	}

	.u-hide__mobile {
		display: none !important;
	}
	
	.u-inner {
		padding-right: 20px;
		padding-left: 20px;
	}
	
	.u-title__hi {
		margin-top: 80px;
	}
	
	.u-title__hi span {
		font-size: 30px;
		letter-spacing: -.03em;
	}
	
	.u-title__hi em {
		font-size: 16px;
	}
	
	.l-mv-title {
		width: 65%;
		padding-top: 65%;
	}
	
	.l-mv-title h2 {
		margin-top: 5%;
	}
	
	.l-mv-title h2 em {
		font-size: 12px;
	}
	
	.l-mv-title h2 span {
		font-size: 32px;
	}
	
	.l-mv-title-logo {
		width: 28%;
		margin-top: 12%;
	}
	
	
	.l-mv-period {
		padding: 0% 0 20%;
	}
	
	.l-mv-period h3 {
		font-size: 10px;
	}
	
	.l-mv-period p {
		font-size: 16px;
	}
    .l-mv-period p span {
		font-size: 11px;
	}
	
	.l-prologue {
		padding: 40px 0;
	}
	
	.l-prologue h3 {
		font-size: 20px;
		letter-spacing: 0;
	}
	
	.l-prologue h4 {
		font-size: 20px;
		letter-spacing: 0;
	}
	
	.l-prologue p {
		font-size: 14px;
		line-height: 1.5;
		letter-spacing: 0;
		margin-top: 1em;
	}
	
	.l-prize-menu {
		padding-top: 10px;
	}
	
	.l-prize-menu ul {
		padding: 0 5px;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	
	.l-prize-menu ul li {
		font-size: 14px;
		width: calc(100% / 2);
		margin: 1.25em 0 0;
	}
	
	
	.l-prize-box {
		padding-right: 15px;
		padding-left: 15px;
		padding-bottom: 20px;
	}
	
	
	.l-prize-mark {
		width: 80px;
		height: 80px;
		top: -20px;
	}
	
	.l-prize-mark img {
		width: 30%;
	}
	
	.l-prize-title {
		font-size: 22px;
		line-height: 1.35;
	}
	
	.l-prize-catch {
		font-size: 17px;
	}
	
	.l-prize-read {
		font-size: 14px;
		line-height: 1.5;
	}
	
	
	
	
	
	.l-prize-main-image {
		margin-top: 20px;
	}
	
	.l-prize-main-image figcaption {
		color: #333;
		font-size: 14px;
		font-weight: 400;
		line-height: 1.5;
		letter-spacing: 0;
		text-shadow: none;
		padding: 1em 0 0;
		position: relative;
		bottom: auto;
		left: auto;
	}
	
	.l-prize-main-image figcaption br {
		display: none;
	}
	
	.l-prize-info {
		display: block;
	}
	
	.l-prize-info h5 em {
		font-size: 15px;
	}
	
	.l-prize-info h5 + * {
		margin-top: 10px;
	}
	
	
	
	.l-prize-gift {
		width: 100%;
	}
	
	.l-prize-gift__inner {
		padding-right: 40px;
		padding-left: 40px;
		display: block;
	}
	
	
	.l-prize-gift__main {
		text-align: center;
		width: 100%;
	}
	
	.l-prize-gift__main figcaption {
		margin-right: -40px;
		margin-left: -40px;
	}
	
	.l-prize-gift__plus {
		width: 100%;
		padding: 10px 0 15px;
	}
	
	.l-prize-gift__plus img {
		width: 14%;
	}
	
	
	
	.l-prize-gift__coupon {
		width: 100%;
	}
	
	.l-prize-gift__coupon-inner {
		min-height: 0;
		padding: 15px 0 10px;
	}
	
	.l-prize-gift__coupon figure {
		width: 50%;
		margin-right: auto;
		margin-left: auto;
	}
	
	.l-prize-gift__coupon h6 {
		margin-top: 0;
	}
	
	.l-prize-gift__coupon h6 br {
		display: none;
	}
	
	
	.l-prize-member {
		width: 100%;
		margin-top: 30px;
		padding-left: 0;
	}
	
	.l-prize-member ul {
		min-height: 0;
		padding: 5px 0 10px;
		flex-wrap: wrap;
	}

	.l-prize-member ul li {
		width: calc(50% - 14px);
		margin-right: 7px;
		margin-left: 7px;
		margin-top: 10px;
	}

	.l-prize-member ul li figure {
		max-width: 70px;
		margin: 0 auto;
	}

	.l-prize-member ul.box-member-more-04 {
		padding-right: 20px;
		padding-left: 20px;
	}

	.l-prize-member ul.box-member-more-04 li img {
		width: 70px;
	}
	
	.l-prize-box--gp .l-prize-gift__main {
		padding: 20px 15px;
	}
	
	.l-prize-box--gp .l-prize-gift__main p {
		font-size: 14px;
	}
	
	.l-prize-box--gp .l-prize-gift__main p b {
		font-size: 16px;
	}
	
	.l-prize-box--gp .l-prize-gift__coupon p {
		margin-top: 1em;
	}
	
	.l-prize-box--gp .l-prize-gift__coupon-inner {
		text-align: center;
		padding: 15px 0 10px;
		display: block;
	}
	
	.l-prize-box--gp .l-prize-gift__coupon-inner figure {
		margin-right: auto;
		margin-left: auto;
	}
	
	.l-prize-box--gp .l-prize-member ul {
		padding-top: 5px;
		padding-bottom: 15px;
		padding-right: 20px;
		padding-left: 20px;
	}
	
	.l-prize-box--gp .l-prize-member ul li {
		width: calc(50% - 14px);
		margin-right: 7px;
		margin-left: 7px;
		margin-top: 10px;
	}

	.l-prize-box--gp .l-prize-member ul li figure {
		max-width: 70px;
		margin: 0 auto;
	}
	.l-prize-entry .btn-blue a {
		width: 90%;
		padding: 15px 10px;
	}
	
	
	.l-examiner ul {
		margin-right: 0;
		margin-left: 0;
		display: block;
	}
	
	.l-examiner ul li {
		width: 100%;
		margin-top: 20px;
		margin-right: 0;
		margin-left: 0;
	}
	
	.l-examiner ul li:first-child {
		margin-top: 0;
	}
	
	.l-examiner ul li h4 {
		font-size: 20px;
	}
	
	.l-examiner ul li figure {
		margin-top: 0;
		padding-top: 40px;
	}
	
	.l-examiner ul li figure img {
		width: 36%;
	}
	
	.l-examiner ul li p {
		line-height: 1.5;
		margin-top: 3%;
		padding-right: 20px;
		padding-left: 20px;
	}
	
	
	.l-flow .u-inner {
		margin-top: -20px;
		padding-right: 40px;
		padding-left: 40px;
	}
	
	.l-info {
		font-size: 14px;
		letter-spacing: 0;
		margin-top: 80px;
	}
	
	.l-info h3 {
		font-size: 24px;
		margin-top: 40px;
	}
	
	.l-info h3 + * {
		margin-top: 20px !important;
	}
	
	.l-info h4 {
		font-size: 17px;
	}
	
	.l-info h4 + * {
		margin-top: 20px !important;
	}
	
	.l-info .u-note {
		margin-top: 5px;
	}
	
	.l-info .u-note li {
		font-size: 12px;
	}
	
	
	.l-info table {
		margin-right: 0;
		margin-left: 0;
		border-spacing: 0;
		display: block;
	}
	
	.l-info table th,
	.l-info table td {
		width: 100%;
		display: block;
	}
	
	td.table-cell-first {
		border-top: 0;
	}
	
	.l-info table th {
		padding: .75em 1em;
	}
	
	.l-info table td {
		padding: .75em 1em;
	}
	
	.l-info table table th {
		width: 100%;
		padding-bottom: .5em;
	}
	
	.l-info table table td {
		width: 100%;
		padding-bottom: .5em;
	}
	
	
	
	/* 結果発表 */
	.photo-contest-page--result .l-mv-period {
		/*padding: 10px 0 25px;*/
        padding: 5px 0 28px;
	}
	
	.photo-contest-page--result .l-mv-period h3 {
		font-size: 16px;
	}
    .photo-contest-page--result .l-mv-period h3 span {
    font-size: 14px;
}
	
	.c-result-photo {
		margin-top: 20px;
		margin-right: -15px;
		margin-left: -15px;
	}
	
	
	.c-result-photo__image--vertical img {
		width: 100%;
		height: auto;
	}
	
	.c-result-photo-data__title {
		font-size: 22px;
		letter-spacing: 0;
	}
	
	.c-result-photo-data__name {
		font-size: 13px;
		margin-top: 10px;
	}
	
	.c-result-photo-data__button {
		width: calc(100% - 120px);
		margin-top: 20px;
		margin-right: auto;
		margin-left: auto;
		padding: 12px 0;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
		top: auto;
		right: auto;
		transform: none;
	}
	
	.c-result-photo-data__button:before {
		margin-top: 0;
		margin-right: 0;
		margin-left: 0;
	}
	
	.c-result-photo-data__button span {
		padding-left: 1em;
	}
	
    .c-result-photo-data .cameramodel {
        width: 90%;
		margin-top: 30px;
		margin-right: auto;
		margin-left: auto;
        transform: none;
        display: table;
        position: static;
        text-align: center;
    }
    
    
	.c-result-photo-data dl {
		display: flex;
		align-items: center;
		justify-content: center;
		border: 0;
		position: relative;
		top: auto;
		left: auto;
		
	}
	
	.c-result-photo-data dl dt {
		padding: 2px;
		background: transparent;
	}
	
	.c-result-photo-data dl dt:after {
		content: '：';
	}
	
	.c-result-photo-data dl dd {
		padding: 2px;
	}
	
	.photo-contest-page--result .l-prize-info {
		margin-top: 30px;
	}
	
	.c-result-review-item {
		padding: 0 15px 20px;
		display: block;
	}
	
	.c-result-review-item:last-child {
		margin-bottom: 5px;
	}
	
	.c-result-review-item > div {
		width: 100%;
		padding: 20px 1em 0 0;
	}
	
	.c-result-review-item > div figure {
		width: 50px;
	}
	
	.c-result-review-item > p {
		font-size: 14px;
		margin: 10px 0 0;
		width: 100%;
	}
	
	/*佳作*/
	.c-result-kasaku .c-result-photo {
		display: block;
	}
	
	.c-result-kasaku .c-result-photo__image {
		width: calc(100% - 80px);
		margin-right: auto;
		margin-left: auto;
	}
	
	.c-result-kasaku .c-result-photo-data {
		width: 100%;
		margin-top: 10px;
		padding-left: 0;
	}
	
	.c-result-kasaku .c-result-photo-data__title {
		font-size: 18px;
		text-align: center;
	}
	
	.c-result-kasaku .c-result-photo-data__name {
		font-size: 12px;
		text-align: center;
		margin-top: 8px;
	}
	
	.c-result-kasaku .c-result-photo-data__button {
		width: calc(100% - 160px);
		margin-top: 18px;
		margin-bottom: 0;
		padding-bottom: 12px;
	}
	
	.c-result-kasaku .c-result-photo-data__button:before {
		width: 20px;
		height: 20px;
		margin-right: 0;
	}
	
	.photo-contest-page--result .c-result-kasaku .l-prize-info {
		width: calc(100% - 40px);
		margin-top: 20px;
		margin-right: 20px;
		margin-left: 20px;
	}
	
	.c-result-kasaku .c-result-review {
		padding-right: 0;
		padding-left: 0;
	}
	
	.c-result-kasaku .c-result-review-item {
		margin-top: 5px;
		padding-right: 20px;
		padding-left: 20px;
	}
	
	.c-result-kasaku .c-result-review-item > div {
		padding-top: 0;
	}
	
	.c-result-kasaku .c-result-review-item > p {
		font-size: 13px;
	}
	
	.c-result-kasaku .c-result-photo-data dl {
		margin-top: 15px;
		margin-bottom: 30px;
	}
	
	.l-examiner ul li figure img {
		width: 90px;
	}
	
	.l-last .u-title__hi em {
		font-size: 20px;
	}
	
	.l-last__message {
		font-size: 20px;
		letter-spacing: 0;
	}
	
	.c-modal .c-result-photo__image {
		height: calc(100vh - 90px);
		padding: 10px;
		overflow: scroll;
	}
	
	.c-modal .c-result-photo__image img {
		position: absolute;
		top: calc(50% - 70px);
		left: 50%;
		transform: translate(-50%,-50%);
	}
	
	.c-modal .c-result-photo__image--vertical img {
		position: relative;
		top: 0;
		transform: translate(-50%,0);
	}
	
	
	.c-modal .c-result-photo-data {
		min-height: 80px;
		display: block;
	}
	
	.c-modal .c-result-photo-data__button {
		margin-right: 0;
		margin-left: 0;
		transform: translate(-50%,0);
	}
	
	.c-modal .c-result-photo-data__title {
		font-size: 1.2rem;
		display: inline-block;
	}
	
	.c-modal .c-result-photo-data__name {
		font-size: 1.2rem;
		margin-left: .5em;
		display: inline-block;
	}
	
	.c-modal .c-result-photo-data dl {
		width: 100%;
		margin-top: 5px;
		/*display: flex;*/
        display: table-row;
		justify-content: center;
		left: auto;
	}
	
	.c-modal .c-result-photo-data dl dd {
		font-size: 1.2rem;
	}
	
    /*壁紙*/
	.wallpaper {
		display: block;
    }

    .wallpaper figure {
        width: 100%;
        margin: 5% 0;
    }
    
    
    /*追記　フォトコン展*/
    #main .exhibition {
        width: 98%;
    }
    #main .cbt_bt a {
        width: 100%;
        padding: 10px 5px;
    }
    
    /*投稿者コメント*/
    #main .contributorTxt1 {
    font-size: 14px;
    width: 90%;
    margin: 2em auto 0 auto;
    text-align: left;
}
    
    /*選考*/
.selection {
    width: 100%;
    margin: 1em auto 2em auto;
    display: flex;
    justify-content: space-between;
}

.selection .selectionimg {
    width: 49%;
}

.selectiontxt {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
}
    #main .c-button.blue a {
        width: 94%;
    }
    #main .c-button.orange a {
        width: 94%;
    }
    .l-epilogue {
    padding: 40px 0;
    }
    
    
/*----作例画像切り替え----*/
    .ExampleChangeImage{
    width: 100%;
    height: 250px;}
    
    #main .btn-gray {
        width: 94%;
    }
    
    .doxjudgeGRP {
    width: 100%;
        text-align: center
}    
    .reviewicon{
    width: 50%!important;
}
    .l-prize-entry .btn-blue a {
        font-size: 18px;
    }
    /*クローズボタン周り*/
    .c-result-photo-data__button--close{
        bottom: 40px;
    }
    .c-modal .c-result-photo-data {
        padding: 60px 0 10px;
    }
    .c-result-photo-data .cameramodel{
        margin-top: 10px;
    }
    /*フォトコン終了ボタン*/
    #main .c-button.result a{
            width: 95%;
    }
    #main .c-button.grey a{
            width: 95%;
    }
    
    .c-modal .c-result-photo-data .cameramodel {
        position: static;
    }
    #main .conditions {
    width: 100%;
    padding: 1em;
    }
    
    #main .beginner {
    width: 100%;
    }
    
}/* END Responsive */
