@charset "utf-8";

/* -----------------------------------------------------------
    MAIN VISUAL
-------------------------------------------------------------- */

#main_visual {
	background: url(../img/campaign2026_mv_img.png) , url(../img/campaign2026_bg_l.png) , url(../img/campaign2026_bg_r.png) , url(../img/campaign2026_bg_c.png);
	background-size: auto , auto , auto , cover;
	background-position: center center , left center , right center , center center;
	background-repeat: no-repeat;
	background-color: #FCFCF8;
    min-height: 710px;
	width: 100%;
	position: relative;
	margin: -35px 0 0;
	border-top: 1px #C4A10C solid;
	border-bottom: 1px #C4A10C solid;
}

@media screen and (max-width:768px){
    
    #main_visual {
        background: none;
		min-height: inherit;
		text-align: center;
		margin: 0 auto;
		border-top: none;
		border-bottom: none;
    }
	
	#main_visual img{
		height: auto;
		width: 100%;
		max-width: 480px;
	}
	
	.h1-area{
		display: none;
	}

}

/* overview-area */

#overview-area {
    /*background: url(../img/overview-bg.jpg) no-repeat left top / cover;*/
	background: url(../img/gold_bg3.png) repeat left top;
	padding: 50px 0;
}

#overview-area .in {
	background: #FCFCF8;
	padding: 50px 0;
	text-align: center;
}
#overview-area .txt {
	font-weight: bold;
	font-size: 2.6rem;
	line-height: 1.6;
	width: 1200px;
	margin: 0 auto;
}
#overview-area .txt .red {
	color: #F12019;
}
#overview-area .txt.bot {
	font-size: 3.6rem;
	color: #017DDF;
	color: #33643E;
	padding: 20px 0 0;
}
#overview-area .txt.bot span {
	font-size: 5rem;
	background:linear-gradient(transparent 70%, #ff6 50%);
}


@media screen and (max-width:768px){
	
	#overview-area {
		padding: 30px 0;
	}

	#overview-area .in {
		padding: 20px;
		text-align: left;
	}
	#overview-area .txt {
		font-size: 1.8rem;
		line-height: 1.6;
		width: auto;
	}
	#overview-area .txt.bot {
		font-size: 2rem;
		padding: 10px 0 0;
	}
	#overview-area .txt.bot span {
		font-size: 2.9rem;
	}
	
	
}


/* -----------------------------------------------------------
    ONLY ONE　HOMEPAGE
-------------------------------------------------------------- */

.onlyone_area {
	
}

.onlyone_area .title {
	font-size: 4.1rem;
	color: #1285CC;
	text-align: center;
	font-weight: 700;
    line-height: 1;
	position: relative;
}

.onlyone_area .title span {
	color: #244452;
    display: block;
    font-size: 3.2rem;
}

.onlyone_area .sub {
	padding: 0 0 30px 0;
	text-align: center;
}

.onlyone_area .q_logo{
	text-align: center;
}

.onlyone_area .q_logo img{
	width: 180px;
	height: auto;
    padding: 70px 0 0;
}

.onlyone_area .catch {
	font-size: 3.2rem;
    line-height: 1.4;
    font-weight: 700;
    color: #0C2C39;
    text-align: center;
    padding: 20px 0 40px;
	position: relative;
	background-size: 60%;
	min-height: 150px;
	vertical-align: middle;
}

.onlyone_area .catch::before{
    content: "PHOTOGRAPHER";
    font-size: 12rem;
    color: #F2F2F2;
    position: absolute;
    letter-spacing: 15px;
    margin: 0 auto;
    right: 0;
    left: 0;
}

.onlyone_area .catch span {
	position: absolute;
	top: 100px;
	left: 40%;
}

.onlyone_area .cameraman {
	display: flex;
	justify-content: center;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 694px;
	margin: 0 auto;
	padding: 0 0 50px;
}
.onlyone_area .cameraman p{
	padding: 0 0 40px;
}
.onlyone_area .lighter {
    display: flex;
    justify-content: center;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1030px;
    margin: 0 auto;
    padding: 0 0 110px;
}
.onlyone_area .catch2::before {
    content: "WRITER";
    font-size: 12rem;
    color: #F2F2F2;
    position: absolute;
    letter-spacing: 15px;
    margin: 0 auto;
    right: 0;
    left: 0;
}

