@charset "utf-8";


/* ----------------------------------------------------------------------
	common
---------------------------------------------------------------------- */

/* heading */
.page-ttl {
	text-align: center;
	line-height: 1.2;
	padding: 40px 0;
}

.page-ttl__en {
	font-size: 3.4rem;
    letter-spacing: 0.1em;
}

.page-ttl__ja {
    font-size: 2.2rem;
    font-weight: normal;
}

.page-s-ttl {
    font-size: 1.8rem; 
    font-weight: normal;
	text-align: center;
	margin: 0 0 1em;
}

.page-s-ttl__ja {
    font-size: 2rem;
    font-weight: normal;
}

@media screen and (max-width: 990px) {
    .page-ttl {
        line-height: 1.3;
        padding: 30px 0;
    }

    .page-ttl__en {  font-size: 3.2rem; }

    .page-ttl__ja { font-size: 2rem; }

    .page-s-ttl__ja { font-size: 1.8rem; }
}


/* breadclumb */
.breadclumb {
	font-size: 1.4rem;
	text-align: center;
	max-width: 1100px;
	margin: 0 auto 4em;
}

@media screen and (max-width: 990px) {
	.breadclumb {
        font-size: 1.2rem;
        margin: 0 8vw 3em;
    }
}


/* con-box */
.con-box { padding: 0 0 120px; }

.con-box:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.con-box { display: inline-block; }
/* Hides from IE-mac \*/
* html .con-box { height: 1%; }
.con-box { display: block; }
/* End hide from IE-mac */

.con-box p { margin: 0 0 0.8em; }
.con-box p:last-child { margin: 0; }

@media screen and (max-width: 990px) {
	.under .con-box { padding: 0 8vw 80px; }
}


/* table */
.tbl {
	width: 100%;
	border-top: 1px dotted var(--color-border);
}

.tbl tr { border-bottom: 1px dotted var(--color-border); }

.tbl th,
.tbl td {
	padding: 20px 0;
	vertical-align: middle;
}

.tbl th {
	font-weight: normal;
	text-align: left;
	width: 28%;
}

@media screen and (max-width: 990px) {
	.tbl th,
	.tbl td {
		padding: 0;
		width: 100% !important;
		display: block;
	}
	
	.tbl th {
		padding: 20px 0 6px;
	}
	
	.tbl td { padding: 0 0 18px; }
}


/* wpcf7 */
.wpcf7-form {
	padding: 140px 0 0;
	margin: -140px 0 0;
}

.wpcf7-list-item { margin-left: 0!important; }

.wpcf7-validation-errors {
	color: #d6a000;
	font-weight: bold;
	text-align: center;
	padding: 10px 15px!important;
	border: 2px solid #d6a000!important;
}

.wpcf7-response-output {
	padding: 10px 15px!important;
	margin: 2em 0 1em !important;
}

