@charset "utf-8";


/*============================================================
3.Individual.css
--------------------------------------------------------------

File Name:	individual.css
Summary:	ページ毎、あるいはパーツ毎に固有のスタイル
Created:	2021/01/27
Modified:	2021/03/31[署名部分のスタイルを追加 name]
					2021/04/01[個展個別ページのスタイルを追加]
					2021/04/10[サイズ表記についての説明を追加]
					2021/04/26[exhbition個別ページにおけるh3見出しデザインの追加]
					2021/05/01[Blogページ用のスタイルを追加]
					2021/05/09[Blogページ用のスタイルを調整]
					2021/05/17[Topのトリビア帳モバイル対応を調整]
					2021/05/26[トリビア帳の文字のサイズ等を調整]
					2021/07/03[トリビア帳のサブメニューの下方向マージンを調整]
					2021/07/28[個展オンラインギャラリーのスタイルを追加]
					2021/07/31[個展オンラインギャラリーのスタイルを追加]
					2022/09/19[エッセイのスマホ用スタイルを調整]
					2022/10/16[花押ページデザインを追加]
                    2023/09/23{カレンダー用スタイルを追加 #calendar_sami;e}
                    2024/01/13{個展ページ用のエクストラコンテンツスタイル exh_extra_info}
                    2024/01/20{エッセイお知らせのトップページスタイルlatest_kanjiの画像をスマホ対応させるスタイルを追加}
                    2024/0718[個展ページの記事背景色を白で追加：exh_article　ベタ背景がある場合に透過して見えづらくならないように]
                    2024/0720[作品ページに購入可能の文言を追加　order_info]
                    2025/03/14[画像を横並びに表示して折り返すスタイル　flex_images]
                    2025/05/23[画像をタイル状に並べるスタイル　grid_images]
                    2025/08/24[作品画像をワイドに表示するスタイル　list_detail_wide]
                    2025/11/16[カレンダーページのスタイルを一新2026年版より]
============================================================*/



/*============================================================
目次
--------------------------------------------------------------
	
3.	Indivdual Style

============================================================*/



/*============================================================
3-0.	Common Style
------------------------------------------------------------*/


/* 
全階層共通で使用
-----------------------------  */

/*
サブコンテンツ部分の余白やボーダーの調整
----------------------*/

/* 2025/03/14追加 */

ul.flex_images{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    margin: 0 0 30px 0;
}

ul.flex_images li{
    margin: 0 15px 30px;
    display: inline-block;
}


/* 2025/05/23追加 */

/*.grid_3{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap:25px;
    align-items: end; 
}*/

/*.grid_3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}

.grid_box {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  text-align: center;
  height: 100%;
}

.grid_box a {
  margin-top: auto; 
}

.grid_box img {
  max-width: 100%;
  height: auto;
  display: block;
} */



.sample_gallery{
    display: grid;
    gap:25px;
   grid-template-columns: repeat(3, 1fr);
}

.image_frame{
    border: 2px solid #fff;
    background-color: #FFFAE5;
	box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.1);
    padding: 15px 0 15px;
}

.image_frame img{
    border: 1px solid #ccc;
}

.image_frame p{
    margin-bottom: 5px;
}

.grid_3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}



.grid_box {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.image_wrapper {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 400px; /* 一番背の高い画像に合わせる */
}


.grid_box p {
  margin-top: 10px;
  text-align: center;
}

@media (max-width: 768px) {
    
  .grid_3, .sample_gallery{
    grid-template-columns: repeat(2, 1fr);
  }
  .image_wrapper {
    height: auto; 
    }
}

@media (max-width: 480px) {
   .grid_3, .sample_gallery{
     gap:15px;
    }
    
    .torico_title{
    font-size: 20px;
    font-size: 2.0rem;
    }
    
    .br_break br{
    display: none;
    }
    
    }
}


/*============================================================
3-1.	Home Style
------------------------------------------------------------*/

body#home .normal_section h1{
	margin-bottom: 2em;
}

/* 
リードコンテンツ
--------------------- */

.slick-prev:before,
.slick-next:before {
    color: #333;
}

div#main_visual{
	max-width: 1300px;
	margin: 0 auto 100px;
	background: #fff;
	box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.2);
}

.mv_slider{
    margin: 0 auto 80px;
    width: 100%;
		position: relative;
}

.mv_slider .slick-dots{
	position: absolute;
	bottom: -50px;
}

.mv_slider li{
	/*padding: 20px 15px 10px;*/
}

.mv_slider img{
    height: auto;
    max-width: 100%;
		margin-bottom: 5px;
}

.mv_slider li span.credit{
	text-align: right;
	display: block;
	padding-right: 15px;
	color: #000;
}

.lead_contents .sign{
	margin-top: 50px;
}



/* worksのスライダー部分 */

.works_gallery{
	margin: 0 15px 80px;
}

.works_slider .slick-slide{
	margin: 0 15px;
	padding-top: 2px;
	/*padding: 3px;
	background-color: #fff;*/
}

.works_slider img {
	max-width: 100%;
	height: auto;
	background-color: #fff;
	border: 1px solid #ccc;
	margin: 0 auto;
}

.works_slider .slick-dots{
	bottom:-35px;
}

.works_slider .new{
	position: relative;
}

.works_slider .new:before{
	content: "New!";
	background-color:rgba(188,0,3,0.72);
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	padding: 0.3em 1em;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
}

/*.trim_works li.trim{
	overflow: hidden;
	width:320px;
	height: 245px;
	position: relative;
	border: 5px solid #fff;
	background-color: #fff;
}

.trim_works li.trim img{
	position: absolute;
	top: 50%;
	left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
}*/


/* 個展情報 */

.exh_contents{
	display: flex;
	justify-content:space-around;
	flex-wrap: wrap;
}

.exh_article{
	border: 2px solid #f1f1f1;
	padding: 15px 15px 10px;
	width: 48%;
	margin: 0 0 25px 2%;
    background-color: #fff;
}

.exh_article header{
	background-color: #f1f1f1;
	padding: 1em 0.5em;
	margin-bottom: 1em;
}

.exh_article .new:after{
	content: "new!";
	font-size: 14px;
	font-size: 1.4rem;
	color: #DD0003;
	display:inline-block;
	margin: 0 0 0 0.5em;
    z-index: 9998;
}

.exh_article header h2{
	margin: 0;
}

.news_table{
	margin: 0 auto 1em;
	border-top: 1px solid #ccc;
}

.news_table th,
.news_table td{
	padding: 0.3em 0.5em;
	border-bottom: 1px solid #ccc;
	text-align: left;
}

.news_table th{
	border-right: 1px solid #ccc;
}

	
.normal_section .exh_article p{
	font-size: 14px;
	font-size: 1.4rem;
	text-align: left;
}


/* News */

.news_contents{
	max-width: 860px;
	margin: 0 auto 50px;
	background-color: rgba(255,255,255,0.5);
}

body#home .news_contents{
	max-height: 400px;
	overflow-y: scroll;
}

.news_lineup{
	text-align: left;
}

.news_lineup dt{
	font-size: 14px;
	font-size: 1.4rem;
	margin: 0 0 10px;
	padding: 10px 15px 0;
}

.news_lineup dd{
	border-bottom: 1px solid #ccc;
	padding: 0 15px 15px;
}

.news_lineup dt.new:after{
	content: "new!";
	color: #DD0003;
	font-size: 14px;
	font-size: 1.4rem;
	display: inline-block;
	margin-left: 1em;
}

/* 2021.03.31追加
署名部分のスタイル */

