@charset "utf-8";
/***** 撮影の基礎知識　COMMON *****/

p {	margin: 0;}

article {
	max-width: 1000px;
	margin: 0 auto;
}

section {
	margin-bottom: 70px;
}


/***********************
汎用
***********************/
.mt40 { margin-top: 40px !important; }
.mt20 { margin-top: 20px !important; }

.tac { text-align: center; }
.smfont { font-size: 90% !important; }

.sankoulink a {
	color: rebeccapurple;
}
.sankouicon {
	border-radius: 12px 0 12px 0;
	padding: 2px 10px;
	background-color: rebeccapurple;
	color: #FFF;
	font-size: 13px;
	letter-spacing: 0.1em;
	margin-right: 8px;
}

/***********************
maintitle
***********************/
.maintitle {
	background-image: url("../images/bg-maintitle.png");
	background-position: center;
    background-repeat: no-repeat;
    margin: 0 auto 70px;
    width: 100%;
    min-height: 165px;
	text-align: center;
	padding-top: 28px;
}
.maintitle p {
	font-size: 2rem;
	margin: 0;
	color: #300C0C;
	letter-spacing: 0.1em;
}
.maintitle p::before {
	content: "";
    vertical-align: middle;
    display: inline-block;
    width: 70px;
    height: 55px;
    margin: 0 10px 5px -10px;
    background: url("../images/img-camera.png") no-repeat;
    background-size: contain;	
}
.maintitle h1 {
	font-size: 2rem;
	font-weight: normal;
	margin: 0;
	line-height: 1.2em;
	padding: 0.5em 1em;
	background-color: #fff;
	display: inline-block;
}
.maintitle h1 br {
	display: none;
}


h2 {
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0;
}
h2.exh2 {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4em;
	/*border-left: 18px solid #ffa41b;*/
	border-left: 18px solid #615138;
    padding: 0.3em 0.5em;
    margin: 0 0 0.5em;
	background-color: #f3ece8;
}
h2.exh2 span {
	display: inline-block;
}

.leadp {
	font-size: 1rem;
	margin: 0 0 1em 0;
}
.flagtxt {
 	font-size: 1rem;
	text-indent: -47px;
    padding-left: 47px;
	margin: 0 0 40px;
}
.flagtxt::before {
	content: "";
    vertical-align: baseline;
    display: inline-block;
    width: 44px;
    height: 44px;
    margin: 0;
    background: url("../images/icon_flag_moca.png") no-repeat;
    background-size: contain;
}

@media screen and (max-width: 840px) {
	.maintitle {
		padding-top: 20px;
	}
	.maintitle h1 br {
		display: block;
	}
	.maintitle h1 {
		font-size: 1.6rem;
		font-weight: bold;
	}
	.maintitle p {
		font-size: 1.5rem;
		letter-spacing: 0.05em;
	}
	h2.exh2 {
		font-size: 1.6rem;
	}
}

/*************************
関連リンク
**************************/
.contLink {
	position: relative;
    border: 1px solid #c2c2c3;
	background-color: #FFF;
	max-width: 1200px;
    margin: 70px auto 20px;
    padding: 1em;
}
.contLink::before {
	font-size: 0.9rem;
    position: absolute;
    top: -22px;
    left: -1px;
    height: 22px;
    padding: 0 1em;
    content: '関連リンク';
    color: #FFF;
    border-radius: 0 10px 0 0;
    background: #615138;
}

/*************************
バナーエリア
**************************/
.bggray {
    background-color: #E7E7E7;
    margin: 0 calc(50% - 50vw);
    width: 99vw;
    padding: 30px 0;
}

#sect_otherlink {
	margin: 0;
}
#sect_otherlink ul {
	/*
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	*/
	padding: 0 20px;
	text-align: center;
}
#sect_otherlink ul li {
	list-style: none;
	margin: 6px 7px 0;
}
#sect_otherlink ul li img {
	width: 100%;
	max-width: 360px;
}
#sect_otherlink ul li img.bnrforPc {
	max-width: 645px;
}

#sect_otherlink ul li img:hover {
    opacity: 0.6;
    transition: .3s;
}
#sect_otherlink ul li.forSp {
	display: none;
}

@media screen and (max-width: 719px) {
	#sect_otherlink ul li.forSp {
		display: block;
	}
	#sect_otherlink ul li.forPc {
		display: none;
	}
}


/*************************
ownedbnr
**************************/
#strOwnedbnr div {
	position: relative;
	z-index: 9;
}
#strOwnedbnr .modePc{
	max-width: 1000px;
	margin: 0 auto -100px;
}
#strOwnedbnr .modeSp {
	margin: 20px auto;
	text-align: center;
	cursor: pointer;
}
#strOwnedbnr img {
	border-right: 2px solid #dfd5d5;
	border-bottom: 2px solid #dfd5d5;
	border-radius: 36px;
}
#strOwnedbnr img:hover {
	transition: .3s;
	border-right: 2px solid #2f353d;
	border-bottom: 2px solid #2f353d;
}