.wpcf7-mail-sent-ok { border: 2px solid #d6a000!important; }

span.wpcf7-not-valid-tip {
	color: #c00!important;
	margin: 0.6em 0 0;
}

.wpcf7-not-valid-tip { margin: 0 0 1.6em; }


/* wp-block-image */
.wp-block-image { margin: 0 0 20px; }
.wp-block-image img {
	width: 100%;
    max-width: 100%;
	height: auto;
}


/* wp-pagenavi */
.wp-pagenavi {
	text-align: center;
	padding: 30px 0 160px;
}

.wp-pagenavi span,
.wp-pagenavi a {
	text-decoration: none!important;
	padding: 6px 12px;
	margin: 0 4px;
	border: 1px solid #000;
}

.wp-pagenavi .current {
	background: #000;
	color: #fff;
}


/* wp-pager */
.wp-pager {
	text-align: center;
	margin: 0 0 120px;
}


@media screen and (max-width: 990px) {
	.wp-block-image .alignleft,
	.wp-block-image .alignright {
		margin: 0 auto!important;
		float: none!important;
	}
    
    .wp-pagenavi,
    .wp-pager { margin: 0 0 80px; }
    
    .wp-pagenavi { padding: 0; }
}


/* form-box */
.form-box dl dt span {
	background: var(--color-red);
	color: #fff;
	font-size: 1.2rem;
	padding: 3px 6px;
	margin-left: 10px;
}

.form-box { padding: 0 0 120px; }

.form-box dl {
	padding: 20px 0;
	width: 100%;
	display: flex;
    align-items: center;
	border-bottom: 1px dotted var(--color-border);
}

.form-box dl:first-child { border-top: 1px dotted var(--color-border); }

.form-box dl dt { width: 260px; }

.form-box dl dd input[type="text"],
.form-box dl dd input[type="email"],
.form-box dl dd input[type="tel"],
.form-box dl dd textarea {
	padding: 10px;
	border: 1px solid #ddd;
}

.form-box dl dd label { margin-right: 10px; }
.form-box dl dd label input[type="checkbox"] { margin-right: 5px; }

.form-box dl dd input[type="text"],
.form-box dl dd input[type="email"],
.form-box dl dd input[type="tel"],
.form-box dl dd textarea {
	width: 100%;
	box-sizing: border-box;
}

.form-box dl dd textarea {
	width: 100%;
	height: 160px;
}

.form-box dl dd label { margin-right: 15px; }
.form-box dl dd label input[type="radio"] { margin-right: 5px; }

.mw_wp_form .form-box dl dd .error {
	color: #c00;
	margin-top: 0.6em;
	display: block;
}

.form-box .send-form {
	text-align: center;
	padding: 60px 0 0 70px;
}

.form-box .send-form input[type="submit"] {
	background: #000;
	color: #fff;
	line-height: 1;
	padding: 18px 60px;
	margin: 0 10px;
	border: none;
    border-radius: 100px;
    cursor: pointer;
    transition: 0.4s;
}

.form-box .send-form input[type="submit"].back { background: #999; }

.form-box .send-form input[type="submit"]:hover { opacity: 0.6; }


@media screen and (max-width: 990px) {
    .form-box { padding:  0 8vw 60px; }
    
	.form-box dl { display: block; }
	
	.form-box dl dt,
	.form-box dl dd { display: block; }
	
	.form-box dl dt {
		margin: 0 0 0.6em;
		width: auto;
	}

    .form-box .send-form { padding: 50px 0 0; }
    
	.form-box .send-form input[type="submit"] {
		width: 100%;
		margin: 0 0 1em;
	}
}


/* l-form__agree */
.l-form__agree {
    background: #fff;
    margin: 60px auto 0;
    padding: 40px 50px ;
    border: 1px dashed #000;
    border-radius: 10px;
}

.l-form__agree-title {
    font-size: 1.8rem;
    font-weight: 500; 
    text-align: center;
    margin: 0 0 0.4em;
}

.l-form__agree-txt { margin: 0 0 1em; }

.l-form__agree-check {
    text-align: center;
    margin: 1em 0 0;
}

.l-form__agree-check label {
    padding: 15px 30px;
    border: 1px solid #000;
    display: inline-block;
    transition: 0.7s;
    cursor: pointer;
}

.l-form__agree-check label:hover { background:  #f8f8f8; }

@media screen and (max-width: 990px) {
    .l-form__agree { padding: 16px 20px 20px ; }
}



/* not-found */
#not-found p.btn-link {
	margin: 0 auto 80px;
	width: 220px;
}

@media screen and (max-width: 990px) {
	#not-found p.btn-link {
		margin: 0 15px 40px;
		width: auto;
	}
}


/* ----------------------------------------------------------------------
	about
---------------------------------------------------------------------- */

/* greetings-box */
#about .greetings-box {
	background: #fff;
	padding: 60px;
	max-width: 1000px;
	margin: 0 auto 120px;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    /*align-items: center;*/
    border-radius: 20px;
}

#about .greetings-box .ph-box { width: 360px; }

#about .greetings-box .ph-box .name {
    text-align: right;
    margin: 20px 0 0;
}

#about .greetings-box .ph-box .romaji { text-align: right; }

#about .greetings-box .ph-box .name span { font-size: 2rem;}

#about .greetings-box .message { width: 480px; }