.name{
	font-size: 20px;
	font-size: 2.0rem;
	display: block;
	/*margin-left: 6em;*/
	margin-bottom: 0.5em;
}

/* 漢字トリビア */

#kanji_trivia{
	text-align: center;
	background-color: #f1f1f1;
	padding: 30px 0 ;
	margin: 50px auto;
}

#kanji_trivia h1{
	margin: 0 0 15px;
}

.k-trivia_wrapper{
	max-width: 800px;
	background-color: #fff;
	padding: 25px 50px 5px;
	margin: 0 auto;
}

.latest_kanji{
	background-color: #f1f1f1;
	padding: 10px 10px 15px;
	position: relative;
}

.latest_kanji a{
	text-decoration: none;
	display: block;
}

.latest_kanji a:hover{
	color: #cd002d;
}

.latest_kanji a:hover li{
	border-color: #cd002d;
}

.latest_kanji .update_date{
	/*background-color: #cd022d;
	color: #fff;*/
	color: #cd022d;
	background-color: rgba(255,255,255,1.0);
	border: 2px solid #cd002d;
	padding: 0.2em 0.5em;
	position: absolute;
	top: -10px;
	left: -10px;
	margin: 0;
	font-size: 16px;
	font-size: 1.6rem;
}

.latest_kanji h2{
	font-size: 18px;
	font-size: 1.8rem;
	margin: 0 0 15px;
}

.sq_box{
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}

.sq_box li{
	/*background-color: #2b2b2b;
	color: #fff;*/
	background-color: #fff;
	border: 3px solid #666;
	padding: 0.2em 0.5em;
	font-size: 40px;
	font-size: 4.0rem;
	font-weight: bold;
	display: inline;
}

.latest_kanji img{
    max-width: 100%;
    height: auto;
}


@media (max-width:1000px) {
	.exh_contents{
		display: block;
	}
	.exh_article{
		width: 80%;
		margin: 0 auto 25px;
	}
}



@media (max-width:768px) {

	.mv_slider li{
		padding: 0px 0px 10px;
	}
	
	.exh_article{
		width: 100%;
		margin: 0 auto 25px;
	}

	
}

@media (max-width:479px) {
	div#main_visual{
		margin-bottom: 50px;
	}
	.mv_slider{
		margin-bottom: 0;
	}
	
	.exh_article{
		width: 100%;
		margin: 0 auto 25px;
		padding-left: 0;
		padding-right: 0;
		border-left: none;
		border-right: none;
	}
	
	.k-trivia_wrapper{
		padding: 25px 10px;
	}
	
	.latest_kanji .update_date{
		position: relative;
		top: inherit;
		left: inherit;
		background-color: transparent;
		color: #cd022d;
		border: 1px solid #cd022d;
		margin: 0 0 10px;
	}
	
	.sq_box li{
		font-size: 28px;
		font-size: 2.8rem;
		margin-bottom: 15px;
	}
	
}




/*============================================================
3-2.	Works Style
------------------------------------------------------------*/

/* 20240720
購入可能作品のお知らせスタイル
*/

.order_info{
    max-width: 800px;
    margin: 0 auto 45px;
    padding: 1em 1em 0.5em;
    border: 1px dotted #B0282A;
}


.order_info .go_to_detail{
    margin: 15px 0 15px;
}


.works_sample_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.works_sample_list h2{
	margin-bottom: 50px;
}

/*.list_detail{
	width: 30%;
	margin: 0 0 15px 2%;
	padding: 35px;
	display: inline-flex;
	flex-direction: column;
	vertical-align: bottom;
	justify-content:center;
	border: 3px solid #E7E7E7;
}*/

.list_detail{
	width: 30%;
	margin: 0 0 15px 2%;
	padding: 35px;
	display: flex;
	flex-direction: column;
	align-content: flex-end;
	justify-content:center;
	border: 3px solid #E7E7E7;
	position: relative;
}

.works_sample_list .wide{
	width:60%;
}

.works_sample_list .sold-out:before{
	content: "売却済";
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	background-color: #dd0033;
	position: absolute;
	top: -10px;
	left: -10px;
	padding: 0.4em 1em;
	z-index: 9999;
	letter-spacing: 0.2em;
}


/* 幅広カラム */
.wide_col{
	width: 100%;
	margin-left: 0;
}

.wide_col_harf{
	width: 60%;
}

.col800{
	width: 100%;
	max-width: 800px;
}



.list_detail h2{
	background-color: #f1f1f1;
	margin: 0 0 2em;
	padding: 0.5em;
}

.list_detail .list_wrapper{
	margin-top: auto;
}

.list_detail a{
	display: block;
	text-align: center;
	margin: 0 auto 10px;
}

.list_detail img{
	max-width: 100%;
	height: auto;
}

.vertical img{
	width: auto;
	max-height: 270px;
}

.list_detail p{
	text-align: left;
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: -1em;
	margin-right: -1em;
}

.col800 p{
	text-align: center;
}


.list_detail table{
	margin: 0 auto;
	font-size: 14px;
	font-size: 1.4rem;
}

.list_detail table th,
.list_detail table td{
	padding: 0.5em 0.5em;
	border-bottom: 1px solid #ccc;
	text-align: left;
}

.list_detail table th{
	padding-left: 2em;
}

.list_detail table td{
	padding-right: 2em;
}

.other_works{
    text-align: center;
	margin: 50px auto 0;
	background-color: #f1f1f1;
	padding: 15px;
}

.other_works h2{
	margin: 0 0 15px;
}

.other_works ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.other_works ul li{
	margin: 0 5px 10px;
}

.other_works ul li a{
	text-decoration: none;
	padding: 0.5em 0.8em;
	border: 1px solid #ccc;
	background-color: #fff;
	vertical-align: bottom;
	display: inline-flex;
	align-items: center;
}

.other_works ul li a:before{
	font-family:'Material Icons';
	content:"chevron_right";
}

body.original .other_works ul li.original a,
body.kaou .other_works ul li.kaou a,
body.writing .other_works ul li.writing a,
body.classic .other_works ul li.classic a,
body.mini-art .other_works ul li.mini-art a,
body.logo-design .other_works ul li.logo-design a{
	color: #bd3a3f;
	border-color: #bd3a3f;
}

/* ミニアート背景 */

#mini-art{
	background-color: #117d87;
	padding-top: 30px;
}

#mini-art {
	color: #fff;
}

#mini-art h1 span{
	color: #7BB4C0;
}

#mini-art .list_detail,
#mini-art .list_detail table th,
#mini-art .list_detail table td{
	border-color: #7BB4C0;
}

/* ロゴデザイン */

.image_list{
	display: flex;
	justify-content: space-around;
	align-items: flex-end;
}

.image_list li{
	margin: 0 0 15px 2%;
	position: relative;
}

.image_list li.sold-out:before{
	content: "売却済";
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	background-color: #dd0033;
	position: absolute;
	top: -10px;
	left: -10px;
	padding: 0.4em 1em;
	z-index: 9999;
	letter-spacing: 0.2em;
}

.image_list img{
	max-width: 100%;
	height: auto;
	border: 1px solid #ccc;
}

.image_list li h2,
.image_list li h3{
	margin: 0 0 1em;
}


/* 2021.4.10追加 */

.about_size{
	/*max-width: 800px;*/
	border: 2px dashed #ccc;
	border-right: none;
	border-left: none;
	padding: 1.5em;
	margin: 2em auto 2em;
}


.about_size h2{
	font-size: 18px;
	font-size: 1.8rem;
}

.size_image{
}

.size_image img{
	height: 60%;
	
}

.size_text{
}


/* 花押デザイン制作
20221016追加 */

