@charset "utf-8";


.page_pic{
    max-width: 1920px;
    height: 450px;
}

.sp {
	display:none;
}

/*=================代表より皆様へ======================*/
.portrait {
    padding-top: 290px;
    padding-right: 80px;
    position: relative;
    z-index: 1;
}

.portrait img {
    width: 278px;
    height: 373px;
    object-fit: cover; 
}

.portrait::after {
    position: absolute;
    top: 330px;
    right: 40px;
    content: "";
    width: 278px;
    height: 373px;
    background-color: #804619;
    z-index: -1;
}


.message {
    display: flex;
    padding: 0 0 0 50px;
    position: relative;
}

.message::after{
    content: "";
    position: absolute;
    top: 160px;
    left: -320px;
    width: 1920px;
    height: 1150px;
    background-image: url(../img/bg_company.jpg);
    z-index: -1;
}

.msg_item {
    padding-top: 120px;
}

.pg_title {
    font-size: 50px;
    color: #804619;
}

.pg_subtitle {
    font-size: 24px;
    position: relative;
    color: #804619;
    text-indent: 24px;
    padding-top: 40px;
    font-weight: bold;
    margin-bottom: 20px;
}

.pg_subtitle::after {
    content: "";
    position: absolute;
    top: 53px;
    left: 5px;
    background-color:#804619;
    width: 10px;
    height: 10px;
    transform: rotate(45deg);
}

.msg_text {
    font-size: 1rem;
    line-height: 2rem;
    padding: 0 0 90px 25px;
}

.company_visit {
    margin-left: 25px;
    margin-top: -40px;
    padding: 10px 15px;
    border: 1px solid #804619;
}
.cv_header {
    margin-bottom: 10px;
    color: #804619;
    font-weight: bold;
}
.txt_s {
    font-size: 14px;
}

/*=================会社概要の表======================*/

.company {
    padding-top: 110px;
}

.table_title {
    text-align: center;
    font-size:24px;
    color: #814619;
    position: relative;
    font-weight: 500;
    padding-bottom: 15px;
}

.table_title::before {
    content: "";
    width: 1080px;
    height: 1px;
    background-color: #2B1B0B;
    position: absolute;
    bottom: 0;
    left: 100px;
}

.table {
    margin: 0 auto 150px;
    font-size: 16px;
    font-weight: normal;
    color: #1f1f1f;
}

.company_td01 {
    background-color: #FFF;
    padding: 22px 15px 20px 55px;
    width: 264px;
    border-bottom: 1px solid #aa0000;
    box-sizing: border-box;
    text-align: left;
    vertical-align: top;
}

.company_td02 {
    background-color: #FFF;
    padding: 22px  0 20px 125px;
    border-bottom: 1px dotted #C09933;
    width: 817px;
    box-sizing: border-box;
    text-align: left;
}

.company_td02 a{
    color: #2692FF;
}

.company_td02 a:hover{
    border-bottom:1px solid #2692FF;
}

/*========================================
お問い合わせ
========================================*/
.required{
	display:inline-block;
	background:#E80000;
	padding:0.2em 0.8em;
	margin-left:10px;
	line-height:1;
	color: #FFF;
	font-size: 80%;
}

.form_ul {
	color: #1f1f1f;
	padding: 100px 50px 0;
}

.form_ul li a {
    color: #2692FF;
}

.form_ul li a:hover {
    border-bottom: 1px solid #2692FF;
}

.cnt-message {
	margin:0 20px 15px 0;
	padding-left:25px;
}
.cnt-message li {
	list-style-type:square;
}

.form {
    padding: 50px;
	color: #1f1f1f;
}

.formT{
	padding: 10px;
	margin-bottom:1px;
	vertical-align:middle;
    font-size: 18px;
    position: relative;
	z-index: -1;
}

.formT::before {
    content: "";
    position: absolute;
    top: 20px;
    left: 0;
    width: 10px;
    height: 10px;
    background-color: #e6b422;
}

.formP{
	padding: 10px;
	margin-bottom:20px;
}

.formP a {
    color: #2692FF;
}

.formP a:hover{
    border-bottom: 1px solid #2692FF;
}

input.short{width:5em;}

.mw_wp_form_input textarea {
    width: 100%;
    box-sizing: border-box;
}

.mw_wp_form_input input[type="email"],
.mw_wp_form_input input[type="text"] {
	box-sizing: border-box;
}