#about .greetings-box .message .catch {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.8;
}

#about .greetings-box .message p {
	font-size: 1.6rem;
	line-height: 1.8em;
	margin: 0 0 1em;
}

#about .greetings-box .message p:last-child { margin: 0; }

#about .greetings-box .message p span { display: block; }


@media screen and (max-width: 990px) {
    #about .greetings-box .ph-box .name {
        font-weight: 500;
        text-align: right;
        margin: 20px 0 0;
    }

    #about .greetings-box {
		padding: 8vw;
		margin: 0 0 80px;
        display: block;
	}
    
    #about .greetings-box .ph-box {
        margin: 0 0 30px;
        width: auto;
    }
	
    #about .greetings-box .ph-box .ph img { width: 100%; }
	
     #about .greetings-box .message { width: auto; }
    
    #about .greetings-box .message .catch {
        font-size: 1.8rem;
        line-height: 1.6;
    }
	
	#about .greetings-box .message { padding: 0; }
	
	#about .greetings-box .message p {
		font-size: 1.6rem;
		line-height: 1.7em;
        margin: 0 0 0.8em;
	}
	
	#about .greetings-box .message p span { display: inline; }
	
	#about .greetings-box .message p.name { text-align: right; }
}


/* outline-box */
#about .outline-box {
	max-width: 1000px;
	margin: 0 auto 120px;
}

#about .outline-box .column {
    display: flex;
    justify-content: space-between;
}

#about .outline-box  table.tbl { width: 640px;}
#about .outline-box  table.tbl th { width: 20%; }

@media screen and (max-width: 990px) {
	#about .outline-box { margin: 0 8vw 80px; }
    
    #about .outline-box .column { display: block; }
    
    #about .outline-box .ph {
        margin: 0 0 40px;
        display: flex;
    }
    
    #about .outline-box .ph img { width: 100%; }
    
    #about .outline-box  table.tbl { width: 100%;}
}


/* access-box */
#about .access-box #g-map iframe { vertical-align: middle; }

@media screen and (max-width: 990px) {
	#about .access-box #g-map iframe { height: 300px; }
}


/* ----------------------------------------------------------------------
	service
---------------------------------------------------------------------- */

/* service-box */
#service .service-box {
	max-width: 1100px;
	margin: 0 auto 80px;
}

#service .service-box .box {
	margin-left: 50px;
	width: 300px;
	float: left;
}

#service .service-box .box:first-child { margin-left: 0; }

#service .service-box p.ph {
	text-align: center;
	margin: 0 0 1em;
}

#service .service-box p.ttl {
	text-align: center;
	margin: 0 0 1em;
}

#service .service-box p.ttl .en { font-size: 2rem; }

#service .service-box p.txt { margin: 0 0 1.4em; }

@media screen and (max-width: 990px) {
	#service .service-box .box {
		padding: 0 0 40px;
		width: auto;
		float: none;
		opacity: 1;
	}
	
	#service .service-box .box:last-child { padding: 0; }
}


/* caution-box */
#service .caution-box {
	padding: 30px;
	margin: 0 auto 60px;
	max-width: 1000px;
	border: 3px solid var(--color-border);
	box-sizing: border-box;
}

#service .caution-box p.ttl {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	margin: 0 0 0.6em;
}

#service .caution-box .inner p { margin: 0 0 1em; }

#service .caution-box .inner p:last-child { margin: 0; }

@media screen and (max-width: 990px) {
	#service .caution-box {
		padding: 15px;
		margin: 0 15px 60px;
	}
	
	#service .caution-box h3 .br { display: block; }
}



/* lead-box */
#service .lead-box { padding: 0 0 60px; }

#service .lead-box .ph {
	text-align: center;
	margin: 0 auto 50px;
	max-width: 1000px;
}

#service .lead-box .ph ul li img { width: 100%; }

#service .lead-box .txt { margin: 0 50px; }

#service .lead-box .txt p {
	line-height: 1.8;
	text-align: center;
	margin: 0 0 1em;
}

#service .lead-box .txt p span { display: block; }