.flow_chart{
    text-align: left;
    background-color: #fff;
    padding: 0.5em 1em 0.5em;
    position: relative;
}

.flow_chart:after{
    font-size: 40px;
    font-size: 4.0rem;
    color: rgba(0,0,0,0.4);
	font-family:'Material Icons';
	content:"arrow forward";
	position: absolute;
    right: -0.5em;
    bottom: -0.5em;
}

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

.flow_chart h2{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    margin-top: 0;
    position: relative;
    padding-bottom: 0.5em;
    border-bottom: 1px solid #ccc;
}

.flow_chart h2 .caption_number{
    font-size: 20px;
    font-size: 2.0rem;
    color: #fff;
    text-align: center;
    vertical-align: bottom;
    padding: 1px 10px;
    margin-right: 0.2em;
    display: inline-block;
    background-color: #c31515;
    z-index: 9900;
}

.about_info{
    background-color: #fff;
    padding: 0.5em 1em;
    text-align: left;
}

.about_info h2{
    border-bottom: 1px solid #ccc;
    padding: 0 0 10px 10px;
    margin: 0 0 0.5em;
}

.about_info p{
    font-size: 14px;
    font-size: 1.4rem;
    padding: 0 1em;
}

.add_info{
    border: 1px solid #c31515;
    padding: 10px 10px 5px;
    margin: 0 1em 1em;
}

.about_info .add_info p{
    margin: 0 0 1em;
    padding: 0;
}


/*.about_size .vertical{
	height: 50%;
}*/


@media (max-width:1100px) {
	
	.list_detail{
		width: 47%;
	}

	.list_detail_wide{
		width: 90%;
	}
	
	.col800{
		width: 100%;
	}
    
    #order_flow .column_3,
    #other .column_2{
        display: block;
    }
    
    #order_flow .column_3 .flow_chart,
    #other .column_2 .column_box{
        width: 100%;
        margin: 0 0 20px;
    }
    
    .flow_chart:after{
        display: none;
    }
    
    .about_info p{
        padding: 0 0.5em;
    }
	
}

@media (max-width:768px) {
    
    .order_info{
        padding: 0px 10px 5px;
    }
    
    .order_info h2,
    .order_info h3{
        font-size: 16px;
        margin: 5px 0 5px;
    }
    
    .order_info p{
        margin: 0 0 20px;
    }
    .order_info p.go_to_detail a{
        font-size: 16px;
    }

	.list_detail,
	.list_detail_wide{
		width: 100%;
		margin: 0 auto 15px;
	}
	
	.vertical img{
		max-height: 50%;
		width: auto;
	}
	
	.other_works ul{
		display: block;
		margin-bottom: 15px;
	}
	
	.other_works ul li{
		display: block;
		margin: 0 2px 0 ;
	}
	
	.other_works ul li a{
		width: 80%;
	}
	
	.image_list{
		flex-wrap: wrap;
	}
	
	.image_list li{
		margin-left: 0;
		margin-bottom: 40px;
	}
    
    #order_flow .column_3{
        display: block;
    }
    
        
    #order_flow .column_3 .flow_chart{
        width: 100%;
        padding-top: 0;
        padding-bottom: 10px;
    }
	

}




/*============================================================
3-2-1.	GOODS Style
------------------------------------------------------------*/



#calendar_sample .sample_image{
  display: flex;
  -webkit-display:flex;
  flex-wrap: wrap;
  /*justify-content:space-between;
  -webkit-justify-content: space-between; */
}

#calendar_sample .sample_image .sample_image_list{
  width: 23%;
  margin-right: 2%;
  margin-bottom: 20px;
}

#calendar_sample .sample_image .sample_image_list img{
  max-width: 100%;
  height: auto;
}

#calendar_sample .sample_image .sample_image_list h3{
  border: 2px solid #ccc;
  background-color: rgba(255,255,255,0.67);
  text-align: center;
  padding: 5px 10px;
}

.border-black .sample_image_list img{
	border: 1px solid #666;
}


/* 2025.11.16追加 カレンダーページのスタイル調整 */

/*===========================
  FONT SIZE TUNED: 1rem = 10px
===========================*/
/* 2026 カレンダー専用レイアウト
-------------------------------------------------- */
.cal2026 {
	max-width: 1100px;
	margin: 0 auto;
	padding: 3rem 1.5rem 4rem;
	background-color: #fdfdfb;
	/* ほんの少しだけ暖かい白 */
}

/* Hero */
.cal2026-hero {
	display: flex;
	gap: 3rem;
	align-items: center;
	border-bottom: 1px solid #e1e1e1;
	padding-bottom: 3rem;
	margin-bottom: 3rem;
}

.cal2026-hero-text {
	flex: 1 1 50%;
}

.cal2026-hero-image {
	flex: 1 1 50%;
	text-align: right;
}

.cal2026-hero-image img {
	max-width: 360px;
	width: 100%;
	height: auto;
	border: 1px solid #d5d5d5;
	background-color: #f8f8f6;
}

.cal2026-label {
	font-size: 1.2rem;
	/* 12px */
	letter-spacing: 0.15em;
	margin-bottom: 0.75rem;
}

.cal2026-title {
	font-size: 3.4rem;
	/* 34px */
	letter-spacing: 0.2em;
	margin: 0 0 0.5rem;
}

.cal2026-subtitle {
	font-size: 1.6rem;
	/* 16px */
	margin-bottom: 1.5rem;
}

.cal2026-copy {
	line-height: 1.8;
	font-size: 1.4rem;
	/* 14px */
}

/* 共通セクション */
.cal2026-section {
	margin-bottom: 3.5rem;
}

.cal2026-section-inner {
	border-top: 1px solid #e1e1e1;
	padding-top: 2.5rem;
}

.cal2026-h2 {
	font-size: 1.9rem;
	/* 19px */
	letter-spacing: 0.18em;
	text-align: center;
	margin-bottom: 2rem;
	white-space: nowrap;
}

.cal2026-h3 {
	font-size: 1.5rem;
	/* 15px */
	margin-bottom: 0.75rem;
}

/* Concept */
.cal2026-concept-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem;
}

.cal2026-concept-block {
	position: relative;
	padding-left: 1.5rem;
}

.cal2026-concept-block::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2rem;
	width: 3px;
	height: 2.5rem;
	background: linear-gradient(to bottom, #444, transparent);
}

.cal2026-concept-block p {
	line-height: 1.8;
}

/* Slider (Swiper) */
.cal2026-slider-wrapper {
	position: relative;
	padding: 1rem 2.5rem 2.5rem;
}

.cal2026-slide-frame {
	border: 1px solid #d6d6d6;
	background-color: #fafaf7;
	padding: 1.5rem 1.5rem 1.25rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
}

.cal2026-slide-image {
	background-color: #fff;
	border: 1px solid #e0e0e0;
	padding: 0.75rem;
}

.cal2026-slide-image img {
	display: block;
	max-width: 220px;
	width: 100%;
	height: auto;
}

.cal2026-slide-caption {
	font-size: 1.3rem;
	/* 13px */
}


/* swiper */



.cal2026-swiper-button {
	position: absolute;
	top: 50%;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	cursor: pointer;
	border-radius: 50%;
	border: 1px solid #555;
	background-color: rgba(255, 255, 255, 0.96);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;

	/* z-indexを追加して手前に表示 */
	z-index: 10;
}

/* 左右の配置を指定 */
.cal2026-swiper-button-prev {
	left: 0.5rem;
}

.cal2026-swiper-button-next {
	right: 0.5rem;
}

/* 矢印アイコンの基本（「進む」の向き） */
.cal2026-swiper-button::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 11px;
	height: 11px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	transform: translate(-50%, -50%) rotate(45deg);
}