.mw_wp_form_input input, .mw_wp_form_input textarea, .mw_wp_form_input select {
    padding: 0.5em;
	margin-top:5px;
}
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    border: 3px solid #82654e;
    outline: 0;
}
.mwform-checkbox-field label, .mwform-radio-field label {
    cursor: pointer;
}
/*プライバシーポリシー*/
.privacy{
	padding: 50px 0;
	background-color: #f8f8ff;
}

.policy_ttl {
	font-size: 2rem;
	color: #e6b422;
}

.ttl_p {
	font-size: 1.3rem;
	padding: 10px 0;
}

.privacyul {
	padding: 20px;
	line-height: 2rem;
}


.li01 li {
	list-style-type:japanese-informal;
}

/* 送信ボタン */
.btn_form {
	text-align:center;
}
.btn_form input[type="submit"]{
	color: #fff;
	border:none;
	-webkit-appearance: none;
	border-radius: 4px;     /* 基本形 */
	padding: 8px 30px;
	cursor: pointer;
	font-size:100%;
	font-family: 'Hiragino Mincho ProN',serif;
	/* 必要に応じてフォントファミリーも指定しておく */
}
.btn_form .btn_form--submit{
	background:#2B1B0B;
	color: #fff;
}
.btn_form .btn_form--submit:hover {
	opacity:0.7;
	transition: all 0.4s;
}
/* 戻るボタン */
.btn_form .btn_form--back{
	background: #999;
	font-family: 'Hiragino Mincho ProN',serif;
}
.btn_form .btn_form--back:hover {
	background: #999;
	opacity:0.7;
	transition: all 0.4s;
}
/* 確認画面で注釈を非表示にする */
.mw_wp_form_confirm .hidden{
	display:none;
}
/* エラー */
.mw_wp_form .error {
	display: block;
	background:#FFDDDD;
    color: #D90000 !important;
	font-weight:bold;
	font-size: 93%;
	padding:0 8px;
	margin-top:8px;
}
.mw_wp_form .error:before{
	content:"⇒";
}

    /* 送信完了画面 */
.contact-complete{
    padding:150px;
    text-align:center;
    height: 80vh;
}
.form_p{
    margin-bottom:1em;
    font-size: 1rem;
    line-height: 2.5rem;
    }
.form_thx {
    margin-bottom:1em;
    font-size: 1.7rem;
    font-weight: bold;
    color: #814619;
}
.contact-complete .btn{
    max-width:320px;
    margin:150px auto 0;
}
.contact-complete .btn a{
    display: block;
    background: #2B1B0B;
    padding: 10px 0;
    border-radius: 4px;
}
.contact-complete .btn a:link{
    color: #fff;
    text-decoration: none;
}

.contact-complete .btn a:visited {
    color: #fff;
}
.contact-complete .btn a:hover{
    opacity: .7;
    }



/*========================================
京ブログ
========================================*/
.blog {
	display: flex;
	justify-content: space-between;
    padding: 100px 0 50px;
}