@media screen and (max-width: 990px) {
	#service .lead-box { padding: 0 8vw 40px; }
	
	#service .lead-box .ph { margin: 0 0 20px; }
	
	#service .lead-box .txt { margin: 0; }
	
	#service .lead-box .txt p {
		font-size: 16px;
		font-size: 1.6rem;
		text-align: left;
	}
	
	#service .lead-box .txt p span { display: inline; }
}


/* flow */
#service #flow {
	margin: 0 auto 120px;
	max-width: 1000px;
}

#service #flow .box {
	padding: 18px 0;
	width: 100%;
	display: table;
	border-bottom: 1px dotted var(--color-border);
}

#service #flow .box:first-child { border-top: 1px dotted var(--color-border); }

#service #flow .box p,
#service #flow .box dl {
	vertical-align: middle;
	display: table-cell;
}

#service #flow .box p {
	font-size: 2.2rem;
    font-weight: 500;
	width: 160px;
}

#service #flow .box dl dt {
	font-size: 1.8rem;
    font-weight: 500;
	margin: 0 0 0.4em;
}

@media screen and (max-width: 990px) {
	#service #flow { margin: 0 8vw 80px; }
	
	#service #flow .box p,
	#service #flow .box dl { display: block; }
	
	#service #flow .box p {
		font-size: 2rem;
		text-align: center;
		width: auto;
	}
	
	#service #flow .box dl dt {
		font-size: 1.6rem;
		text-align: center;
	}
}


/* price */
#service #price {
	margin: 0 auto 120px;
	max-width: 1000px;
}

#service #price .tax {
    font-size: 1.4rem;
    text-align: right;
    margin: 0 0 0.6em;
}

@media screen and (max-width: 990px) {
    #service #price { margin: 0 8vw 80px; }
}


/* price web */
#web #service #price .inner {
    margin: 0 0 2em;
    display: flex;
    justify-content: space-between;
}

#web #service #price table.tbl { width: 480px; }

#web #service #price table.tbl:first-child { margin-left: 0; }

#web #service #price table.tbl th,
#web #service #price table.tbl td { vertical-align: middle; }

#web #service #price table.tbl th { width: 55%; }

#web #service #price table.tbl th span { display: block; }

#web #service #price table.tbl td { text-align: right; }

@media screen and (max-width: 990px) {
    #web #service #price .inner {
        margin: 0 0 1.4em;
        display: block;
    }
    
    #web #service #price table.tbl { width: 100%; }
	
	#web #service #price table.tbl:first-child tr:last-child { border: none; }
	
	#web #service #price table.tbl th span { display: block; }
	
	#web #service #price table.tbl td { text-align: left; }
	
	#web #service #price table.tbl th { text-align: left; }
}


/* price graphic */
#graphic #service #price .inner {
    margin: 0 0 2em;
    display: flex;
    justify-content: space-between;
}

#graphic #service #price table.tbl { width: 480px; }

#graphic #service #price table.tbl:first-child { margin-left: 0; }

#graphic #service #price table.tbl th,
#graphic #service #price table.tbl td { vertical-align: middle; }

#graphic #service #price table.tbl th { width: 30%; }

#graphic #service #price table.tbl th span { display: block; }

#graphic #service #price table.tbl td { text-align: right; }

#graphic #service #price ul.txt { text-align: center; }

@media screen and (max-width: 990px) {
	#graphic #service #price .inner {
        margin: 0 0 1.4em;
        display: block;
    }
    
	#graphic #service #price table.tbl { width: 100%; }
	
	#graphic #service #price table.tbl:first-child tr:last-child { border: none; }
	
	#graphic #service #price table.tbl th span { display: block; }
	
	#graphic #service #price table.tbl td { text-align: left; }
	
	#graphic #service #price ul.txt { text-align: left; }
	
	#graphic #service #price ul.txt li {
		text-indent: -1em;
		margin: 0 0 0.4em 1em;
	}
}


/* price photography */
#photo #service #price .txt {
	width: 400px;
	float: left;
}

#photo #service #price .txt p { margin: 0 0 1em; }