/* 「戻る」ボタンの矢印の向きを上書き */
.cal2026-swiper-button-prev::before {
	transform: translate(-50%, -50%) rotate(-135deg);
}

.cal2026-swiper-button:hover {
	background-color: #f4f4f0;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
	transform: translateY(-1px);
}


.cal2026-swiper-pagination {
	text-align: center;
	margin-top: 1.5rem;
}

.cal2026-swiper-pagination-bullet {
  width: 7px;
  height: 7px;
  margin: 0 4px;
}

.cal2026-swiper-pagination-bullet-active {
  transform: scale(1.2);
}


/* Detail */
.cal2026-detail-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}

.cal2026-detail-card {
	border: 1px solid #dcdcdc;
	background-color: #fff;
	padding: 1.5rem 1.25rem;
	text-align: center;
}

.cal2026-detail-card--accent {
	background-color: #fdf9f2;
}

.cal2026-detail-title {
	font-size: 1.4rem;
	/* 14px */
	margin-bottom: 0.75rem;
	letter-spacing: 0.12em;
}

.cal2026-detail-card p {
	line-height: 1.6;
	font-size: 1.4rem;
	/* 14px */
}

.cal2026-detail-note {
	margin-top: 1.5rem;
	font-size: 1.2rem;
	/* 12px */
	text-align: center;
}

/* Voice */
.cal2026-voice-lead {
	text-align: center;
	line-height: 1.8;
	margin-bottom: 2rem;
	font-size: 1.4rem;
	/* 14px */
}

.cal2026-voice-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.75rem;
}

.cal2026-voice-card {
	position: relative;
	background-color: #fff;
	padding: 1.5rem 1.25rem 1.5rem 1.75rem;
	border: 1px solid #e0e0e0;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}

.cal2026-voice-card::before {
	content: "";
	position: absolute;
	left: 0.75rem;
	top: 1rem;
	width: 3px;
	height: 2.5rem;
	background: linear-gradient(to bottom, #333, transparent);
}


.cal2026-voice-card h3 {
  font-size: 1.4rem;
  margin-bottom: 0.6rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid #f0f0f0;
}


.cal2026-voice-card p {
	font-size: 1.3rem;
	/* 13px */
	line-height: 1.7;
}

/* Order */
.cal2026-order {
	text-align: center;
}

.cal2026-order-text {
	line-height: 1.8;
	margin-bottom: 1.8rem;
	font-size: 1.4rem;
	/* 14px */
}

.cal2026-order-button a {
	display: inline-block;
	padding: 0.9rem 3.5rem;
	border: 1px solid #333;
	text-decoration: none;
	font-size: 1.4rem;
	/* 14px */
	letter-spacing: 0.18em;
	background-color: #fff;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.cal2026-order-button a:hover {
	background-color: #333;
	color: #fff;
}

.cal2026-order-note {
	margin-top: 1.5rem;
	font-size: 1.2rem;
	/* 12px */
}


.cal2026-slider-helper {
	font-size: 1.2rem;
	/* 12px */
	text-align: center;
	color: #777;
	margin: -0.5rem 0 1.8rem;
}

.cal2026-only-pc {
	display: block;
}

.cal2026-only-sp {
	display: none;
}

@media screen and (max-width: 640px) {
	.cal2026-only-pc {
		display: none;
	}

	.cal2026-only-sp {
		display: block;
	}
}






/* Responsive */
@media screen and (max-width: 960px) {
	.cal2026-hero {
		flex-direction: column;
		align-items: flex-start;
	}

	.cal2026-hero-image {
		text-align: left;
	}

	.cal2026-concept-grid {
		grid-template-columns: 1fr;
	}

	.cal2026-detail-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cal2026-voice-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


@media screen and (max-width: 640px) {

  /* 全体余白を少し詰める */
  .cal2026 {
    padding: 2rem 1rem 2.5rem;
  }

  /* ヒーロー：縦積み＋中央揃え＋画像センター */
  .cal2026-hero {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-bottom: 2.2rem;
    margin-bottom: 2.2rem;
  }

  .cal2026-hero-text {
    width: 100%;
  }

  .cal2026-title {
    font-size: 2.4rem; /* 少しだけ小さく */
    margin-bottom: 0.7rem;
  }
  
  .cal2026-section-inner > .cal2026-h2 {
    margin-top: 2.5rem;
    margin-bottom: 1.5rem;
  }

  .cal2026-copy,
  p.cal2026-subtitle {
    text-align: center !important;
  }
  
  .cal2026-copy br{
	display: none;
  }

  .cal2026-hero-image {
    text-align: center;
    margin-top: 1.5rem;
  }

  .cal2026-hero-image img {
    max-width: 260px;
    margin: 0 auto;
  }

  /* コンセプト：縦並び時は飾り線を消して、左揃えに */
  .cal2026-concept-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .cal2026-concept-block {
    padding-left: 0;
  }

  .cal2026-concept-block::before {
    display: none;
  }

  .cal2026-concept-block p {
    text-align: left;
  }

  /* スライダー：1枚を中央に・左右余白を軽く */
  .cal2026-slider-wrapper {
    padding: 1rem 0 2rem;
  }

  .cal2026-slide-frame {
    max-width: 260px;
    margin: 0 auto;
  }

  .cal2026-slide-image img {
    max-width: 220px;
  }

  .cal2026-slider-helper {
    font-size: 1.1rem;
    margin: -0.3rem 0 1.2rem;
    padding: 0 0.5rem;
  }

  /* Detail：1列でOK */
  .cal2026-detail-grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  /* お客様の声：カードの揃えを整える */
  .cal2026-voice-grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .cal2026-voice-card {
    padding: 1.3rem 1.2rem 1.4rem 1.4rem;
  }

  .cal2026-voice-card h3 {
    font-size: 1.4rem;
    margin-bottom: 0.4rem;
    padding-bottom: 0.4rem;
    border-bottom: 1px solid #f0f0f0;
  }

  .cal2026-voice-card p {
    text-align: left;
  }

  .cal2026-voice-lead br{
	display: none;
  }

  /* ボタンは非表示にしてOK（スワイプ前提） */
  .cal2026-swiper-button {
    display: none;
  }

  /* CTA：ボタン幅を広めに＆上下の余白調整 */
  .cal2026-order-text {
    margin-bottom: 1.2rem;
    text-align: left;
  }

  .cal2026-order-button a {
    width: 100%;
    max-width: 260px;
  }

}


@media screen and (max-width: 480px) {
  .cal2026-h2 {
    white-space: normal; /* スマホでは自然に折る */
    line-height: 1.6;
  }
}








@media(max-width:768px) {

	#calendar_sample .sample_image .sample_image_list {
		width: 47%;
		margin-right: 3%;
	}

}


@media(max-width:478px) {

	#calendar_sample .sample_image .sample_image_list {
		width: 100%;
		margin-right: 0;
	}

}





/*============================================================
3-3.	Profile Style
------------------------------------------------------------*/

.profile_top{
	max-width: 1000px;
	display: flex;
	justify-content: space-around;
	/*align-items: flex-start;*/
	margin: 0 auto 50px;
}

.profile_top .kochou_profile{
	width: 30%;
	min-width: 250px;
	padding: 0 1em 0 ;
	text-align: left;
	background-color: #f1f1f1;
}

.profile_top .kochou_profile h1{
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	padding: 1em 1em 0;
}

.simple_date{
	text-align: center;
	margin: 0 15px 15px;
	background-color: rgba(255,255,255,0.7);
	padding: 1em;
}

.simple_date dt{
	font-weight: bold;
	margin: 0 0 0.8em;
}

.simple_date dd ul{
	font-size: 14px;
	font-size: 1.4rem;
}

.simple_date dd ul li{
	margin-bottom: 0.3em;
}

.profile_top .kochou_biography{
	width: 70%;
	/*border-left: 3px solid #ccc;*/
	text-align: left;
	padding: 0 0 0 2em;
	border: 1px dashed #ccc;
	border-left: none;
}

.profile_top .kochou_biography p{
	/*font-size: 14px;
	font-size: 1.4rem;*/
}

.profile_history{
	margin: 0 1em 0 1em;
	text-align: left;
}

.profile_history dt{
	font-weight: bold;
	margin-bottom: 0.3em;
}

.profile_history dd{
	/*font-size: 14px;
	font-size: 1.4rem;*/
	margin-bottom: 1em;
	border-bottom: 1px dashed #ccc;
	padding:0 0 0.5em 0.5em;
}

.bar_list li{
	/*border-left: 2px solid #ccc;
	padding-left: 0.2em;*/
	margin-bottom: 0.3em;
}

.bar_list li:before{
	background-color: #ccc;
	width: 0.5em;
	height: 0.5em;
	content: "";
	margin-right: 0.5em;
	display: inline-block;
}


@media (max-width:768px) {
	
	.profile_top{
		flex-wrap: wrap;
		margin-bottom: 0;
	}
	
	.profile_top .kochou_profile{
		width: 100%;
	}
	
	.profile_top .kochou_biography{
		width: 100%;
		border-right: none;
		padding: 1em;
	}


}




/*============================================================
3-4.	News Style
------------------------------------------------------------*/

.news_contents{
	max-width: 1000px;
	display: flex;
	justify-content: space-around;
	/*align-items: flex-start;*/
	margin: 0 auto 50px;
}

.news_nav{
	width: 30%;
	padding: 0 1em 0 ;
	text-align: center;
	background-color: #f1f1f1;
}

.news_nav ul{
	display: block;
	padding: 1em;
	background-color: rgba(255,255,255,0.80);
	margin: 1em;
}

.news_articles{
	width: 70%;
	padding: 1em 1em 1em 2em;
	border: 1px dashed #ccc;
	border-left: none;
	text-align: left;
}

.news_articles article{
	margin-bottom: 50px;
	border-bottom: 5px solid #f1f1f1;
}

.news_articles article header{
	background-color: #f1f1f1;
	padding: 1em;
}

.news_articles article header h2{
	margin: 0;
}

.news_articles p.update_date{
	margin: 0;
	text-align: right;
	font-size: 14px;
	font-size: 1.4rem;
}

.article_main{
	padding: 0 1em 1em;
}

.article_main .works_sample_list{
	display: flex;
}

.article_main .works_sample_list li{
	margin-left: 2%;
	width: 48%;
}

.article_main .works_sample_list li img{
	border: 1px solid #ccc;
}

.article_main .go_to_detail{
	text-align: center;
}


@media (max-width:768px) {
	
	.news_contents{
		flex-wrap: wrap;
	}
	
	.news_nav{
		width: 100%;
	}
	
	.news_articles{
		width: 100%;
		padding: 1em;
		border-right: none;
	}
	
}



@media (max-width:479px){
	
	.article_main .works_sample_list {
		display: block;
		text-align: center;
	}

	.article_main .works_sample_list li{
		margin-left: 0;
		width: 100%;
	}
	
	.article_main .go_to_detail{
		text-align: center;
	}

}



/*============================================================
3-5.	Exhibition Style
------------------------------------------------------------*/

/* ========== 2025.10.22追加　受賞関係のスタイル
Award Card ========== */
/* ====== Award Card（共通） ====== */
.award-card {
  padding: 30px 20px 30px;
  margin: 30px auto 40px;
  max-width: 760px;
  background: #f2f6fa;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,0.05);
}

.award-card__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.award-card__badge {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.12em;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid #999;
  background: #f5f5f5;
  line-height: 1;
}

.award-card__title {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 700;
  margin: 0;
  padding-left: 0;
  /* タイトルは長文でも折り返せるように */
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}

.award-card__subtitle {
  font-size: 16px;
  margin: 14px 0 6px;
  font-weight: 700;
}

.award-card__meta {
  margin: 0 0 8px;
  font-size: 14px;
  color: #444;
}

.award-rationale {
  border-left: 4px solid #ddd;
  padding-left: 14px;
  margin: 12px 0 0;
}
.award-rationale p {
  margin: 0;
  text-align: justify;
  line-height: 1.9;
  font-size: 15px;
}

/* ====== このページのこのカードだけ：h3の既存装飾/余白を完全OFF ====== */
#exhibition .exh_info #award-2025-10-caca .award-card__title {
  /* 既存テーマやUAの装飾を無効化（場所限定） */
  background: none !important;
  padding-left: 0 !important;
  text-indent: 0;
  position: static;
  margin: 0 !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
#exhibition .exh_info #award-2025-10-caca .award-card__title::before,
#exhibition .exh_info #award-2025-10-caca .award-card__title::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* ====== スマホ最適化 ====== */
@media (max-width: 640px) {
  .award-card {
    padding: 14px 14px;
    margin: 24px auto 30px;
  }
  /* バッジ→改行→タイトルの順に縦並び＋余白最小化 */
  #exhibition .exh_info #award-2025-10-caca .award-card__header {
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 4px;
  }
  #exhibition .exh_info #award-2025-10-caca .award-card__badge {
    display: inline-block;
    order: 1;
    margin: 0 0 2px 0;
    line-height: 1;
  }
  #exhibition .exh_info #award-2025-10-caca .award-card__title {
    order: 2;
    flex: 1 0 100%;
    font-size: 16px;
    padding-top: 0 !important;
    line-height: 1.4;
  }
  .award-rationale p {
    font-size: 14.5px;
    line-height: 1.8;
  }
}