@media screen and (max-width:768px){
	
	.onlyone_area {
		background: #FFF;
	}
	
	.onlyone_area .title {
		font-size: 2.3rem;
	}
	
    .onlyone_area .title span {
        font-size: 1.8rem;
        margin: 4px 0 0;
    }
    
	.onlyone_area .sub {
		padding: 20px 0 20px 0;
		text-align: center;
		max-width: 400px;
		margin: 0 auto;
	}
	.onlyone_area .txt {
		text-align: left;
		font-size: 1.5rem;
		line-height: 2.0;
		padding: 0;
	}
	
	.onlyone_area .border {
		height: 8px;
	}
	
	.onlyone_area .q_logo img{
		width: 120px;
    	padding: 30px 0 10px;
	}

    .onlyone_area .catch {
        font-size: 2.2rem;
        padding: 0 0 0;
		min-height: 100px;
		background-size: 90%;
    }
	
	.onlyone_area .catch span {
		top: 50px;
        left: 0;
        margin: 0 auto;
        right: 0;
	}
	
    .onlyone_area .catch .col {
        font-size: 2.4rem;
    }
	
    .onlyone_area .catch::before{
        font-size: 3.5rem;
        letter-spacing: 2px;
		top: 29px;
    }
    
	.onlyone_area .cameraman {
		display: block;
		width: auto;
		padding: 0 0 30px;
	}
	.onlyone_area .cameraman p{
		padding: 0 0 10px;
		text-align: center;
	}
	.onlyone_area .cameraman p img{
		width: 100%;
		max-width: 400px;
	}
	.onlyone_area .lighter {
		display: block;
		width: auto;
		padding: 0 0 30px;
	}
	.onlyone_area .lighter p {
		padding: 0 0 10px;
		text-align: center;
	}

}


/* -----------------------------------------------------------
    カメラマンの紹介
-------------------------------------------------------------- */
.profile-box {
	max-width: 1200px;
	margin: 40px auto 100px;
	border: 3px solid #e9e9e9;
	padding: 110px 80px 60px;
	position: relative;
	border-radius: 20px;
}
.intro-title {
    font-size: 3rem;
    font-weight: bold;
    display: inline-block;
    position: relative;
    padding: 0 30px;
	width: 700px;
	z-index: 1;
	margin-bottom: 70px;
}
.intro-title::before {
    content: "PHOTOGRAPHER";
    font-size: 7rem;
    color: #F2F2F2;
    position: absolute;
    letter-spacing: 10px;
	top: -45px;
	left: 0;
	z-index: -1;
	font-weight: 900;
	font-family: var(--basefont);
}
.writer-title {
    text-align: right;
}
.writer-title::before {
    content: "WRITER";
	top: -45px;
	right: 0;
}
.profile-title {
	font-size: 3rem;
	font-weight: 700;
	letter-spacing: .07em;
	color: #7095CF;

}
.case-title {
	background: #7095CF;
	color: #fff;
	width: 130px;
	border-radius: 50px;
	text-align: center;
	letter-spacing: .07em;
	margin-bottom: 10px;
	font-weight: 700;
}
.case-title2 {
	width: 170px;
}	
.txt-flex {
	display: flex;
	align-items: flex-end;
	justify-content: space-around;
}
.profile-illust {
	width: 100px;
}
.profile-illust img {
	width: 100%;
}
.profile-wrap {
	background-color: #EBF0F8;
	border-radius: 20px;
	padding: 30px;
	margin-bottom: 20px;
}
.case-box {
	display: flex;
	gap: 20px;
}
.sankou {
	font-size: 1.8rem;
	font-weight: 700;
	margin: 40px 0 20px;
	border-left: 5px solid #7095CF;
	line-height: 1.2;
	padding-left: 10px;
}
.case-img {
	width: calc((100% - 40px ) / 3);
}
.case-img img {
	width: 100%;
}	
.case-img:hover {
	opacity: 0.75;
}
.profile-image {
	width: 240px;
	position: absolute;
	top: -60px;
	left: -80px;
}
.profile-image2 img,
.profile-image img {	
	width: 100%;
}	
.profile-txt {
	margin-bottom: 22px;
	padding-bottom: 15px;
	border-bottom: 3px dotted #7095CF;
	font-weight: 500;
	font-size: 1.8rem;
}
.case-txt {
	font-weight: 500;
	font-size: 1.8rem;
}
.case-name {
	margin-top: 10px;
}
.c-yellow {
	background-color: #FAF0D8;
}
.ttl-yellow {
	color: #F79E24;
}
.case-yellow {
	background: #F79E24;
}
.txt-line {
	border-bottom: 3px dotted #F79E24;
}
.writer-box {
	display: flex;
	flex-wrap: wrap;
	gap: 50px 50px;
}
.writer-wrap {
	width: calc((100% - 50px) / 2);
	position: relative;
}
.writing-illust,
.writing-illust2{
	position: absolute;
	width: 90px;
	top: -30px;
	right: 50px;
}
.writing-illust img,
.writing-illust2 img {	
	width: 100%;
}	
@media screen and (max-width:768px){
	.profile-box {
		max-width: inherit;
		margin: 0 auto 40px;
		padding: 50px 20px 30px;
		position: relative;
	}
	.profile-image {
		width: 150px;
		position: absolute;
		top: -20px;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.intro-title {
		font-size: 2rem;
		padding: 0;
		margin-bottom: 30px;
	}
	.intro-title::before {
		font-size: 3.3rem;
		letter-spacing: 2px;
	}	
	.case-box {
		flex-direction: column;
	}
	.case-img {
		width: 100%;
	}	
	.writer-box {
		flex-direction: column;
		gap: 15px;
	}	
	.writer-wrap {
		width: auto;
	}	
	.profile-illust {
		position: absolute;
		width: 60px;
		top: 120px;
		right: 35px;
	}			
	.profile-wrap {
		padding:  30px 15px;
		border-radius: 20px;
		margin-bottom: 0;
	}	
	.profile-title {
		font-size: 2.5rem;
	}	
	.writer-title {
		text-align: left;
	}
	.writer-title::before {
		top: -30px;
		font-size: 5rem;
	}
	.writing-illust,
	.writing-illust2{
		position: absolute;
		width: 60px;
		top: 10px;
		right: 10px;
	}
	.profile-txt {
		font-size: 1.6rem;

	}	
	.case-txt {
		font-size: 1.6rem;
	}	
}


/* essentials-area */
#essentials-area{
	background-color:#FFF6F9;
	padding: 0 0 80px 0;
}