#photo #service #price .ph {
	width: 570px;
	float: right;
}

#photo #service #price .ph dl {
	width: 285px;
	float: left;
}

#photo #service #price .ph dl dd { text-align: center; }

#photo #service #price .ph .inner { margin: 0 0 1.2em; }

#photo #service #price .ph dl dt { margin: 0 0 15px; }

#photo #service #price .ph dl dt img { width: 100%; }

#photo #service #price .ph p {
	text-align: center;
}

#photo #service #price .ph p span {
	padding: 0 0 2px;
	border-bottom: 1px solid var(--color-border);
}

@media screen and (max-width: 990px) {	
    #photo #service #price .txt {
		width: auto;
		float: none;
	}
	
	#photo #service #price .ph {
		width: auto;
		float: none;
	}
	
	#photo #service #price .ph dl {
		padding: 0 0 20px;
		width: auto;
		float: none;
		box-sizing: border-box;
	}
	
	#photo #service #price .ph dl:last-child { padding: 0; }
}


/* l-web-point */
.l-web-point {
    margin: 0 auto 120px;
    max-width: 1000px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px 0;
}

.l-web-point__box {
    position: relative;
    background: var(--color-white);
    padding: 24px 30px 30px;
    width: 480px;
    border: 1px dashed var(--color-border);
    border-radius: 10px;
}

.l-web-point__num {
    position: absolute;
    top: -30px;
    left: 20px;
    font-size: 3.6rem;
    font-weight: 500;
}

.l-web-point__ttl {
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    margin: 0 0 0.4em;
}

.l-web-point__txt { margin: 0 0 0.6em; }

.l-web-point__link { text-align: center; }

@media screen and (max-width: 990px) {
    .l-web-point {
        margin: 0 8vw 80px;
        display: block;
    }
    
    .l-web-point__box {
        padding: 24px 20px 20px;
        margin: 0 0 40px;
        width: auto;
    }
}


/* equipment */
#service #equipment {
	text-align: center;
	margin: 0 auto 160px;
	max-width: 1000px;
}

#service #equipment .inner {
    margin: 0 0 20px;
    display: flex;
    justify-content: space-between;
}

#service #equipment .inner dl {
    background:  var(--color-white);
    padding: 20px;
    width: 310px;
    border: 1px dashed var(--color-border);
    border-radius: 10px;
}

#service #equipment .inner dl dt { font-weight: 500; }

@media screen and (max-width: 990px) {
	#service #equipment { margin: 0 8vw 80px; }
    
    #service #equipment .inner { display: block; }
    
    #service #equipment .inner dl {
        margin: 0 0 20px;
        width: 100%;
    }
    
    #service #equipment .inner dl:last-child { margin: 0; }
    
    #service #equipment .txt { text-align: left; }
}


/* l-service-works */
.l-service-works {
    margin: 0 auto 140px;
    max-width: 1000px;
}

.l-service-works-list { margin: 0 0 40px!important; }

.l-service-works-list li { width: calc((100% - 40px) / 2)!important; }

.l-service-works-btn { text-align: center; }

@media screen and (max-width: 990px) {
    .l-service-works { margin: 0 0 80px; }
    
    .l-service-works-list { margin: 0 8vw 40px!important; }
    
    .l-service-works-list li { width: 100%!important; }
    
    .l-service-works-btn { margin: 0 8vw; }
}


/* ----------------------------------------------------------------------
	branding
---------------------------------------------------------------------- */

/* l-branding-point */
.l-branding-point {
	margin: 0 auto 120px;
	max-width: 800px;
}

.l-branding-point-block {
	background: #fff;
	padding: 30px;
	margin: 0 0 40px;
	border: 1px dashed #000;
	border-radius: 10px;
}

.l-branding-point-ttl {
	font-size: 1.8rem;
	font-weight: 500;
	text-align: center;
	margin: 0 0 0.4em;
}

@media screen and (max-width: 990px) {
	.l-branding-point { margin: 0 8vw 80px; }
	
	.l-branding-point-block {
		padding: 20px;
		margin: 0 0 30px;
	}
}