.exh_past ul{
	display: flex;
	justify-content: space-around;
}

.exh_past ul li{
	width: 45%;
}

.exh_past ul li img{
	max-width: 100%;
	height: auto;
}

.exh_info{
	max-width: 1000px;
	text-align: center;
	padding: 1em 2em;
	border: 2px solid #f1f1f1;
	margin: 0 auto;
}

.exh_info h2{
	background-color: #f1f1f1;
	padding: 1em 1em;
}

.exh_info h3{
	line-height: 1.0;
	margin: 1.5em 0 1.5em;
}

.exh_info .simple_table{
	margin-right: auto;
	margin-left: auto;
}

.exh_info h3:before{
	content: "";
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	background-color: #ccc;
	border-bottom-right-radius: 0.8em;
	border-top-left-radius: 0.8em;
	margin: 0.1em 0.5em 0 0;
}


.image_tile_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 0 0 25px 0;
  padding: 0;
  list-style: none;
}

.image_tile_list img{
  max-width: 100%;
  height: auto;
}

.image_tile_list li{
  margin: 0 0 25px 0;
  padding: 0;
  list-style-type: none;
}

.image_tile_list li a:hover{
  opacity: 0.5;
}

.image_tile_list dl{
  margin: 0 0 25px 0;
  border-bottom:1px dashed #333;
}

.image_tile_list dl dt{
  /*padding: 0 1em 0.2em;*/
  border-bottom: none;
}

.image_tile_list dl dd{
  padding: 0;
  margin: 0;
}


.exh_mainvisual .image_list{
	justify-content: center;
}

/* 20210828追加 */

