@charset "UTF-8";

/* CSS Document */
@media screen and (max-width: 599px) {
body { font-size: 13px; }
/* drawer */
.drawer { display: block; }
.drawer-menu li { margin: 0.75em auto !important; font-size: 1.4em; }
.drawer-menu li .en { display:block; font-size: 1em; line-height: 1.5em; }
.drawer-menu li .jp { display:block; font-size: 0.6em; line-height: 1.6em; }

/* options */
.fas { margin-right:0.5em; font-size:1.15em }
.fab { margin-right:0.5em; font-size:1.15em }
.r { font-feature-settings : "palt"; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%; }
.rl { font-feature-settings : "palt"; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: horizontal-tb; writing-mode: horizontal-tb; }
.spbr { display: block; }
.pcbr { display: none !important; }
.en { font-family: Helvetica Neue, helvetica, sans-serif; font-weight:200; letter-spacing:0.1em; }

/* sp */
.pc { display: none !important; }
.sp { display: block !important; }

/* text */
.tx22 { font-size: 1.8em; line-height: 1.8em; }
.tx20 { font-size: 1.6em; line-height: 1.8em; }
.tx18 { font-size: 1.4em; line-height: 1.75em; }
.tx16 { font-size: 1.4em; line-height: 1.75em; }
.tx14 { font-size: 1.3em; line-height: 1.5em; }
.tx12 { font-size: 1.2em; line-height: 1.75em; }
.tx11 { font-size: 1.1em; line-height: 1.75em; }
.tx10 { font-size: 0.95em; line-height: 1.75em; }
.tx09 { font-size: 0.9em; line-height: 1.75em; }
.tx08 { font-size: 0.8em; line-height: 1.65em; }
.tx07 { font-size: 0.7em; line-height: 1.55em; }
.tx_l { text-align:left; }
.tx_r { text-align:right; }
.tx_c { text-align:center; }
.tx_j { text-align:justify; }
.en { font-family: Helvetica Neue, helvetica, sans-serif; font-weight:200; letter-spacing:0.1em; }

/* wrapper */
#wrapper { min-width:300px; }

/* header */
#header { width: 61%; margin: 5% auto 5% auto; height:auto; height:auto !important; }
#header #hd_logo { width:100%; max-width:500px; min-width:auto; margin:0 auto; float:none; }
#header nav { display:none; }

/* トップ */
.home #contents { margin: 1em auto 3em auto; }
.home #main #copy { font-size:2.75em; line-height:1.5em; width:100%; }
.home #main #copy .spbr { display:block; margin:0 0 0 0; }
.home #main .fade { height: 70vh; overflow: hidden; position: relative; }
.home #main .fade img { }
.home #top_news { width: 95%; margin:0 auto 0 auto; padding-bottom:3em; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.home #top_news h2 { font-size: 1.8em; width:100%; margin-bottom:0.25em;  }
.home #top_news .news_block { width:100%; }
.home #top_news .news_block li a { padding:0.5em 0; }
.home #top_news .news_block .title { width:100%; font-size: 0.9em; line-height: 1.7em; margin:0 0 0.2em 0; letter-spacing: 0.1em; }
.home #top_news .news_block .date { font-size: 0.7em; text-align: right; }
.home #top_column { width: 95%; margin-bottom: 6em; }
.home #top_column h2 { font-size: 1.6em; margin-bottom:0.25em; }

/* ニュースブロック */
.news_block { width:100%; margin:auto; }
.news_block li a { display:block; border-top:solid 1px #333; padding:1em; }
.news_block li:last-child a { border-bottom:solid 1px #333; }
.news_block li a dl { display: flex; flex-direction: row; flex-wrap: wrap; justify-content:space-between; align-items: center; }
.news_block .title { font-size: 1.1em; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; line-height: 1.6em;}
.news_block .date { font-size: 0.8em; }
.news_block .cat { font-size: 0.8em; line-height: 1em; padding:0 1em; margin:0 1em; border-left:solid 1px #333; border-right:solid 1px #333; }

/* 下層_メイン */
#layer_main { width: 100%; margin-right: auto; margin-left: auto; position: relative; }
#layer_main2 { width: 90%; margin-right: auto; margin-left: auto; position: relative; }

/* 下層_共通 */
#contents { width: 90%; margin: 3em auto 3em auto; text-align:left; }
#contents .layer_title { font-size:2em; margin-bottom:1em; letter-spacing:0.1em; text-align:center; }
#contents .layer_photo { clear:both; }
#contents .layer_photo ul { text-align:center; }
#contents .layer_photo ul li { display:inline-block; width:48%; margin-right:1.5%; margin-bottom:2%; }
#contents .layer_photo ul li:nth-child(2n) { margin-right:0; }
#contents .text_block { padding-top:4em; padding-bottom:4em; }
#contents .text_block:last-child { padding-bottom:0; }
#contents .text_block .jp { width:90%; margin:0 auto; vertical-align:top; }
#contents .text_block .jp h2 { margin-bottom:0.75em; letter-spacing:0.1em; }
#contents .text_block .jp h2 .sub_en { font-size:1em; margin-bottom:1em; display:block; }

#contents .text_block .lead { margin: 3em 0; flex-direction: column; }
#contents .text_block .lead .lead_item:nth-child(1) { width: 100%; margin: 0 0 2em 0; }
#contents .text_block .lead .lead_item:nth-child(2) { width: 100%; }
#contents .text_block .lead.about_concept .lead_item:nth-child(1) { order:2; }
#contents .text_block .lead.about_concept .lead_item:nth-child(2) { order:1; margin:0 0 2em 0; }
#contents .text_block .lead h2 { line-height: 1.8em; margin:0 0 0.75em 0; letter-spacing:0.1em; }
#contents .text_block .lead:first-child { margin: 0 0 3em 0; }
#contents .text_block .lead:last-child { margin: 3em 0 0 0; }
#contents .text_block .col2 { margin:3em 0; flex-direction: column; }
#contents .text_block .col2 .col2_item { width:100%; margin: 0 0 4em 0; }
#contents .text_block .col2 .col2_item_logo { width:100%; margin:0 auto 2em auto; }
#contents .text_block .col2 h2 { line-height: 1.8em; margin:0 0 0.75em 0; letter-spacing:0.1em; }
#contents .text_block .col2 h3 { line-height: 1.8em; margin:1em 0 0.75em 0; letter-spacing:0.1em; }
#contents .text_block .col2.himotore_concept { margin:0 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
#contents .text_block .col2.himotore_concept figure { width:80%; margin: 0 auto 0 auto; }
#contents .text_block .col2.himotore_concept figcaption { text-align: center; margin:3em auto 0 auto; }
#contents .text_block .col2.himotore_concept .col2_item:nth-child(2) { margin:0 0 0 0; }
#contents .text_block .col2 .product_mov { margin:0 auto 0 auto; }

#contents .product_link { text-align: center; }
#contents .product_link a { font-size: 0.9rem; padding:1em 0; width:100%; display:block; margin:auto; }

#contents .himotore_fig { width:100%; margin: 3em auto 8em auto; }

#contents .himotore_link { text-align: center;  }
#contents .himotore_link a { width: 100%; border:solid 1px #333; border-radius: 3em; font-size: 0.9rem; line-height: 1em; padding:0; margin:auto; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; }
#contents .himotore_link a span { display: block; }
#contents .himotore_link a span:first-child { width:20%; }
#contents .himotore_link a span:last-child { border-left:1px solid #333; padding:0 0 0 1em; margin:0 0 0 1em; text-align: left; line-height: 1.5em; }
#contents .himotore_link a:hover { opacity: 1; filter: alpha(opacity=100); -ms-filter: "alpha(opacity=100)"; background-color: #333; color:#fff; }
#contents .himotore_link a:hover span:last-child { border-left: 1px solid #fff; }

#contents .himotoreforjoints_fig { width: 100%; margin: 0 auto 2rem auto; }
#contents .himotoreforjoints_fig h2 { text-align: center; }
#contents .himotoreforjoints_fig img { margin:3em auto 0 auto; }
#contents .himotoreforjoints_point {}
#contents .himotoreforjoints_point .col2 { margin-bottom:0; }
#contents .himotoreforjoints_point h3 { display:flex; justify-content: space-between; }
#contents .himotoreforjoints_point h3 span {  }
#contents .himotoreforjoints_point h4 { margin: 0 auto 0.75em auto; }
#contents .himotoreforjoints_point .himotoreforjoints_point_slide { margin:0 auto 2em auto; }
#contents .himotoreforjoints_att .himotoreforjoints_att--guide { width:80%; margin:5em auto 0 auto; }
#contents .himotoreforjoints_att .col2 { margin-top:0; }
#contents .himotoreforjoints_att--head { padding:0; }
#contents .himotoreforjoints_mov { width: 100%; margin: 2em auto 0 auto; }
#contents .himotoreforjoints_mov h2 { text-align: center; margin-bottom:1rem; }
#contents .himotoreforjoints_mov .video-target { display:block; margin-bottom: 1rem; }

#contents .product_mov { position: relative; width:100%; margin:0 auto 4em auto; display: block; }
#contents .product_mov h3 { font-size: 2em; margin: 0 auto 1.5em auto; }
#contents .product_mov .product_mov_ex { width:48.5%; }
#contents .product_mov .bot { font-size: 1.4em; position:static; right:0; bottom:0; width:100%; text-align: center; background-color: #ffffff; color:#265da7; padding:0.75em 1.5em; }
#contents .product_mov .bot i { font-size: 2.5em; vertical-align: middle; }
#contents .product_mov a:hover .bot { background-color: #265da7; color:#ffffff; }

/* コラムブロック */
.column_hd { margin:0 0 0 0; }
.column_pr { margin:0 0 2em 0; padding:0 0 2em 0; border-bottom:solid 1px #333; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start;  }
.column_pr dl { width:100%; border-bottom:1px solid #000; padding:0 0 2em 0; margin:0 0 2em 0; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.column_pr dt.name { width:90%; margin:0 auto 1em auto; }
.column_pr dt.name .en { display:block; font-size: 1.8em; line-height: 1.5em; }
.column_pr dt.name .jp { display:block; font-size: 1em; line-height: 1.5em; }
.column_pr dd.job { width:90%; margin:0 auto 0 auto; }
.column_pr dd.job .en { display:block; font-size: 1.2em; line-height: 1.5em; }
.column_pr dd.job .jp { display:block; font-size: 1em; line-height: 1.5em; }
.column_pr .comment { width:90%; margin:auto; text-align: justify; font-size: 0.8em; line-height: 1.6em; }
.article_block { border-left:solid 1px #333; border-top:solid 1px #333; width: 100%; margin:0 0 3em 0; position: relative; clear:both; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; }
.article_block li { width:100%; padding:2em; border-right:solid 1px #333; border-bottom:solid 1px #333; }
.article_block.column_top li:nth-child(1),.article_block.column_top li:nth-child(2) { width:100%; }
.article_block dl dt {  }
.article_block dl dd { }
.article_block dl dd h2 { margin:1em 0 0.75em 0; font-size: 1.4em; line-height: 1.6em; }
.article_block dl dd .date { margin-top:1em; }

/* コラムトップ */
#column.columns_top { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#column.columns_top .koseki_column { width:100%; }
#column.columns_top .users_column { width:100%; }
#column.columns_top .koseki_column .koseki_column_1 { background-color:#96cdc8; }
#column.columns_top .koseki_column .koseki_column_2 { background-color:#f7c0b9; }
#column.columns_top .koseki_column .koseki_column_3 { background-color:#d1e495; }
#column.columns_top .koseki_column .koseki_column_4 { background-color:#fee274; }
#column.columns_top .koseki_column .koseki_column_5 { background-color:#d2bada; }
#column.columns_top .article_block { border-left:solid 1px #333; border-top:solid 1px #333; width: 100%; margin:0 0 6em 0; position: relative; clear:both; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; }
#column.columns_top .article_block li { width:100%; padding:2em; border-right:solid 1px #333; border-bottom:solid 1px #333; }
#column.columns_top .koseki_column li { padding:1em; }
#column.columns_top .article_block dl dt {  }
#column.columns_top .article_block dl dd {  padding:0 5%; }
#column.columns_top .article_block dl dd a { padding:1em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; border-top: solid 0.1em #333; }
#column.columns_top .article_block dl dd a:hover .title { color:#fff; }
#column.columns_top .article_block dl dd .num { width:auto; font-size: 1em; line-height: 1em; background-color: #fff; padding:0.5em; border-radius: 2em; -webkit-border-radius: 2em; -moz-border-radius: 2em; border:solid 0.2em #333; }
#column.columns_top .article_block dl dd .title { width:70%; font-size: 1.2em; line-height: 1.5em; }
#column.columns_top .article_block dl dd h2 { margin:1em 0 0.75em 0; font-size: 1.6em; line-height: 1.6em; }
#column.columns_top .article_block dl dd .date { margin-top:2em; }
#column.columns_top .article_block dl dd blockquote { padding: 0 1em; margin:0.2em 0; border-left:solid 1px #000; border-right:solid 1px #000; }
#column.columns_top .article_block dl dd blockquote p { padding: 0; font-size:1rem; line-height: 1.6em; font-style: italic; margin:0 0 0.5em 0; }
#column.columns_top .article_block dl dd blockquote cite { display:block; padding: 0; font-size:0.5rem; line-height: 1.8em; font-style: normal; }

/* column */
.column #contents #column { width: 95%; margin-right: auto; margin-left: auto; margin-bottom: 6em; }

/* news */
.news #contents #news { width: 95%; margin-right: auto; margin-left: auto; margin-bottom: 6em; }

/* 記事詳細 */
.entrybody { width:90%; margin:0 auto 3em auto; padding-top:1em; }
.entrybody .title { font-size:1.5em; line-height:1.6em; margin-bottom:1.25em; border-left:solid 0.15em #333; padding:0 0 0 1em; }
.entrybody .title br { display:none; }
.entrybody .date { font-size:0.8em; line-height:1em; margin-bottom:3em; }
.entrybody h1 { font-size: 1.6em; line-height: 2.2rem; margin-bottom: 1rem; }
.entrybody h2 { font-size: 1.5em; line-height: 2.2rem; margin-bottom: 1rem; }
.entrybody h3 { font-size: 1.4em; line-height: 2.2rem; margin-bottom: 1rem; }
.entrybody h4 { font-size: 1.3em; line-height: 2rem; margin-bottom: 1rem; }
.entrybody h5 { font-size: 1.2em; line-height: 2rem; margin-bottom: 1rem; }
.entrybody h6 { font-size: 1.1em; line-height: 2rem; margin-bottom: 1rem; }
.entrybody p { font-size: 1.1em; margin-top: 1.5rem; margin-bottom: 1.5rem; line-height: 1.8em; text-align: justify; }
.entrybody blockquote { padding: 0 2em; margin:2rem 0 2rem 0; border-left:solid 1px #000; border-right:solid 1px #000; }
.entrybody blockquote p { padding: 0; margin:0; font-size:1.1rem; line-height: 1.8em; font-style: italic; }
.entrybody blockquote cite { font-size:0.5rem; line-height: 1.2em; }
.entrybody img { margin-top: 1em; margin-bottom: 1em; width:100%; }
.column .entrybody .wp-caption { border:solid 1px #333; padding:1.5em; }
.entrybody .photo_2l { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.entrybody .photo_2l li { width:100%; padding:0; margin:0 auto 0 auto; border:0; }

/* ページナビ */
.pagenavi { width:90%; margin:0 auto 5em auto; }
.pagenavi ul { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.pagenavi ul li a { border-left:solid 1px #333; border-right:solid 1px #333; padding:0 1em; }
.pagenavi ul li a.none { visibility: hidden; }

/* column */
.column_hd.column_hd_bc { background-color:#96cdc8; padding:0; }
.column_hd.column_hd_bc.column_hd_bc_2 { background-color:#f7c0b9; padding:0; }
.column_hd.column_hd_bc.column_hd_bc_3 { background-color:#d1e495; padding:0; }
.column_hd.column_hd_bc.column_hd_bc_4 { background-color:#fee274; padding:0; }
.column_hd.column_hd_bc.column_hd_bc_5 { background-color:#d2bada; padding:0; }
.entrybody .try { padding:2em; margin:3em 0 0 0; background-color: #ffffff; border:solid 0.3em #96cdc8; }
.entrybody .try.try_2 { border:solid 0.3em #f7c0b9; }
.entrybody .try h3 { font-size: 2em; line-height: 1.4em; }
.entrybody .try p { font-size: 1em; line-height: 1.8em; margin:0; }
.entrybody .try p.cap { font-size: 0.7em; line-height: 1.2em; margin:0; }
.entrybody .try p.cap { font-size: 0.7em; line-height: 1.2em; }
.entrybody .try a.bot { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; align-items: center; border:none !important; text-align: center !important; color:#fff; background-color: #333; padding: 0.75em; font-size: 1em; }
.entrybody .try a.bot:hover { color:#333; background-color: #fff; }
.entrybody .try a.bot i { font-size: 0.7em; line-height: 1em; margin:0 0.6em 0 0; }
.entrybody .youtube_box { border:solid 1px #333; border-left:none; border-right:none; padding:1em 0; margin:2em 0; border-radius: 0; }
.entrybody .youtube_box h2 { font-size: 1.3em; line-height: 1.5; margin:0 0 0 0; padding:0.75em; text-align: center; border-left:solid 1px #333; border-right:solid 1px #333; }
.entrybody .youtube_box .youtube { margin:1em 0 0 0; }
.entrybody .instagram_box { border:solid 1px #333; border-left:none; border-right:none; padding:1.5em 0; margin:2em 0; border-radius: 0; display: flex; flex-direction: column; flex-wrap: wrap; justify-content:center; align-items: center; }
.entrybody .instagram_box .instagram_box_title { font-size: 1.3em; line-height: 1.5; margin:0 0 0.25em 0; }
.entrybody .instagram_box i { margin:0 0.5em 0 0; }
.entrybody .instagram_box a { font-size: 1em; letter-spacing: 0; }

/* products */
.products #contents #products_main { margin-bottom:2em; }
.products #contents #products_main li { width:100%; margin-right:0; margin-bottom:2em; display:block; }
.products #contents #products_main li:nth-child(2n) { margin-right:0; }
.products #contents #products_main li:nth-last-child(-n+2) { margin-bottom:2em; }
.products #contents #products_main li:last-child { margin-bottom:0; }
.products #contents #products_main li figcaption { line-height: 1.6em; }
.products #contents #products_main figure img { margin-bottom:0.75em; }
.products #contents #products_main .wholesale_bn figcaption .wholesale_bnTxt { text-align: center; font-size: 1.2em; font-weight: 400; line-height: 1.2em; background-color: #fff; padding:1em 1em 0.5em 1em; }
.products #contents #products_main .wholesale_bn figcaption .wholesale_bnTxtSmall { font-size: 0.6em; }
.products #contents #products_sub { margin-bottom:2em; }
.products #contents #products_sub li { width:100%; margin-right:0; margin-bottom:2em; display:block; }
.products #contents #products_sub li:nth-child(3) { margin-right:0; }
.products #contents #products_sub li:last-child { margin-bottom:0; }
.products #contents #products_sub figure img { margin-bottom:0.75em; }
.products #contents #products_sub li figcaption { line-height: 1.6em; }
.products #contents #products_other { margin-bottom:5em; }
.products #contents #products_other li { width:100%; margin-right:0; margin-bottom:2em; display:block; }
.products #contents #products_other li:nth-child(2n) { margin-right:0; }
.products #contents #products_other figure img { margin-bottom:0.75em; }

/* mailform */
#mailform { border-top:solid 1px #333; padding:1em 0 0 0; margin:2em 0 0 0; }
#mailform th { display:block; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; padding:1.5em 0 0 0; width:100%; }
#mailform td { display:block; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; padding:0.25em 0 0 0; width:100%; }
#mailform td input[type="text"] { width:100% !important; padding:0.4em; border:solid 1px #333; font-size: 1em; line-height: 1.5em; }
#mailform td input[type="text"].age { width:3em !important; margin:0 0.4em 0 0; }
#mailform td textarea { width:100% !important; height:10em !important; padding:0.4em; border:solid 1px #333; font-size: 1em; line-height: 1.5em; }
#mailform .submit input[type="submit"] { width:100%; padding:0.6em; color:#fff; background-color: #333; border:solid 1px #333; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1.1em; letter-spacing: 0.1em; line-height: 1.5em; }
#mailform .submit input[type="submit"]:hover { background-color: #fff; color:#333; }

/* products詳細 */
.products #products_main { width: 100%; margin-right: auto; margin-left: auto; position: relative; }
.products #products_main .play { z-index:999; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 5em; height: auto; }
.products #contents .products_title { font-size:2.2em; line-height:1.5em; padding-top:0.5em; margin-bottom:0; letter-spacing:0.1em; text-align:center; }
.products #contents .slide { margin-bottom:0.75em; }
.products #contents .slide .slider-for { width:100%; margin:0 auto; height:auto; }
.products #contents .slide.himotore_slide .slider-for { width: 100%; height:auto; }
.products #contents .slide.himotore_slide .slider-for img { object-fit: cover; width:100%; height:100%; }
.products #contents .slide .slider-nav { width:100%; margin:1em auto; }
.products #contents .slide .slider-nav li { padding:0 0.25em; }
.products #contents .slide .arrow_left { display:none !important; }
.products #contents .slide .arrow_right { display:none !important; }
.products #contents .recommend_block { text-align:center; margin:0 auto; padding:5em 0; }
.products #contents .recommend_block h2 { text-align:center; margin-right:0; margin-bottom:1em; display:block; vertical-align:top; }
.products #contents .recommend_block p { text-align:left; display:inline-block; vertical-align:top; }
.products #contents .recommend_block ul { text-align:center; margin-top:3em; }
.products #contents .recommend_block ul li { vertical-align:middle; margin:1.5em 0.2em; }
.products #contents .recommend_block ul li span { border-top:1px solid #000; border-bottom: 1px solid #000; padding:0.75em 0; }
.products #contents .point_block { padding-top:5em; padding-bottom:5em; width:100%; }
.products #contents .point_block h2 { margin-bottom:1.5em; }
.products #contents .point_block .left { float:none; width:100%; clear:none; }
.products #contents .point_block .right { float:none; width:100%; clear:none; }
.products #contents .point_block .point_main { margin-bottom:2em; border-top:1px solid #000; padding-top:3em; }
.products #contents .point_block .point_main figure { width:90%; margin:0 auto 1.5em auto; }
.products #contents .point_block .point_main dl dt { margin-bottom:0.5em; }
.products #contents .point_block .point_sub { margin-bottom:2em; border-top:1px solid #000; padding-top:3em; }
.products #contents .point_block .point_sub:last-child { border-bottom:none; padding-bottom:0; }
.products #contents .point_block .point_sub figure { width:24%; display:inline-block; padding:0.5em 5%; vertical-align:top; }
.products #contents .point_block .point_sub dl { width:74%; display:inline-block; vertical-align:top; }
.products #contents .point_block .point_sub dl dt { margin-bottom:0.5em; }
.products #contents .point_block p { text-align:right; border-top:1px solid #000; padding-top:2em; }
.products #contents .cart_block { padding-top:2em; padding-bottom:2em; }
.products #contents .cart_block .cart_photo { width:100%; float:none; clear:none; }
.products #contents .cart_block .cart_photo .mainimage { margin-bottom:1em; }
.products #contents .cart_block .cart_photo .thumbnail { font-size:0px; }
.products #contents .cart_block .cart_photo .thumbnail li { display:inline-block; width:23.9%; margin-right:1%; margin-bottom:1%; }
.products #contents .cart_block .cart_photo .thumbnail li:nth-child(4n) { margin-right:0; }
.products #contents .cart_block .cart_photo .thumbnail_two { font-size:13px; }
.products #contents .cart_block .cart_photo .thumbnail_two li { display:inline-block; width:48%; margin-right:2%; margin-bottom:1em; }
.products #contents .cart_block .cart_photo .thumbnail_two li:nth-child(2n) { margin-right:0; }
.products #contents .cart_block .cart_detail { width:100%; float:none; clear:none; margin-top:2em; }
.products #contents .cart_block .cart_detail h1 { font-size:2em; margin-bottom:1em; }
.products #contents .cart_block .cart_detail #data { margin-bottom:2em; }
.products #contents .cart_block .cart_detail #data dl {  }
.products #contents .cart_block .cart_detail #data dl dt { width:100%; }
.products #contents .cart_block .cart_detail #data dl dd { width: 100%; }
.products #contents .cart_block .cart_detail #cart { border-top:1px solid #000; padding:2em 0 2em 0; margin-bottom:2em; margin-bottom:1em; }
.products #contents .cart_block .cart_detail #cart #name { margin-bottom:0.5em; }
.products #contents .cart_block .cart_detail #cart #name h2 { font-weight:bold; margin-bottom:0.3em; line-height:1em; }
.products #contents .cart_block .cart_detail #cart .cartjs_box table { width:100%; }
.products #contents .cart_block .cart_detail #cart .cartjs_box tr { margin-bottom:0.5em; padding-bottom:0.5em; border-bottom:1px solid #e5e5e5; display:block; }
.products #contents .cart_block .cart_detail #cart .cartjs_box tr:last-child { border-bottom:none; }
.products #contents .cart_block .cart_detail #cart .cartjs_box tr th { font-size:0.85rem; width:30%;  margin-right:3%; display:inline-block; font-weight:normal; }
.products #contents .cart_block .cart_detail #cart .cartjs_box tr td { font-size:1rem; width:65%; display:inline-block; padding:0 !important; }
.products #contents .cart_block .cart_detail #cart .cartjs_box .cartjs_sales_price td { font-size:1.4rem; font-weight:bold; }
.products #contents .cart_block .cart_detail #cart .cartjs_box .cartjs_product_num input[type="text"] { font-size: 1em; line-height: 1em; color: #333; background-color: #eee; text-align: center; height: 2.75em; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; font-family: "Helvetica LT W01 Bold",  YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.products #contents .cart_block .cart_detail #cart .cartjs_box .cartjs_option select { -webkit-appearance: none !important; -webkit-border-radius: 0px; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+); background-position: 100% center; background-repeat: no-repeat; font-size: 1em; color: rgba(0, 0, 0, 0.75); line-height: normal; border-radius: 0; height: auto; width: 100%; text-align: center; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #eee; letter-spacing: 0.05em; padding: 0.8em 1em; }
.products #contents .cart_block .cart_detail #cart .cartjs_box .cartjs_cart_in input[type="submit"] { cursor: pointer; color: #FFF; background-color: #333; text-align: center; width: 100%; font-size: 1em; line-height: 1em; letter-spacing: 0.1em; border: 2px solid #333; padding: 1em 1.2em; font-family: "Helvetica LT W01 Bold",  YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.products #contents .cart_block .cart_detail #cart .cartjs_box .cartjs_cart_in input[type="submit"]:hover { color: #333; background-color: #FFF; border-top-color: #333; border-right-color: #333; border-bottom-color: #333; border-left-color: #333; }
.products #contents .products_list { margin:2em 0; }
.products #contents .products_list ul { text-align:center; font-size:13px; }
.products #contents .products_list li { width:48%; margin:0 4% 1rem 0; display:inline-block; vertical-align:top; }
.products #contents .products_list li:nth-child(4n) { margin-right:4%; }
.products #contents .products_list li:nth-child(2n) { margin-right:0; }
.products #contents .products_list li:nth-child(2n+1) { clear:both; }
.products #contents .products_list li figcaption { line-height: 1.5em; margin:0.5em 0 0 0; }
.products #contents .products_list li p { text-align:left; font-size:1em; }
.products #contents .option_list { margin:2em 0; }
.products #contents .option_list ul { text-align:center; font-size:13px; }
.products #contents .option_list li { width:48%; margin:0 4% 1rem 0; display:inline-block; vertical-align:top; }
.products #contents .option_list li:nth-child(4n) { margin-right:4%; }
.products #contents .option_list li:nth-child(2n) { margin-right:0; }
.products #contents .option_list li:nth-child(2n+1) { clear:both; }
.products #contents .option_list li figcaption { margin:0.5em 0 1em 0; }
.products #contents .option_list li figcaption span { display:block; font-size: 0.4em; line-height: 1.5em; letter-spacing: 0.05em; }
.products #contents .option_list li .cartjs_box table { width:100%; }
.products #contents .option_list li .cartjs_box tr { margin-bottom:0.3rem; padding-bottom:0.3rem; border-bottom:1px solid #e5e5e5; display:block; }
.products #contents .option_list li .cartjs_box tr:last-child { border-bottom:none; }
.products #contents .option_list li .cartjs_box tr th { font-size:0.5rem; width:30%; padding:0.05rem 0; margin-right:3%; display:inline-block; font-weight:normal; }
.products #contents .option_list li .cartjs_box tr td { font-size:0.5rem; width:65%; display:inline-block; padding:0 !important; }
.products #contents .option_list li .cartjs_box .cartjs_sales_price td { font-size:1rem; font-weight:bold; }
.products #contents .option_list li .cartjs_box .cartjs_product_num input[type="text"] { font-size: 1em; line-height: 1em; color: #333; background-color: #eee; text-align: center; height: 2.75em; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; font-family: "Helvetica LT W01 Bold",  YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.products #contents .option_list li .cartjs_box .cartjs_option select { -webkit-appearance: none !important; -webkit-border-radius: 0px; background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+); background-position: 100% center; background-repeat: no-repeat; font-size: 1em; color: rgba(0, 0, 0, 0.75); line-height: normal; border-radius: 0; height: auto; width: 100%; text-align: center; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #eee; letter-spacing: 0.05em; padding: 0.8em 1em; }
.products #contents .option_list li .cartjs_box .cartjs_cart_in input[type="submit"] { cursor: pointer; color: #FFF; background-color: #333; text-align: center; width: 100%; font-size: 0.7rem; line-height: 1em; letter-spacing: 0.1em; border: 2px solid #333; padding: 1em 0.5em; font-family: "Helvetica LT W01 Bold",  YuGothic, "Yu Gothic", "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.products #contents .option_list li .cartjs_box .cartjs_cart_in input[type="submit"]:hover { color: #333; background-color: #FFF; border-top-color: #333; border-right-color: #333; border-bottom-color: #333; border-left-color: #333; }
.products #contents .profile { border:solid 1px #333; margin:2em 0 0 0; padding:2em; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.products #contents .profile dt { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; width:50%; margin:0 auto 1em auto; }
.products #contents .profile dd { width:100%; font-size: 0.9em; line-height: 1.8em; text-align: justify; }

#movie_top { position: relative; }
#movie_top video { width: 100%; height: auto; }
#movie_top:after { position: absolute; z-index: 0; top: 0; left: 0; width: 100%; height: 100%; content: ""; display: block; background-color: rgba(0, 0, 0, 0); background-image: radial-gradient(#4fa5ce 15%, transparent 0), radial-gradient(#4fa5ce 15%, transparent 0); background-position: 0 0, 10px 10px; background-size: 4px 4px; opacity: 0.5; }

/* about */
.about #contents #profile { margin:1em 0 0 0; padding:2em; border:solid 1px #333; border-bottom:none; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.about #contents #profile figure { width:50%; margin:0 auto 3em 0; }
.about #contents #profile #prof_text { width:100%; text-align: justify; }
.about #contents #profile #prof_text dt { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; margin-bottom:1em; line-height: 1; }
.about #contents #company { width:90%; margin:0 auto 7em auto; }
.about #contents #company dl { margin-bottom:1em;  }
.about #contents #company dl dt { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; display:block; width:auto; margin-right:0; margin-bottom:0.5em; font-weight:bold; }
.about #contents #company dl dd { font-size: 0.9em; text-align: justify; display:block; }
.about #contents #service { border:solid 1px #333; border-bottom:none; }
.about #contents #service .service_title { cursor:pointer; font-size: 1.2em; line-height: 1em; padding:2em; border-bottom:solid 1px #333; }
.about #contents #service .service_title dl { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
.about #contents #service .service_title dl dt { font-family: Helvetica Neue, helvetica, sans-serif; font-weight: 200; font-size: 1.4em; line-height: 1em; margin:0 0 0.75em 0; }
.about #contents #service .service_title dl dd { width:100%; font-size: 1em; line-height: 1em; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.about #contents #service .service_title dl dd::after { font-family: "Font Awesome 5 Free"; content:"\f358"; font-size: 1.2em; line-height: 1em; margin:0 0 0 1em; }
.about #contents #service .service_title.open,.about #contents #service .service_title:hover { background-color: #333; color:#fff; }
.about #contents #service .service_ex { display:none; padding:2em; border-bottom:solid 1px #333; }
.about #contents #service .service_ex p { font-size: 1em; line-height: 1.8em; margin:0 0 1.5em 0; text-align: justify; }
.about #contents #service .service_ex p.cap { font-size: 0.9em; line-height: 1.8em; margin:0 0 1.5em 0; text-align: justify; }
.about #contents #service .service_ex h3 { font-size: 1.1em; line-height: 1.4em; margin:3em 0 1.5em 0; text-align: left; border-left:solid 3px #333; padding:0 0 0 1em; font-weight: bold; }
.about #contents #service .service_ex h4 { font-size: 1.1em; line-height: 1.4em; margin:3em 0 1.5em 0; text-align: left; padding:1em 1.5em; background-color: #eee; color:#333; }
.about #contents #service .service_ex dl { background-color: #eee; padding:2em; }
.about #contents #service .service_ex dl dt { font-size: 1em; line-height: 1.4em; margin:2em 0 1em 0; background-color: #fff; padding:1em 1.25em; }
.about #contents #service .service_ex dl dt:first-child { margin:0 0 1em 0; }
.about #contents #service .service_ex dl dd { font-size: 0.9em; line-height: 1.8em; padding:0; text-align: justify; }
.about #contents #service .service_ex .links a { font-size: 1em; line-height: 1.4em; display:block; background-color: #333; color:#fff; margin:2em 0 0 0; padding:1.5em; text-align: center; }
.about #contents #service .service_case li { font-size: 1em; line-height: 1.8em; border-left:solid 5px #eee; padding:0 0 0 1em; margin:1em 0; }
.about #contents #service .service_price { padding:2em; border-bottom:solid 1px #333; }
.about #contents #service .service_price dl { background-color: #eee; padding:2em; }
.about #contents #service .service_price dl dt { font-size: 1em; line-height: 1.4em; margin:2em 0 1em 0; background-color: #fff; padding:1em 1.25em; }
.about #contents #service .service_price dl dt:first-child { margin:0 0 1em 0; }
.about #contents #service .service_price dl dd { font-size: 0.9em; line-height: 1.8em; padding:0; text-align: justify; }

/* concept */
.concept #contents .sub_block { padding-top:3em; padding-bottom:4em; text-align:center; }
.concept #contents .sub_block ul li { display:inline-block; width:100%; margin-right:0; margin-bottom:3em; vertical-align:top; }
.concept #contents .sub_block ul li:nth-child(2n) { margin-right:0; }
.concept #contents .sub_block ul li:nth-child(3) { margin-right:0; }
.concept #contents .sub_block ul li:nth-last-child(-n+3) { margin-bottom:3em; }
.concept #contents .sub_block ul li:nth-last-child(-n+2) { margin-bottom:3em;}
.concept #contents .sub_block ul li dt { margin-top:1em; margin-bottom:0.7em; }
.concept #contents .sub_block ul li dd { width:80%; margin:auto; }

/* faq */
.faq #contents .qa_block { width:90%; margin:0 auto; }
.faq #contents .qa_block li:first-child { padding-top:3em; }
.faq #contents .qa_block li:last-child { margin-bottom:0; }

/* soudan */
.soudan_contents { background-color: #f6eed2; border-radius: 1em; }
.soudan_hd { padding:1em; }
.soudan_body { padding:1em; }
.soudan_body .soudan_lead { margin:0 0 1em 0; flex-direction: column; }
.soudan_body .soudan_lead .soudan_lead_left { width:100%; border-top:solid 2px #fff; border-bottom:none; padding:2.5em 1em; }
.soudan_body .soudan_lead .soudan_lead_left p { width:88%; font-size: 0.95rem; margin:0 auto 2em auto; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; line-height: 1.8; text-align: justify; }
.soudan_body .soudan_lead .soudan_lead_left figure { width:75%; margin:0 auto; border-radius: 50%; overflow: hidden; }
.soudan_body .soudan_lead .soudan_lead_left .soudan_lead_left_profile { margin:2em 0 0 0; text-align: center; }
.soudan_body .soudan_lead .soudan_lead_left .soudan_lead_left_profile a { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; border-left:solid 2px; border-right:solid 1.5px; padding:0 1em; font-size: 0.7rem; line-height: 1; }
.soudan_body .soudan_lead .soudan_lead_right { width:100%; margin:0 0 2em 0; }
.soudan_body .soudan_lead .soudan_lead_right li { border-top:solid 2px #fff; padding:1.5em 0.5em; }
.soudan_body .soudan_lead .soudan_lead_right li:last-child { border-bottom:solid 2px #fff; }
.soudan_body h2 { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1rem; padding:0.5em 1.25em; border-radius: 0.3em; margin:0 0 1em 0; line-height: 2em; text-align: center; background-color: #fff; color:#222; border:solid 0.2rem #222; }
.soudan_body p.soudan_wanted { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; width:90%; margin:2em auto; font-size: 0.9rem; line-height: 1.8em; text-align: center; }
.soudan_body p.soudan_wanted strong { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; }
.soudan_body .soudan_youtube { width:90%; margin:1em auto 3em auto; text-align: center; }
.soudan_body .soudan_youtube span { display:block; margin:2em 0 0 0; text-align: center;  background-color: #333; color:#fff; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1.1em; border-radius: 2em; padding:0.5em 0; }
.soudan_body .soudan_youtube:hover span { background-color: #fff; color:#333; border-radius: 2em; }
.soudan_body .soudan_present { border:solid 2px #ffffff; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; margin:0 auto 1.5em auto; padding:1.5rem; border-radius: 0.5em; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
.soudan_body .soudan_present .soudan_present_left { width:100%; padding:0 0 1em 0; }
.soudan_body .soudan_present .soudan_present_left h3 { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1.2em; margin:0 0 0.5em 0; }
.soudan_body .soudan_present .soudan_present_left p { font-size: 1em; line-height: 1.8em; text-align: justify; }
.soudan_body .soudan_present .soudan_present_right { width:100%; border-left:none; border-top:solid 2px #ffffff; padding:1em 0 0 0; }
.soudan_body .soudan_present .soudan_present_right p { font-size: 0.9em; line-height: 1.8em; text-align: justify; }
.soudan_body .tabs { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
.soudan_body .tab_item { width:50%; padding:2em; background-color: #f6eed2; text-align: center; border-radius: 1em 1em 0 0; cursor:pointer; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 0.9rem; letter-spacing: 0; padding:1.5em 0 1em 0; line-height: 1.5em; text-align: center; }
.tab_item:hover { background-color: #ffffff; }
.soudan_body input[name="tab_item"] { display: none; }
.soudan_body .tab_content { width:100%; display: none; }
.soudan_body #soudan_a:checked ~ #soudan_a_content, #soudan_b:checked ~ #soudan_b_content { display: block; }
.soudan_body .tabs input:checked + .tab_item { }
.soudan_body .tabs input[type="radio"]:checked + label { background: #ffffff; }
.soudan_form { margin:0 0 0 0; padding:1em;  background-color: #fff; border-radius: 0 0 1em 1em;  }
.soudan_form h3 { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1.1rem; padding:1em 0.75em; border-radius: 0.3em; margin:0 0 0 0; line-height: 1.4em; text-align: center; background-color: #f6eed2; }
.soudan_form_dl { padding:0 0 1em 0; }
.soudan_form_dl dt { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1.1em; line-height: 1.5; margin:1em 0 0.5em 0; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; }
.soudan_form_dl dt br { display:none; }
.soudan_form_dl dt .nes { font-size: 0.7em; line-height: 1; background-color: #222222; color:#ffffff; margin:0.75em 0; padding:0.5em 0.75em; border-radius: 0.4em; }
.soudan_form_dl dt .nones { font-size: 0.7em; line-height: 1; background-color: #f6eed2; color:#222; margin:0.75em 0; padding:0.5em 0.75em; border-radius: 0.4em; }
.soudan_form_dl dd { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; padding:0 0 0 0; }
.soudan_form_dl dd textarea { width:100% !important; height:10em !important; background-color: #ffffff; border:solid 2px #ddd; padding:0.4em; font-size: 1.2em; line-height: 1.5em; border-radius: 0.3em; }
.soudan_form .submit button { width:100%; padding:1em 0.5em; margin:1.5em 0 0 0; color:#fff; background-color: #333; border:solid 1px #333; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1.2em; letter-spacing: 0.1em; line-height: 1.5em; border-radius: 0.3em; }
.soudan_form .submit button:hover { background-color: #fff; color:#333; }
.user_form_dl { background-color: #f6eed2; padding:2em; margin:0 0 0 0; border-radius: 0.5em; }
.user_form_dl dt { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1em; margin:1.5em 0 0.5em 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.user_form_dl dt:first-child { margin:0 0 1em 0; }
.user_form_dl dt .nes { font-size: 0.7em; line-height: 1; background-color: #222222; color:#ffffff; padding:0.5em 0.75em; border-radius: 0.4em; }
.user_form_dl dt .nones { font-size: 0.7em; line-height: 1; background-color: #f6eed2; color:#222; padding:0.5em 0.75em; border-radius: 0.4em; }
.user_form_dl dd { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; padding:0 0 0 0; }
.user_form_dl dd input[type="text"],
.user_form_dl dd input[type="email"] { width:100% !important; padding:1em; border:none; font-size: 1em; line-height: 1.5em; border-radius: 0.3em; }
.user_form_dl dd select { background-color:#ffffff; outline: none; width:100% !important; padding:1em; border:none; font-size: 1em; line-height: 1.5em; border-radius: 0.3em;  }
.soudan_form #mfp_hidden { display:none; }
.soudan_form .mfp_err { color:#d64848; margin:0.5em 0; }
.soudan_form #mfp_phase_confirm_inner { width:100%; }
.soudan_form #mfp_phase_confirm_inner h4 { font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500;  background-color: #f6eed2; text-align: center; font-size: 1.2em; line-height: 1; padding:1em; margin:2em 0 1em 0; border-radius: 0.5em; }
.soudan_form #mfp_phase_confirm_inner #mfp_confirm_table { width:100%; }
.soudan_form #mfp_phase_confirm_inner #mfp_confirm_table tr { width:100%; border-top:solid 1px #ddd; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
.soudan_form #mfp_phase_confirm_inner #mfp_confirm_table tr:first-child { border:none; }
.soudan_form #mfp_phase_confirm_inner #mfp_confirm_table th { width:100%; padding:1em; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1em; line-height: 1.5; }
.soudan_form #mfp_phase_confirm_inner #mfp_confirm_table td { width:100%; padding:0 1em 1em 1em; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; color:#666; font-size: 1em; line-height: 1.5; }
.soudan_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_send { width:100%; padding:1em; margin:2em 0 0 0; color:#fff; background-color: #333; border:solid 1px #333; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1.2sem; letter-spacing: 0.1em; line-height: 1.5em; border-radius: 0.3em; cursor:pointer; }
.soudan_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_send:hover { background-color: #fff; color:#333; }
.soudan_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel { background-color: #fff; width:100%; padding:1em; margin:0.5em 0 0 0; color:#333; border:solid 1px #333; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500; font-size: 1em; letter-spacing: 0.1em; line-height: 1.5em; border-radius: 0.3em; cursor:pointer; }
.soudan_form #mfp_phase_confirm_inner .mfp_buttons #mfp_button_cancel:hover { background-color: #fff; color:#333; }

/* banner */
#banner_product { position:relative; margin:2em 0 3em 0; }
#banner_product dl { width:100%; border:1px solid #000; padding:2em; }
#banner_product dl dt { display:block; width:100%; margin: 0 0 2em 0; vertical-align:middle; }
#banner_product dl dd { font-size: 1em; line-height: 1.8em; display:inline-block; width:100%; vertical-align:middle; }
#banner_product dl dd h2 { font-size: 2em; margin-bottom:0.4em; }

#banner_other { position:relative; margin-top:2em; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#banner_other dl { width:100%; border:1px solid #000; padding:2em; }
#banner_other dl:nth-child(2) { border-left:1px solid #000; border-top:none; padding:2em; }
#banner_other dl a { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#banner_other dl dt { width:100%; margin:0 0 1.5em 0; }
#banner_other dl dd { width:100%; }
#banner_other dl dd h2 { margin-bottom:0.75em; }

#banner_hfj { position:relative; margin:5em auto; display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#banner_hfj dl { width:100%; border:1px solid #000; padding:2em; }
#banner_hfj dl:nth-child(2) { border-left:none; padding:2em; }
#banner_hfj dl a { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#banner_hfj dl dt { width:100%; margin:0 0 1.5em 0; }
#banner_hfj dl dd { width:100%; }
#banner_hfj dl dd h2 { margin-bottom:0.75em; }
#banner_hfj dl dd h3 { margin-bottom:0.75em; }

#banner_books { margin-top:4em; border-top:solid 1px #333; border-left:solid 1px #333; }
#banner_books h2 { text-align: center; border-right:solid 1px #333; border-bottom:solid 1px #333; }
#banner_books ul { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: stretch; }
#banner_books ul li { width:100%; padding:1.5em; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; border-right:solid 1px #333; border-bottom:solid 1px #333; }
#banner_books ul li .thumb { width:25%; }
#banner_books ul li dl { width:68%; }
#banner_books ul li dl .title { font-size: 1.1em; line-height: 1.6em; margin:0 0 0.5em 0; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500;  }
#banner_books ul li dl .ex { font-size: 0.9em; line-height: 1.6em; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; text-align: justify;}

/* attention */
#attention { border:solid 1px #000; margin:4em 0 0 0; }
#attention .attention_head { padding:2em; display: block; }
#attention .attention_head h2 { font-size: 1.5em; line-height: 1em; margin:0 0 1em 0; }
#attention .attention_head a { font-size: 1em; line-height: 1em; color:#fff; background-color: #333; padding:1em 0; margin:1em 0 0 0; display:block; width:100%; text-align: center; }
.old #attention .attention_head a { display:none; }
#attention .attention_body { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; }
#attention .attention_body .attention_block { width:100%; margin:0 0 0 0; padding:2em; border-top:solid 1px #000; border-right:none; }
#attention .attention_body .attention_block:nth-child(4n) { border-right:none; }
#attention .attention_body .attention_block dt { font-size: 1em; line-height: 1.8em; font-weight: bold; margin:1.5em 0 0.5em 0; letter-spacing: 0.05em; }
#attention .attention_body .attention_block dt:first-child { margin:0 0 0.5em 0; }
#attention .attention_body .attention_block dd { font-size: 0.9em; line-height: 1.8em; text-align:justify; letter-spacing: 0.05em; }

/* yoyaku */
#yoyaku { border:solid 1px #000; margin:2em 0; }
#yoyaku .yoyaku_head { display: block; }
#yoyaku .yoyaku_head h2 { font-size: 1.5em; }
#yoyaku .yoyaku_head a { font-size: 1em; }
#yoyaku .yoyaku_body { flex-direction: column; }
#yoyaku .yoyaku_body .yoyaku_block { width:100%; margin:0 0 0 0; padding:2em; border-top:solid 1px #000; border-right:none; }
#yoyaku .yoyaku_body .yoyaku_block:last-child { border-right:none; }
#yoyaku .yoyaku_body .yoyaku_block dt { font-size: 1em; }
#yoyaku .yoyaku_body .yoyaku_block dd { font-size: 0.9em; }

/* footer */
#footer { width:100%; padding: 2em 0 5em 0; clear:both; }
#footer nav { width: 100%; margin: 0 auto; text-align:center; }
#footer .ft_navi { display:block; width:80%; margin:0 auto; font-size:1.1em; }
#footer .ft_navi li { display:inline-block; vertical-align:middle; margin-left:0; padding:0.3em 0.5em; }
#footer .ft_sns { display:block; margin:1em 0; font-size:1.6em; }
#footer .ft_sns li { display:inline-block; vertical-align:middle; margin-left:0.75em; }
#footer .ft_other { display:block; width:80%; margin:1em auto; font-size:0.8rem; }
#footer .ft_other li { display:inline-block; vertical-align:middle; margin-left:1em; }
#footer .ft_caption { margin-top:6em; text-align:center; }

.products #contents .cart_block .cart_photo .mainimage { margin:0 0 0 0; padding:0 0 0.25rem 0; }
.products #contents .cart_block .cart_photo .mainimage img { object-fit: cover; width:100%; height:100%; }
.products #contents .cart_block .cart_photo .thumbnail { display:flex; flex-wrap: wrap; gap:0.25rem; }
.products #contents .cart_block .cart_photo .thumbnail li { width:calc(25% - ( 0.75rem / 4 ) ); margin:0; cursor: pointer; }

}