/* l-branding-service */
.l-branding-service {
	margin: 0 auto 120px;
	max-width: 800px;
}

.l-branding-service-block {
	padding: 20px 0;
	border-bottom: 1px dotted #000;
}
.l-branding-service-block:first-child { border-top: 1px solid #ddd; }

.l-branding-service-block dl {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.l-branding-service-block dl dt { width: 240px; }

.l-branding-service-block dl dd { width: 540px; }

@media screen and (max-width: 990px) {
	.l-branding-service { margin: 0 8vw 80px; }
	
	.l-branding-service-block dl { display: block; }
	
	.l-branding-service-block dl dt {
		margin: 0 0 0.4em;
		width: auto;
	}

	.l-branding-service-block dl dd { width: auto; }
}


/* l-branding-flow */
.l-branding-flow {
	margin: 0 auto 140px;
	max-width: 800px;
}

.l-branding-flow-box {
	padding: 20px 0;
	border-bottom: 1px dotted #000;
	display: flex;
}
.l-branding-flow-block:last-child { margin: 0; }

.l-branding-flow-block:first-child { border-top: 1px dotted #000; }

/*.l-branding-flow-box { width: 460px; }*/

.l-branding-flow-ttl {
	margin: 0 0 0.4em;
	width: 240px;
	display: flex;
	align-items: center;
	gap: 0 10px;
}

.l-branding-flow-ttl__en {
	font-size: 2rem;
	padding-top: 4px;
}

.l-branding-flow-ttl__ja { font-size: 2.4rem; }

.l-branding-flow-txt { width: 540px; }

@media screen and (max-width: 990px) {
	.l-branding-flow { margin: 0 8vw 100px; }
	
	.l-branding-flow-box { display: block; }

	.l-branding-flow-ttl { width: auto; }
	
	.l-branding-flow-ttl__en { font-size: 1.6rem; }
	
	.l-branding-flow-ttl__ja { font-size: 2rem; }
	
	.l-branding-flow-txt { width: auto; }
}


/* ----------------------------------------------------------------------
	contents-support
---------------------------------------------------------------------- */

.l-contents-support {
	margin: 0 auto 120px;
	max-width: 800px;
}

.l-contents-support-block {
	padding: 20px 0;
	border-bottom: 1px dotted #000;
}
.l-contents-support-block:first-child { border-top: 1px solid #ddd; }

.l-contents-support-block {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.l-contents-support-ttl {
	font-size: 1.8rem;
	width: 180px;
}

.l-contents-support-txt { width: 620px; }

@media screen and (max-width: 990px) {
	.l-contents-support { margin: 0 8vw 80px; }
	
	.l-contents-support-block { display: block; }
	
	.l-contents-support-ttl  {
		margin: 0 0 0.4em;
		width: auto;
	}

	.l-contents-support-txt { width: auto; }
}


/* ----------------------------------------------------------------------
	faq
---------------------------------------------------------------------- */

#faq .faq-box { margin: 0 0 120px; }

#faq .box { border-bottom: 1px dotted var(--color-border); }

#faq .box:first-child { border-top: 1px dotted var(--color-border); }

#faq .box dl {
    padding: 0 0 16px;
    display: none;
}

#faq .box dl.faq-q {
    position: relative;
    padding: 16px 30px 16px 0;
	display: block;
    cursor: pointer;
}

#faq .box dl.faq-q .plus {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

#faq .box dl.faq-q:hover dd { color: var(--color-gray); }

#faq .box dl dt {
	font-size: 2.2rem;
	text-align: center;
	width: 1em;
    line-height: 1;
}

#faq .box dl dd {
    margin: -1.4em 0 0 2em;
    transition: 0.4s;
}

#faq .box dl dd ul li {
	text-indent: -1em;
	margin: 0.2em 0 0 1em;
}

@media screen and (max-width: 990px) {    
    #faq .faq-box { margin: 0 8vw 80px; }
}


/* ----------------------------------------------------------------------
	words
---------------------------------------------------------------------- */

.l-words-list { margin: 0 0 120px; }

.l-words-list li { margin: 0 0 1em; }