.special_contents{
	width: 100%;
	background-image:url("../../images/parts/bg_common_wood_01.jpg");
	background-position: left top;
	background-repeat: repeat;
	padding: 30px 0;
	text-align: center;
}

.special_contents h2{
	text-align: center;
	font-size: 24px;
	font-size: 2.4rem;
	margin-bottom: 2em;
}

.special_contents h3{
	font-size: 24px;
	font-size: 2.4rem;
	margin: 0 0 30px;
	position: relative;
}

/*.special_contents h3:after{
	content: "";
	height: 3px;
	width: 50px;
	background-color: #fff;
	position: absolute;
	bottom: -0.5em;
	left: 50%;
	margin-left: -25px;
}*/

.lead_text{
	max-width: 800px;
	text-align: center;
	background-color: rgba(255,255,255,0.45);
	padding: 2em 1em 1.5em;
	margin: 0 auto 60px;
}


.set_image{
	margin: 0 auto 45px;
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
	padding: 30px 0;
}

.special_contents .list_detail{
	border: none;
	padding: 0 0 15px;
	margin: 0 20px 100px 20px;
	border-bottom: 2px solid #fff;
}

.special_contents .list_detail p{
	text-align: center;
}

/*.special_contents .list_detail img{
	width: 80%;
	height: auto;
}*/

.special_contents .list_detail h4{
	margin: 0 0 15px 0;
	background-color: rgba(255,255,255,0.35);
	padding: 0.2em 0;
}

.special_contents .list_detail table td,
.special_contents .list_detail table th{
	border-bottom: none;
}

.set_image .column_3 ul{
	align-items: flex-end;
}

.set_image .column_3 ul li{
	margin-bottom: 25px;
}

.gallery_image{
	float: left;
}

.exh_info:after{
	content: "";
	display: table;
	clear: both;
}

.contact_area{
	background-color: rgba(255,255,255,0.34);
	padding: 15px 25px;
	margin: -50px auto 50px;
}


.know_info{
	max-width: 800px;
	border:2px solid #fff;
	padding: 1.5em;
	margin: 25px auto 50px;
}

/* 2024.01.13追加 */

.exh_article .exh_extra_info,
.exh_info .exh_extra_info{
    margin: 30px auto 30px;
    background-color: #FFF8E5;
    padding: 15px;
}

.exh_article .exh_extra_info h3,
.exh_info .exh_extra_info h3{
    border: 2px solid #D3BF6E;
    padding: 5px 10px 5px;
}


.exh_article .exh_extra_info p,
.exh_info .exh_extra_info p{
    text-align: center;
}



@media (max-width:768px) {
	.exh_past ul{
		display: flex;
		justify-content: space-around;
	}

	.exh_past ul li{
		width: 100%;
	}
	
	.gallery_image{
		float: none;
		text-align: center;
	}
}


@media (max-width:500px) {

	.lead_text{
		text-align: left;
	}
	
	.lead_text h3{
		margin-bottom: 1em;
	}
	
	.special_contents .list_detail{
		margin-bottom: 45px;
	}

}



/*============================================================
3-7.	blog Style
------------------------------------------------------------*/

body#essay #topic_path{
	margin-bottom: 10px;
}

.blog_contents{
	margin: 30px auto 25px;
	display: flex;
	justify-content: space-around;
}

.essay_page_title{
	color: #fff;
	background-color: #f3f0dd;
	text-align: center;
	padding: 15px 0;
	background-image: url("../../images/parts/bg_essay_title_02.jpg");
	background-position: center center;
	background-repeat: no-repeat;
}

.essay_page_title h1{
	font-size: 24px;
	font-size: 2.4rem;
	margin-top: 0;
}

.essay_page_title h1 .caption_black{
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	color: #fff;
}

.essay_page_title p{
	margin-bottom: 0;
}


/* サブ部分のスタイル */

.blog_sub_contents{
	width: 30%;
}

.back-number,
.archive-title{
	background-color: #eee;
	padding: 2em 1em 1em;
	margin: 0 auto 2em;
	border: 2px solid #ccc;
}

.back-number h2,
.archive-title h2{
	background-color: #fff;
	margin: 0 0 1.5em;
}

.back-number select{
	text-align: center;
	width: 80%;
	border: 3px solid #ccc;
	font-size: 16px;
	font-size: 1.6rem;
	padding: 5px 25px;
	margin-bottom: 1.5em;
}

.archive-title{
	margin: 0 auto 20px;
}

.blog_sub_menu ul{
	text-align: left;
	margin: 0 0 1.5em;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.blog_sub_menu ul li{
	margin: 0 10px 10px 0;
}

.blog_sub_menu ul li a{
	font-size: 20px;
	font-size: 2.0rem;
	border: 2px solid #666;
	display: inline-block;
	padding: 0.7em 1em;
	margin: 0 0 4px 0;
	background-color: #fff;
	text-decoration: none;
	position: relative;
}

/*.blog_sub_menu ul li a:after{
	font-family:'Material Icons';
	content:"chevron_right";
	position: absolute;
	right: 1em;
	top: 50%;
	margin-top: -8px;
}*/


/* 記事部分のスタイル */


.main_article{
	width: 60%;
}

.main_article h1{
	/*background-color: #f3f0dd;*/
	font-size: 24px;
	font-size: 2.4rem;
	vertical-align: bottom;
	text-align: left;
	box-shadow: 0 1px 5px 5px rgba(0,0,0,0.08);
	/*border: 2px solid #d3ca94;*/
	padding: 0.5em 1em;
}

.main_article h1 span.month{
	font-size: 30px;
	font-size: 3.0rem;
}

.small{
	font-size: 80%;
}

.blog_article{
	text-align: left;
	padding: 1em 2em 2em;
	margin: 0 auto 50px;
	box-shadow: 0 1px 5px 5px rgba(0,0,0,0.08);
	/*border: 1px solid #d3ca94;*/
	position: relative;
}

.blog_art-title h2{
	background-color: #f3f0dd;
	font-size: 18px;
	font-size: 1.8rem;
	margin-bottom: 1.5em;
}

.blog_art-title h2 .pickup{
	background-color: #fff;
	border: 3px solid #d3ca94;
	font-size: 40px;
	font-size: 4.0rem;
	padding: 0.2em 0.5em;
	margin-right: 0.1em;
}

.blog_contents .new:before{
	font-size: 16px;
	font-size: 1.6rem;
	content: "New!";
	color: #cd022d;
	background-color:#fff;
	border: 2px solid #cd002d;
	position: absolute;
	top: -15px;
	right: 0px;
	padding: 0.2em 1em;
    z-index: 9997;
}

.blog_art-text{
	padding: 0 1em 0;
}

.blog_art-text h3{
	border-left: 5px solid #d3ca94;
	padding: 0.2em 0 0.2em 0.5em;
	background-color: #f3f0dd;
}

.blog_art-text p{
	margin-bottom: 2em;
}


@media (max-width:900px) {
	
	.blog_contents{
		flex-wrap: wrap;
		flex-direction: column-reverse;
		margin-bottom: 15px;
		margin-top: 0;
	}

	.main_article{
		width: 100%;
	}
	
	.blog_sub_contents{
		width: 100%;
	}
	
}


@media (max-width:480px) {
	
	.essay_page_title{
		background-position: center right 20%;
		background-size: cover;
	}
	
	.main_article h1{
		font-size: 18px;
		font-size: 1.8rem;
	}
	
	.main_article h1 span.month{
		font-size: 18px;
		font-size: 1.8rem;
	}
	
	.blog_art-title h2{
        font-size: 12px;
        font-size: 1.2rem;
		margin-bottom: 1em;
        text-align: right;
        position: relative;
	}
	
	.blog_art-title h2 .pickup{
		font-size: 24px;
		font-size: 2.4rem;
        position: absolute;
        left: 5px;
        top: 0;
	}
	
	.blog_art-text{
		padding: 0;
	}
	
	.blog_art-text h3{
		font-size: 16px;
		font-size: 1.6rem;
	}
	
}



/*============================================================
3-8.	Contact Style
------------------------------------------------------------*/



.price_table{
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
	margin: 0 auto 15px;
}

.price_table th,
.price_table td{
	padding: 0.8em 1em;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

.price_table th{
	font-weight: normal;
}

.price_table td{
	color: #000;
}




/*============================================================
3-9.	Sitemap Style
------------------------------------------------------------*/

nav.sitemap_links{
	text-align:left;
	margin:0 0 0 15px;
}


nav.sitemap_links a{
	text-decoration:none;
}

nav.sitemap_links ul{
	margin:0px auto;
}

nav.sitemap_links ul li ul{
	clear:both;
	margin:0 0 0 20px;
	padding:10px 0 0 10px;
	border-left:2px solid #fff;
}

nav.sitemap_links ul li ul ul{
	border-left:none;
	padding-left:0;
}

nav.sitemap_links ul li{
	margin-bottom:20px;
	display:block;
}

nav.sitemap_links ul li a{
	padding:0;
	position:relative;
}

nav.sitemap_links ul li a:before{
	font-family: "FontAwesome";
	font-size:14px;
	font-size:1.4rem;
	content:"\f105";
	position:absolute;
	left:-10px;
	left:-1rem;
	top:0;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}


@media (max-width:479px){
	nav.sitemap_links{
		text-align:left;
	}
	nav.sitemap_links ul{
		margin-left:15px;
	}
}





/*============================================================
Form Style
------------------------------------------------------------*/


/* base */

div#mfp_hidden {
	overflow: hidden;
	width: 1px;
	height: 1px;
	padding: 0px;
	margin: 0px;
}
div#mfp_hidden input {
	margin: 10px;
}