.sidebar {
	width: 250px;
    margin-left: 25px;
}

    .blog_cat {
        border-bottom: 1px solid #aa0000;
        border-left: 7px solid #aa0000;
        padding-left:5px;
        margin-top: 82px;
        color: #2B1B0B;
        font-size: 1.1rem;
    }

    
    .category_li li{
        padding: 15px 0 15px 5px;
        box-sizing: border-box;
        position: relative;
		z-index:1;
    	border-bottom: 1px dashed #C09933;
	}

	ul.category_li02 li {	
        padding: 15px 0 15px 5px;
        box-sizing: border-box;
        position: relative;
		z-index:1;
		border:none;
	}
	
    .category_li li a,
	.category_li02 li a {
        display: block;
        color: #2B1B0B;
        font-size: 1rem;
    }
	
    ul.category_li02 li::after {
        content: "";
        width: 100%;
        height: 3px;
        position: absolute;
        border-bottom: 1px dashed #C09933;
        top: 45px;
        left: 0;
    }

    li.cat-item.cat-item-1.current-cat {
        padding-bottom: 0;
    }
    
    ul.children {
        padding-top: 15px;
    }
    
    .category_li li a:hover {
        opacity: .8;
        cursor: pointer;
    }

    .children a{
        padding-left: 20px;
    }
    
    .blog_article {
        width: 900px;
    }
	
	.blog_article p {
		clear:both;
		font-size: 16px;
        line-height: 1.7rem;
        color: #2B1B0B;
	}

	.blog_article p+p {
		margin:5px;
	}

    .blog_ttl {
        border-bottom: 3px solid #aa0000;
        padding: 10px 0 0 5px;
        color: #2B1B0B;
        font-size: 30px;
        margin-top: 50px;
    }
	
	.blog_ttl a{
		color:#2b1b0b;
	}
	
	.blog_ttl a:hover {
		opacity:.8;
	}
    
    .day {
        text-align: right;
        padding: 15px 5px;
    }
    
	.category-name{
		text-align:left;
		padding:15px 5px;
	}
	
	.category {
		display:flex;
		justify-content:space-between;
		padding-bottom:50px;
	}
    .btn_return{
        text-align: right;
        padding: 15px 5px 100px;
    }
	
	.more-link {
		width: 100px;
    	height: auto;
    	text-align: center;
    	margin: 70px 0;
		border-bottom: 1px solid transparent;
        transition: all .5s;
		color:#a9a9a9;
	}

    .btn_return a{
        color: #2B1B0B;
        border-bottom: 1px solid transparent;
        transition: all .5s;
    }

    .btn_return a:hover,
	.more-link:hover {
        border-bottom: 1px solid #2B1B0B;
    }
    .btn_instagram {
        background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
        border-radius: 25px;
        color: #fff;
    	display: inline-block;
    	font-weight: 400;
    	text-decoration: none;
    	transition: all .2s linear;
    	width: 200px;
    	margin: 15px 20px 15px;
    }
    
    @media screen and(max-width:980px){
        .btn_instagram {
            background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
            border-radius: 25px;
            color: #fff;
            display: inline-block;
            font-weight: 400;
            text-decoration: none;
            transition: all .2s linear;
            width: 10.42vw;
            margin: 0.78vw 1.04vw 0.78vw;
        }
    }


    .btn_instagram a ,
    .btn_facebook a{
        color: #fff;
        font-family: Arial, Helvetica, sans-serif;
        display: block;
		text-align:center;
		padding: 10px 50px;
    }

	.fa-brands {
	font-size: 20px;
    padding-right: 5px;
    vertical-align: bottom;
	}
    .btn_instagram:hover,
    .btn_facebook:hover {
        box-shadow: 0 5px 25px rgba(0,0,0,.30);
    }

    .btn_facebook {
        background: #3b5998;
        border-radius: 25px;
        color: #fff;
        display: inline-block;
        font-weight: 400;
        text-align: center;
        text-decoration: none;
        transition: all .2s linear;
        width: 200px;
        margin: 0 20px 15px;
    }
	
	.blog_post {
		display:flex;
		flex-direction:column;
	}
	
	.nodata {
		text-align:center;
		margin-top:100px;}
    
	
	/*アーカイブ*/
	.thumb_item img{
	width: 200px;
	height: 200px;
	object-fit: contain;
}

.ac_content {
	display: flex;
	gap: 100px;
	padding: 10px 0 0 15px;
	margin:50px 10px;
	position: relative;
}

.ac_content::after {
	position: absolute;
	bottom: -30px;
	left: 0;
	content: "";
	width: 100%;
	height: 2px;
	background-color: #aa0000;
}

.ac_content:last-child::after {
	display:none;
}

.ac_ttl {
		width:620px;
}

.ac_ttl a{
	color: #2B1B0B;
	font-size: 24px;
	border-bottom: 1px solid transparent;
    transition: all .5s;
	padding-bottom:5px;
}

.ac_ttl a:hover {
	border-bottom: 1px solid #2B1B0B;
}


.ac_cat {
	margin:0 20px;
	color:#fff;
}

.btn_ac a{
	margin-top:20px;
	display: flex;
  	justify-content: center;
  	align-items: center;
	width: 150px;
    height: 30px;
    position: relative;
    background: #1b1b1b;
    border: 1px solid #1b1b1b;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}

.btn_ac a:hover {
  background: #fff;
  color:  #1b1b1b;
}


@media screen and(max-width:980px) {
    .btn_ac a {
        margin-top: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 7.95vw;
        height: 2.56vw;
        position: relative;
        background: #1b1b1b;
        border: 1px solid #1b1b1b;
        color: #fff;
        font-size: 1vw;
        letter-spacing: 0.1em;
        line-height: 1.3;
        text-align: left;
        text-decoration: none;
        transition-duration: 0.3s;
    }
    
}


/*ページネーション*/
	 .nav-links {
		text-align:center;
		margin-bottom:50px;
	}
	
	.page-numbers {
		color:#1f1f1f;
		margin: 10px;
	}
	.pagination_wrap {
	padding: 10px 0;
}

.screen-reader-text{
  	display:none!important;
}
	
.nav-links {
	display: flex;
	justify-content: center;
}

.nav-links span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	background-color: #1f1f1f;/*現在のページのボタンの色*/
	color: #fff;
	margin-left: 3px;
	margin-right: 3px; 
}
.nav-links span.dots {
	background-color: #D0D0D0!important;
}
#main .nav-links a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	background-color: #D0D0D0;/*その他のページのボタンの色*/
	color: #fff;
	margin-left: 3px;
	margin-right: 3px; 
}