.l-words { margin: 0 0 120px; }

.l-words .con-box { padding: 0 0 60px; }

.l-words .con-box ul.list { margin: 0 0 1em; }
.l-words .con-box ul.list:last-child { margin: 0; }

.l-words .con-box ul.list li {
	text-indent: -1em;
	margin-left: 1em;
    margin-bottom: 0.4em;
}

.l-words .con-box ul.list li:last-child { margin-bottom: 0; }

@media screen and (max-width: 990px) {
    .l-words-list { margin: 0 8vw 80px; }
    
    .l-words { margin: 0 0 80px; }
    
    .l-words .btn-default { margin: 0 8vw; }
}


/* ----------------------------------------------------------------------
	works
---------------------------------------------------------------------- */

/* page-nav */
.l-works-page-nav {
    margin: 0 0 3em;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0 40px;
}

.l-works-page-nav li { text-align: center; }

.l-works-page-nav li a {
    font-size: 2rem;
	text-decoration: none;
    padding: 5px 0;
    display: inline-block;
}

.l-works-page-nav li.current-cat a {
    text-decoration: line-through;
	color: var(--color-font);
}


@media screen and (max-width: 990px) {
    .l-works-page-nav {
        margin: 0 8vw 2em;
        gap: 0 25px;
    }
    
    .l-works-page-nav li a { font-size: 1.7rem; }
}


/* l-works-detail */
.l-works-detail { margin: 0 0 160px; }

.l-works-detail-cat {
    color: var(--color-gray);
    font-size: 1.4rem;
    font-weight: 500;
	display: flex;
    justify-content: center;
    gap: 0 0.5em;
}

.l-works-detail-url {
	text-align: center;
	margin: 0 0 2em;
}

.l-works-detail-url a { text-decoration: none; }

.l-works-detail-ph {
	text-align: center;
	margin: 0 auto 80px;
}

.l-works-detail-outline { margin: 0 0 80px; }

.l-works-detail-outline p {
    line-height: 1.8;
    margin: 0 0 1em;
}

.l-works-detail-outline p:last-child { margin: 0; }

.l-works-detail-outline__ttl {
    font-size: 1.8rem;
    font-weight: 500;
}

.l-works-detail-info table.tbl th { width: 20%; }

.l-works-detail-ph-other { text-align: center; }

.l-works-detail-ph-other { margin: 0 0 60px; }
.l-works-detail-ph-other p { margin: 0 0 60px; }

.l-works-detail-ph-shadow img,
.l-works-detail-ph-other p img {
    border-radius: 10px;
    box-shadow: 3px 3px 6px rgba(0,0,0,0.08);
}

.l-works-detail-ph-other p:last-child { margin: 0; }

.l-works-detail-info { margin: 0 auto 80px; }

.l-works-detail-btn { text-align: center; }

@media screen and (max-width: 990px) {
    .l-works-detail { margin: 0 8vw 80px; }

    .l-works-detail-ph { margin: 0 auto 40px; }

    .l-works-detail-outline { margin: 0 0 30px; }

    .l-works-detail-ph-other p { margin: 0 0 20px; }

    .l-works-detail-info { margin: 0 auto 60px; }

    .l-works-detail-btn { text-align: center; }
}

.l-works-ph,
.l-works-mockup img,
.l-works-column1 img,
.l-works-column2 img,
.l-works-column3 img {
    border-radius: 10px;
    box-shadow: 3px 3px 6px rgba(0,0,0,0.08);
}


/* l-works-ph */
.l-works-ph { margin: 0 0 60px; }

/* l-works-mockup */
.l-works-mockup {
    margin: 0 0 60px;
    display: flex;
    justify-content: space-between;
}

.l-works-mockup p { margin: 0; }

.l-works-mockup__pc { width: 70%; }

.l-works-mockup__sp { width: 25.301%; }

@media screen and (max-width: 990px) {
    .l-works-ph,
    .l-works-mockup { margin: 0 0 40px; }
}


/* l-works-txt */
.l-works-txt {
    margin: 0 0 60px;
    display: flex;
    justify-content: space-between;
}