form#mailformpro {
	padding: 2em;
	border:2px solid #f1f1f1;
}

form#mailformpro dl{
	font-size: 100%;
}

form#mailformpro dl dt {
	font-weight:bold;
	font-size: 16px;
	font-size: 1.6rem;
	padding: 0;
	margin: 0 0 0.8em 0;
	text-align: left;
	background-color: #f1f1f1;
}

form#mailformpro dl dd{
	margin: 0px;
	padding: 0;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.5em;
	text-align: left;
	margin: 0 0 2.5em 0;
}

form#mailformpro dl dd p{
	font-size: 14px;
	font-size: 1.4rem;
	margin: 0 0 0 0;
}


form#mailformpro dl dd ul,
form#mailformpro dl dd ol {
	font-size: 16px;
	font-size: 1.6rem;
	margin: 0px;
	padding: 0px;
}

form#mailformpro dl dd ul li,
form#mailformpro dl dd ol li {
	margin: 0px 0px 15px;
	padding: 0px;
	list-style: none;
}

.must,
.option{
	display:inline-block;
	background-color: #C00;
	padding: 4px 5px;
	font-size: 16px;
	font-size: 1.6rem;
	color: #FFF;
	margin: 0px 15px 0px 0px;
	border-radius: 4px;
	/*position:absolute;
	top:10px;
	left:15px;*/
}

.option{
	background-color:#3C49D5;
}


span.example{
	font-weight:normal;
	font-size:14px;
	font-size: 1.4rem;
	color:#999;
	margin:0px 0px 0px 1.5em;
	padding:0px 0px 0px 1.5em;
	border-left:1px solid #999;
}

/*span.radio{
	margin:10px 0px 0px;
	display:block;
}*/


div#mfp_phase_confirm div#mfp_phase_confirm_inner {
	font-size: 16px;
	font-size: 1.6rem;
}

div#mfp_phase_confirm div#mfp_phase_confirm_inner table th,
div#mfp_phase_confirm div#mfp_phase_confirm_inner table td{
	font-size: 16px;
	font-size: 1.6rem;
	padding: 8px 8px;
}

div#mfp_phase_confirm div#mfp_phase_confirm_inner table th{
	font-weight: normal;
	white-space: nowrap;
	text-align: left;
}

div#mfp_phase_confirm div#mfp_phase_confirm_inner div.mfp_buttons{
	text-align:center;
	margin-top: 30px;
}

div#mfp_phase_confirm div#mfp_phase_confirm_inner button{
	padding:8px 10px;
	margin:0 10px;
}


div#mfp_overlay {
	position: absolute;
	display: none;
	z-index: 10001;
}
div#mfp_overlay_inner {
	background-color: #FFF;
	padding: 15px;
	margin: 0px auto;
	border-radius: 5px;
	box-shadow: 0px 0px 10px #000;
	width: 640px;
	max-width: 90%;
}
div#mfp_overlay_background {
	background-color: #000;
	position: absolute;
	display: none;
	z-index: 10000;
}
div#mfp_loading_screen {
	z-index: 20000;
	opacity: 0.8;
	display: none;
	background-color: #000;
	position: absolute;
}
div#mfp_loading {
	z-index: 20001;
	position: absolute;
	display: none;
	width: 40px;
	height: 40px;
	background-image: url(_images/mfp_loading.gif);
}


/* input */

form#mailformpro input,
form#mailformpro textarea {
	padding: 3px;
	vertical-align: middle;
}
form#mailformpro select {
	vertical-align: middle;
	font-size: 14px;
	margin-bottom:10px;
}


form#mailformpro textarea.order{
	width:500px;
	height:200px;
	overflow:auto;
}


/* button */

div.send_buttons,
div#mfp_buttons{
	font-size: 18px;
	font-size: 1.8rem;
	clear: both;
	padding: 10px 0px;
	text-align: center;
}
div.send_buttons button#send_button_send {
}

div.send_buttons button#send_button_cancel {
}

div.send_buttons button,
div#mfp_buttons .mfp_element_button{
	font-size: 18px;
	font-size: 1.8rem;
	margin: 20px;
	padding: 8px 15px;
}

div.send_buttons button.imagebutton {
	margin: 0px;
	padding: 0px;
	border: none;
	outline: none;
	background: none;
}

div#mfp_buttons{
}



/* label */

form#mailformpro label {
	border-radius: 3px;
	margin: 3px 3px 10px;
	display: block;
}
form#mailformpro label:hover{
	cursor:pointer;
	background-color:#FFEAEA;
}
form#mailformpro label.mfp_checked {
	padding: 3px;
	border: solid 1px #CCC;
	background-color: #E8EEF9;
}
form#mailformpro label.mfp_not_checked {
	padding: 3px;
	border: solid 1px #EEE;
}

/* stripe */

.mfp_colored {
	background-color: #F6F7F9;
}
.mfp_achroma {
	background-color: #FFF;
}


@media(max-width:768px){
	body#form section.form_section h2 + p{
		display:none;
		margin:0;
	}
	form#mailformpro textarea.order{
		max-width:100%;
		overflow:auto;
	}
	form#mailformpro dl{
	}
	form#mailformpro dl dt{
	}
	/*form#mailformpro dl dt span.must,
	form#mailformpro dl dt span.option{
		display:block;
		position:relative;
		margin:0 0 5px 0;
		left: 0;
		top:0;
	}*/
	form#mailformpro dl dd {
		padding-left:20px;
	}
	form#mailformpro input,
	form#mailformpro textarea {
		max-width:100%;
	}
}

