@charset "utf-8";
@media screen and (max-width : 768px){
	br { display: none; }

	img { width: 100%; }

	.section .link {
		margin: 50px auto 0;
		text-align: center;
	}
	#contents_area .section .link a {
		display: inline-block;
		color: #0064a1;
		font-size: 16px;
		line-height: 20px;
	}
	.section .link a:after {
		content: '';
		display: inline-block;
		position: relative;
		right: -10px;
		width: 20px;
		height: 20px;
		background: url(../../../common/img/parts_ico_btn_detail_arrow.png) 50% 0 / 100% no-repeat;
		vertical-align: top;
	}

	.section .link.frame a {
		padding: 15px 20px;
		border: 1px solid;
		border-radius: 2px;
	}

	#footer_topic_path {
		margin-top: 85px;
	}


/* ----------------------------------------
	section_gallery
---------------------------------------- */

	#section_gallery {
		position: relative;
		margin-top: 50px;
	}
	#section_gallery img {
		display: block;
	}
	#section_gallery h3,
	#photo_list::before {
		padding-top: 80%;
	}
	#section_gallery h3 {
		position: absolute;
		left: 15.4%;
	}

	.gnav_fixed #section_gallery h3.autoFix {
		position: fixed;
		margin-top: -51px;
	}

	#section_gallery h3 img {
		position: absolute;
		top: 0;
		width: auto;
		height: 100%;
		transform: translateX(-50%);
	}

	#photo_list {
		margin-left: 30.8%;
	}
	#photo_list::before {
		content: '';
		width: 0;
	}
	#photo_list ul {
		display: flex;
		flex-wrap: wrap;
	}
	#photo_list li {
		position: relative;
		box-sizing: border-box;
		width: 50%;
		padding: 0 6px 6px 0;
	}

	#photo_list .pickup::after {
		content: '';
		position: absolute;
		left: 2.56%;
		top: 0;
		width: 24.1%;
		margin-top: 2.56%;
		padding-top: 24.1%;
		background: url(../img/icon_pickup.svg) 50% 50% / contain no-repeat;
	}
	
	#photo_list .pickup:nth-child(15)::after {
		top: auto;
		bottom: 6px;
		margin: 0 0 2.56%;
	}

/* photo_detail
---------------------------------------- */

	html.detail_open {
		overflow: hidden !important;
	}

	#photo_detail {
		visibility: hidden;
		opacity: 0;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		z-index: 1000000;
		background: #fff;
		white-space: nowrap;
		text-align: center;
		transition: .5s;
		transition-property: visibility, opacity;
	}

	.detail_open #photo_detail {
		visibility: visible;
		opacity: 1;
	}

	#photo_detail::after,
	#photo_detail>div {
		display: inline-block;
		vertical-align: middle;
	}
	#photo_detail::after {
		content: '';
		width: 0;
		height: 100%;
	}
	#photo_detail>div {
		box-sizing: border-box;
		max-width: 100%;
		padding: 40px 10px;
		white-space: normal;
	}

	#photo_detail .header {
		display: flex;
		justify-content: flex-end;
		margin-bottom: 5%;
	}

	#photo_detail .header .btn_back {
		width: 13%;
	}

	#photo_detail_list {
		overflow: hidden;
		position: relative;
		color: #000;
	}
	#photo_detail_list>li {
		visibility: hidden;
		opacity: 0;
		position: absolute;
		top: 0;
		font-size: 16px;
		line-height: 2;
		transition: .5s;
		transition-property: visibility, opacity;
	}

	#photo_detail_list>.on {
		opacity: 1;
		position: relative;
	}

	.detail_open #photo_detail_list>.on {
		visibility: visible;
	}

	#photo_detail .name {
		margin-top: 30px;
		font-weight: bold;
		font-size: 20px;
		line-height: 1.2;
	}
	#photo_detail .name small {
		display: inline-block;
		margin-top: 10px;
		font-size: 16px;
	}

	#photo_detail .img,
	#photo_detail .img_sub li {
		position: relative;
	}

	#photo_detail .copy {
		margin: 20px 10px 0;
	}

	#photo_detail .img_sub {
		margin-top: 30px;
	}
	#photo_detail .img_sub ul {
		display: flex;
		justify-content: center;
	}
	#photo_detail .img_sub li {
		width: 32.8125%;
		margin-left: .78125%;
	}
	#photo_detail .img_sub li:nth-child(3n+1) {
		margin-left: 0;
	}

	#photo_detail li>a {
		display: inline-block;
		margin-top: 30px;
		padding: .75em 4em;
		border: solid 1px;
		text-decoration: none;
		color: inherit;
		font-size: 14px;
	}

	#photo_detail .title {
		width: 54%;
		margin: 10% auto 0;
	}

	#photo_detail .btn_area {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 10%;
	}

	#photo_detail .btn_prev,
	#photo_detail .btn_next {
		overflow: hidden;
		width: 8%;
		height: 0;
		padding-top: 8%;
		background: 50% 50% / contain no-repeat;
	}
	#photo_detail .btn_prev {
		background-image: url(../img/btn_prev.png);
	}

	#photo_detail .btn_next {
		background-image: url(../img/btn_next.png);
	}

	#photo_detail .btn_area .btn_back {
		width: 16%;
		margin: 0 10%;
	}

	#photo_detail .ov_input_on,
	#photo_detail .ov_input_off {
		display: none;
	}

	#photo_detail .img .ov,
	#photo_detail .img_sub .ov {
		position: absolute;
		top: 0;
		transition: .5s opacity;
	}

	#photo_detail .ov_input_off:checked~.img .ov,
	#photo_detail .ov_input_off:checked~.img_sub .ov {
		opacity: 0;
	}

	#photo_detail .ov_switch {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 20px;
		font-weight: bold;
		line-height: 1;
	}
	#photo_detail .ov_switch>p {
		margin-right: 1em;
		padding: 3px;
		border: solid 1px;
	}
	#photo_detail .ov_switch ul {
		display: flex;
		justify-content: center;
	}
	#photo_detail .ov_switch li+li {
		position: relative;
		margin-left: 1em;
	}
	#photo_detail .ov_switch li+li::before {
		content: '／';
		position: absolute;
		right: 100%;
	}
	#photo_detail .ov_switch label {
		position: relative;
	}
	#photo_detail .ov_switch label::before {
		content: '';
		position: absolute;
		top: 100%;
		width: 100%;
		height: 3px;
		background: #f33;
		transition: .5s opacity;
	}

	#photo_detail .ov_input_on:checked~.ov_switch li:last-child label::before,
	#photo_detail .ov_input_off:checked~.ov_switch li:first-child label::before {
		opacity: 0;
	}

	#photo_detail .item_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 40px;
		text-align: left;
		font-weight: bold;
		font-size: 14px;
		line-height: 1.5;
	}
	#photo_detail .item_list li {
		width: 48%;
	}
	#photo_detail .item_list li:nth-child(n+3) {
		margin-top: 4%;
	}
	#photo_detail .item_list figure {
		margin-bottom: 5px;
	}
	#photo_detail .item_list a {
		display: block;
	}
	#photo_detail .item_list li p {
		padding-left: 1em;
		text-indent: -1em;
	}

	#photo_detail .btn_list {
		margin-top: 20px;
	}
	#photo_detail .btn_list li+li {
		margin-top: 10px;
	}
	#photo_detail .btn_list a {
		display: block;
		width: auto;
		margin: 0;
		padding: 0 1em;
		text-align: left;
	}
}