.l-works-txt__ttl {
    font-weight: 500;
    text-align: center;
    margin: 0 0 0.6em!important;
    width: 300px;
}

.l-works-txt__body {
    line-height: 1.8;
    width: 700px;
}

@media screen and (max-width: 990px) {
    .l-works-txt {
        margin: 0 0 40px;
        display: block;
    }
    
    .l-works-txt__ttl,
    .l-works-txt__body { width: 100%; }
}


/* l-works-column */
.l-works-column1,
.l-works-column1 p { margin: 0 0 60px; }
.l-works-column1 p:last-child { margin: 0; }

.l-works-column2,
.l-works-column3 {
    margin: 0 0 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 50px 0;
}

.l-works-column2 li { width: 47.5%; }

.l-works-column3 li { width: 30%; }

@media screen and (max-width: 990px) {
    .l-works-column1,
    .l-works-column1 p { margin: 0 0 40px; }
    
    .l-works-column2,
    .l-works-column3 {
        margin: 0 0 40px;
        gap: 30px 0;
    }
    
    .l-works-column2 li { width: 100%; }
    
    .l-works-column3 li { width: 31%; }
}


/* ----------------------------------------------------------------------
	contact
---------------------------------------------------------------------- */

/* contact-box */
#contact .contact-box { margin: 0 0 40px; }

#contact .contact-box p { margin: 0 0 1em; }
#contact .contact-box p:last-child { margin: 0; }

#contact .contact-box ul li {
	font-size: 1.4rem;
	text-indent: -1em;
	margin: 0 0 0.4em 1em;
}

@media screen and (max-width: 990px) {
	#contact .contact-box { margin: 0 8vw 40px; }
}


/* ----------------------------------------------------------------------
	privacy
---------------------------------------------------------------------- */

/* contact-box */
#privacy .l-content { padding: 0 0 120px; }

#privacy .privacy-box h3 {
    font-size: 2rem;
    text-align: left;
}

#privacy .con-box { padding-bottom: 60px; }

#privacy .con-box ul li {
	text-indent: -1em;
	margin: 0 0 0.6em 1em;
}

@media screen and (max-width: 990px) {
	#privacy  .l-content { padding: 0 0 80px; }
}


/* ----------------------------------------------------------------------
	blog
---------------------------------------------------------------------- */

/* l-blog  */
.l-blog {
	margin: 0 auto;
	width: 1000px;
	display: flex;
	justify-content: space-between;
}

.l-blog__content {
    padding: 0 0 60px;
    width: 700px;
}

.l-blog__article-header {
	padding: 0 0 0.6em;
	margin: 0 0 1.4em;
	border-bottom: 1px dotted var(--color-border);
}

.l-blog__article-date {
	font-weight: 500;
	margin: 0 0 0.2em;
}

.l-blog__article-ttl,
.l-blog__article-ttl a {
	font-size: 1.8rem;
    font-weight: 500;
	text-decoration: none;
}

.l-blog__article-body { margin: 0 0 80px; }
.l-blog__article-body p { margin: 0 0 1em; }
.l-blog__article-body p:last-child { margin: 0; }

.l-blog__sidebar {
    padding: 0 0 60px;
    width: 260px;
}

.l-blog__sidebar-section { margin: 0 0 60px; }

.under .l-blog__sidebar-ttl {
	font-size: 2.2rem;
    text-align: left;
	font-weight: normal;
	margin: 0 0 0.2em;
}

.l-blog__sidebar-list li { margin: 0 0 0.8em; }
.l-blog__sidebar-list li:last-child { margin: 0; }

@media screen and (max-width: 990px) {
	.l-blog {
		margin: 0 8vw;
		width: auto;
		display: block;
	}

	.l-blog__content { width: auto; }

	.l-blog__article-ttl,
	.l-blog__article-ttl a {
		font-size: 16px;
		font-size: 1.6rem;
	}

	.l-blog__article-body { margin: 0 0 60px; }
	
	.l-blog__sidebar { width: auto; }
    
    .l-blog__sidebar-section { margin: 0 0 40px; }
}