#essentials-area .catch{
	font-size: 3.2rem;
	line-height: 1.4;
	font-weight: 700;
	color: #0C2C39;
	text-align: center;
	padding: 20px 0 40px;
	background: url(../img/essentials-logo.png) no-repeat center;
	position: relative;
	background-size: 90%;
	min-height: 200px;
	vertical-align: middle;
}

#essentials-area .catch span {
	position: absolute;
	top: 100px;
	left: 50%;
	transform: translateX(-50%);
}

#essentials-area .present-contents-box {
	font-size: 22px;
	font-weight: bold;
	color: #E65D6D;
	background: #fff;
	border: 2px solid #E65D6D;
	text-align: center;
	padding: 5px 0 5px;
	width: 900px;
	margin: 0 auto;
}

#essentials-area .present-contents-txt{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	padding: 30px 0 40px;
}

#essentials-area .caution-box{
	background: #FFFFFF;
	margin: 0 auto;
	width: 800px;
	padding: 30px 50px;
}

#essentials-area .caution-box .caution-heading{
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	padding: 0 0 0 0;
}

#essentials-area .caution-box .caution-txt{
	font-size: 15px;
}

@media screen and (max-width:768px){
	
	#essentials-area{
		padding: 0 0 40px 0;
	}
	
	#essentials-area .catch{
		padding: 0px 0 50px;
		min-height: 110px;
	}
	
	#essentials-area .catch span {
		font-size: 2.2rem;
		position: absolute;
		top: 50px;
		width: 100%;
	}
	
	#essentials-area .present-contents-box {
		width: 100%;
		font-size: 2rem;
	}
	
	#essentials-area .present-contents-txt{
		font-size: 1.6rem;
		text-align: left;
		padding: 20px 0;
	}
	
	#essentials-area .caution-box{
		background: #FFF6F9;
		margin: 0 ;
		width: 100%;
		padding: 0;
	}
	
	#essentials-area .caution-box .caution-heading{
		text-align: left;
		padding: 20px 0 0;
	}
}


/*申込みタイトル*/
.app-title {
    font-size: 3rem;
    font-weight: bold;
    position: relative;
	text-align: center;
	margin: 30px 0 30px;
	width: 100%;
}
.app-title::before {
    content: "APPLICATION";
    font-size: 10rem;
    color: #F2F2F2;
    position: absolute;
    letter-spacing: 10px;
	top: -100px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	font-weight: 900;
	font-family: var(--basefont);
	display: block;
	width: 100%;
}


@media screen and (max-width:768px){
	
	/*申込みタイトル*/
	.app-title {
		font-size: 2.4rem;
		margin: 30px 0 30px;
	}
	.app-title::before {
		font-size: 4rem;
		top: -30px;
		letter-spacing: 8px;
	}
	
}