/*========================================
カスタム投稿ページアーカイブ
========================================*/

.custom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 100px;
    width: 1110px;
    margin: 150px auto 200px;
}

.custom_title {
font-size: 24px;
    border-left: 10px solid #E6B422;
    padding-left: 10px;
    height: 32px;
	margin-top:20px;
}

.custom_title a {
	color:#1f1f1f;
}

.custom_title a:hover {
	opacity:.8;
}

.custom_img {
    width: 500px;
    height: 333px;
    background-color: #F0F0E1;
	display:flex;
}

.link_media{
	transition:all .4s;
	display:block;
}

.link_media:hover {
	filter: brightness(70%);
}

.custom_img img {
    width: 250px;
    height: 333px;
    object-fit: contain;
}

.custom_txt {
    background-color:#F0F0E1;
    padding: 5px 10px;
    margin-top: 10px;
    height: 300px;
	line-height: 1.7rem;
}

.btn_more {
    width: 120px;
    height: 30px;
}

.btn_media {

    padding: 0 5px;
}

.btn_media a {
	margin-top:20px;
	display: flex;
  	justify-content: center;
  	align-items: center;
	width: 120px;
    height: 30px;
    position: relative;
    background: #1b1b1b;
    border: 1px solid #1b1b1b;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}

@media screen and(max-width:980px) {
    .btn_media a {
        margin-top: 20px;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 7.95vw;
        height: 2.56vw;
        position: relative;
        background: #1b1b1b;
        border: 1px solid #1b1b1b;
        color: #fff;
        font-size: 1vw;
        letter-spacing: 0.1em;
        line-height: 1.3;
        text-align: left;
        text-decoration: none;
        transition-duration: 0.3s;
    }
    
}



.btn_media a:hover {
    background: #fff;
    color:  #1b1b1b;
}

/*=================カスタム投稿詳細======================*/
.media_top {
	display:flex;
	justify-content:space-between;
	width:1020px;
	margin:150px auto 0;
}

.media_ttl {
	border-left:10px solid #E6B422;
	text-align:center;
	font-size:24px;
    margin-top: 30px;
}

.txt_wrapper {
    width: 440px;
    height: 650px;
}

#media_txt {
    height: 575px;
    background-color: #F0F0E1;
    margin-top: 10px;
    padding: 10px;
}

#slide, .slide_img {
	width:440px;
	height:650px;
}

.slide_img {
	display:flex;
	align-items:center;
}

#slide {
	border:1px solid #1f1f1f;
}

.slide_img img {
	width:440px;
	height:650px;
    object-fit: contain;
}

ul#thumbs {
	margin:100px auto;
	width:1020px;
    height: 400px;
    display: block;
}

#thumbs, .thumbs_img {
	width:190px;
	height:190px;
}

#thumbs .slick-track {
    width: auto !important;
    display: flex;
    flex-wrap: wrap;
}



.thumbs_img {
    display: flex;
    align-items: center;
    justify-content: center;
    border:1px solid #1f1f1f;
    margin:7px;
    transition: all .5s;
}

.thumbs_img img {
    height: 188px;
    width: fit-content;
    object-fit: contain;
}

.slide-arrow {
    background-color: #fff;
    bottom: 0;
    height: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 0;
  }
  .prev-arrow {
    border-bottom: 20px solid #fff;
    border-left: 0;
    border-right: 20px solid #1f1f1f;
    border-top: 20px solid #fff;
    left: -50px;
  }
  .next-arrow {
    border-bottom: 20px solid #fff;
    border-left: 20px solid #1f1f1f;
    border-right: 0;
    border-top: 20px solid #fff;
    right: -50px;
  }
  button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
  }