/*************************
wordAllNavi
**************************/
#wordAllNavi {
	position: relative;
}
#wordAllNavi.modePc {
    margin: 70px auto;
    max-width: 1000px;
}
#wordAllNavi.modePc nav {
	max-width: 1000px;
	width: 100%;
	padding: 30px 5px;
}
#wordAllNavi.modePc ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
    padding: 0;
}
#wordAllNavi.modePc ul li {
	margin: 5px;
}


#wordAllNavi.modeSp {
	position: fixed;
    top: 0;
    right: 0;
    z-index: 999;
    opacity: 0.95;
}
#wordAllNavi.modeSp nav {
	width: 100vw;
	padding: 15px 5px;
}
#wordAllNavi.modeSp ul {
	display: block;
    width: 320px;
    margin: 0 auto;
	
}
#wordAllNavi.modeSp ul li {
	margin: 8px 0;
}
#wordAllNavi.modeSp ul li.litop {
	margin: 12px 0;
}
#wordAllNavi.modeSp ul li.litop a {
	background-color: #E0DA31;
	padding: 5px 20px;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
}
#wordAllNavi.modeSp ul li.litop a::before{
	display: none;
}

#wordAllNavi.modeSp.hide {
	display: none;
}
#closebtn {
    position: absolute;
    bottom: 2px;
    left: 15px;
    padding: 3px 0;
    transition: .3s;
    border: none;
    font-size: 1em;
	color: #000;
}

#wordAllNavi nav {
	background-color: #dfd5d5;
}
#wordAllNavi ul li.current a {
	padding: 5px 10px;
	background-color: #FFF;
	border: 1px solid #CFCECE;
	border-radius: 18px;	
}
#wordAllNavi ul li a {
	font-size: 12px;
	color: #000;
	padding: 5px 10px;
	background-color: #F5F7B0;
	border: 1px solid #8d8989;
	border-radius: 18px;
}
#wordAllNavi ul li a:hover {
	text-decoration: none;
	transition: .3s;
	opacity: 0.7;
}
#wordAllNavi ul li a::before {
	content: "";
    vertical-align: middle;
    display: inline-block;
    width: 30px;
    height: 20px;
    margin: 0 0 5px 0;
    background: url("../images/arrow01.png") no-repeat;
    background-size: contain;	
}



/*************************
撮り方参照ページリンク
**************************/
#referLink {
	margin: 140px auto 70px;
	display: flex;
	align-items: center;
	max-width: 1000px;
}
#referLink .blk_thema {
	padding: 0 15px;
}
#referLink .blk_thema .ttl {
	font-size: 1rem;
	color: #d63600;
	font-weight: bold;
}
#referLink .blk_thema ul {
	display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
#referLink .blk_thema ul li {
	margin: 3px 6px;
}
#referLink .blk_thema ul li a {
    border: 1px solid #d63600;
    font-size: 14px;
	padding: 3px;
}
#referLink .blk_thema ul li a:hover {
	text-decoration: none;
	transition: .3s;
	color: #d63600;
}
#referLink .blk_thema ul li span {
	background-color: #d63600;
	color: #FFF;
	font-weight: bold;
	padding: 0px 3px;
	margin-right: 5px;
}
#referLink .bnr img:hover {
	transition: .3s;
	opacity: 0.8;
}
@media screen and (max-width: 790px) {
	#referLink {
		flex-wrap: wrap;
	}
	#referLink .bnr img {
		width: 100%;
		max-width: 360px;
	}
	#referLink .blk_thema {
		padding: 0;
	}
}
@media screen and (max-width: 530px) {
	#referLink {
		justify-content: center;
	}
	#referLink .blk_thema {
        text-align: center;
	}
	#referLink .blk_thema ul {
		justify-content: center;
	}
}
@media screen and (max-width: 410px) {
	#referLink .blk_thema ul li a {
    	font-size: 12px;
	}
}


/* 20250909 */
/* アクセシビリティ対応用修正 */
.contLink2{
	line-height: 0;
}
.contLink2 > span{
    display: inline-block;
    height: 22px;
    padding: 0 1em;
	background: #615138;
    color: #FFF;
    border-radius: 0 10px 0 0;
    font-size: 0.875rem;
    line-height: normal;
}
.contLink2 > span + p{
	border: 1px solid #c2c2c3;
    padding: 1em;
    line-height: normal;
}
.contLink2 > span + p > a{
	display: inline-block;
	margin-top: 1em;
}