@media(max-width:479px){
	
	body#form .normal_section{
		background-color:transparent;
		padding: 0 0 0 0;
	}
	
	body#form .sub_section{
		border: none;
	}
	
	span.example{
		display:none;
	}
	form#mailformpro dl dt{
		padding-left: 0;
	}
	form#mailformpro dl dd {
		padding-left:0;
	}
	form#mailformpro input,
	form#mailformpro textarea,
	form#mailformpro select{
		font-size: 16px;
		font-size: 1.6rem;
		max-width: 90%;
		display:block;
		margin-bottom:15px;
	}
	form#mailformpro label{
		border:1px solid #ccc;
		padding:3px 3px 3px 20px;
		position:relative;
	}
	form#mailformpro label input{
		display:inline-block;
		margin:0 5px 5px 0;
	}
	
	div#mfp_phase_confirm div#mfp_phase_confirm_inner table th,
	div#mfp_phase_confirm div#mfp_phase_confirm_inner table td{
		font-size: 14px;
		font-size: 1.4rem;
	}
	
}


/* お問い合わせ完了ページ */

.sub_section .points{
	text-align: left;
	margin: 0 25px;
}







/* User style */

table.enter { margin:80px auto; width:400px; border:1px solid #0080c0; border-collapse:collapse; }
table.enter th { border:1px solid #0080c0; padding:1em; background:#0080c0; color:#fff; text-align:left; }
table.enter td { border:1px solid #0080c0; padding:1em; background:#fff; font-family:verdana,helvetica,arial; }
input.len { width:220px; margin-bottom:1em; }
div.btn { text-align:right; }
div.btn input { font-family:verdana,helvetica,arial; width:100px; height:32px; }
div.main { text-align:center; width:100%; }










/*============================================================


					4. For Js Style


------------------------------------------------------------*/



/* For Light Box
*********************************/


/* Preload images */
body:after {
  content: url(/common/images/plug-in/close.png) url(/common/images/plug-in/loading.gif) url(/common/images/plug-in/prev.png) url(/common/images/plug-in/next.png);
  display: none;
}

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none;
}

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
}

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}

.lightbox a img {
  border: none;
}

.lb-outerContainer {
  position: relative;
  background-color: white;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
  border-radius: 4px;
}

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-container {
  padding: 4px;
}

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0;
}

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(/common/images/plug-in/loading.gif) no-repeat;
}

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}

.lb-container > .nav {
  left: 0;
}

.lb-nav a {
  outline: none;
  background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
}

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block;
}

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(/common/images/plug-in/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(/common/images/plug-in/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  -moz-border-radius-bottomleft: 4px;
  -webkit-border-bottom-left-radius: 4px;
  border-bottom-left-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-data {
  padding: 0 4px;
  color: #ccc;
}

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em;
}

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em;
}

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999;
}

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(/common/images/plug-in/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}



/*============================================================


					5. For Plug-in


------------------------------------------------------------*/


/* For Mail Form
*********************************/

/* common */

div#mfp_hidden {
	overflow: hidden;
	width: 1px;
	height: 1px;
	padding: 0px;
	margin: 0px;
}
div#mfp_hidden input {
	margin: 10px;
}
div.mfp_thanks {
	padding: 30px;
}
div.mfp_thanks p {
	line-height: 1.7em;
}
div.mfp_thanks ul.mfp_caution {
	margin: 0px;
	padding: 0px;
}
div.mfp_thanks ul.mfp_caution li {
	display: block;
	color: #C00;
	margin: 0px;
	padding: 5px 0px;
}
div#mfp_thanks {
	text-align: center;
	font-size: 18px;
	padding: 20px 0px;
}
div#mfp_thanks strong {
	color: #C00;
	font-size: 24px;
}



/* confirm */

table#mfp_confirm_table {
	border-spacing: 0px;
	border-collapse: collapse;
	width: 100%;
}

table#mfp_confirm_table tr.mfp_colored {
	background-color: #F6F7F9;
}
table#mfp_confirm_table tr.mfp_achroma {
	background-color: #FFF;
}

table#mfp_confirm_table tr th,table#mfp_confirm_table tr td {
	text-align: left;
	font-size: 12px;
	border-top: solid 1px #CCC;
	padding: 5px 10px;
}
table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 200px;
}
table#mfp_confirm_table tr td {
	line-height: 1.5em;
	word-break: break-all;
}


/* confirm_flat */


div#mfp_phase_confirm {
	clear: both;
}
div#mfp_phase_confirm h4 {
	padding: 10px 0px 0px 0px;
	text-align: center;
}
div#mfp_phase_confirm div#mfp_phase_confirm_inner {
	
}


/* confirm_overlay */

div#mfp_overlay {
	position: absolute;
	display: none;
	z-index: 10001;
}
div#mfp_overlay_inner {
	background-color: #FFF;
	padding: 15px;
	margin: 0px auto;
	border-radius: 5px;
	box-shadow: 0px 0px 10px #000;
	width: 640px;
}
div#mfp_overlay_background {
	background-color: #000;
	position: absolute;
	display: none;
	z-index: 10000;
}


/* price */

div#mfp_price {
	color: #C00;
	font-size: 36px;
	padding: 10px;
	font-weight: bolder;
}
div#mfp_price span {
	color: #666;
	font-size: 12px;
	font-weight: normal;
}



/* error */

div.mfp_err {
	clear: both;
	display: none;
	text-align: left;
	margin: 5px 0px 0px 0px;
	padding: 3px 0px 5px 17px;
	color: #F00;
	font-size: 12px;
	line-height: normal;
	background-image: url(/common/images/plug-in/mfp_error.gif);
	background-repeat: no-repeat;
	background-position: 0px 1px;
}
.mfp_parent_error {
	border: solid 2px #F00;
}
.problem {
	background-color: #FCC;
}


div#mfp_error {
	background-color: #FEE;
	border: solid 1px #F00;
	padding: 10px;
	display: none;
}
div#mfp_error p {
	padding: 0px;
	margin: 0px;
	font-size: 14px;
	text-align: center;
}
div#mfp_error p strong {
	font-size: 18px;
	color: #F00;
}


/* warning */

div#mfp_warning {
	background-color: #FEE;
	border: solid 1px #F00;
	padding: 10px;
	display: none;
}
div#mfp_warning p {
	padding: 0px;
	margin: 0px;
	font-size: 14px;
	text-align: center;
}
div#mfp_warning p strong {
	font-size: 18px;
	color: #F00;
}



/* loading */

div#mfp_loading_screen {
	z-index: 20000;
	opacity: 0.8;
	display: none;
	background-color: #000;
	position: absolute;
}
div#mfp_loading {
	z-index: 20001;
	position: absolute;
	display: none;
	width: 40px;
	height: 40px;
	background-image: url(/common/images/plug-in/mfp_loading.gif);
}




/* phase */


button.mfp_next,button.mfp_prev {
	font-size: 18px;
	margin: 10px;
	padding: 5px 10px;
}
button.mfp_next {
	float: right;
}
button.mfp_prev {
	float: left;
}

ul#mfp_phase_stat {
	padding: 10px;
}
ul#mfp_phase_stat li {
	float: left;
	padding: 8px 15px;
	border-radius: 3px;
	margin: 5px;
	list-style: none;
	font-size: 14px;
}
ul#mfp_phase_stat li.mfp_phase_arrow {
	bos-shadow: none;
	padding: 8px 5px;
}
ul#mfp_phase_stat li.mfp_active_phase {
	background-color: #E8EEF9;
	box-shadow: 0px 0px 5px #000;
}
ul#mfp_phase_stat li.mfp_inactive_phase {
	background-color: #CCC;
	color: #666;
	box-shadow: 0px 0px 5px #CCC;
}


