﻿@charset "UTF-8";
/* import url('https://fonts.googleapis.com/css?family=Open+Sans:400,600,700'); */

/* ===================================
	File Name   : style.css
	Description : Base Layout CSS
	
	Update Description :
	[2024/06/01] 新規作成

====================================== */

/*========== Style Contents ==========

	1. Switch
	2. Global Redefinition
	3. Header Redefinition
	4. Footer Redefinition
	5. Alignment Redefinition
	   - margin
	   - padding
	   - width
	   - Text Alignment
	6. Font Redefinition
	7. Box Setting
	8. Form / Common Items Setting
		- Main Items
	 	- 3D Page Title
		- 3D View
	9. others
	    - Page Transition
	    - Breadcrumbs

====================================== */

/*===== ■1. Switch =====*/
.block { display: block;}
.pc { display: block;}
.sp { display: none;}

@media only screen and (max-width: 859px){
	#main_container #select-category ul.pc { display: none;}
	#main_container #select-category .sp { display: block;}
	.toppage #header_overview .pc { display: none;}
}
@media only screen and (max-width: 768px){
	.pc { display: none;}
	.sp { display: block;}
}

:lang(ja) .lang_en,
:lang(ja) #main_container .view_item li .item_box img.lang_en,
:lang(ja) #main_container .view_item li a.lang_en,
:lang(en) .lang_jp,  
:lang(en) #main_container .view_item li .item_box img.lang_jp,
:lang(en) #main_container .view_item li a.lang_jp {
	display: none;
}


/*===== ■2. Global Redefinition =====*/
html , body {
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	/*overflow:hidden;*/
}

body {
    position: relative;
    margin: 0px auto;
    padding: 0px;
    box-sizing: border-box;
    line-height: 1.5;
    color: #333333;
    background-image: linear-gradient(0deg, transparent 31px, #b0b0b0  32px), linear-gradient(90deg,  transparent 31px, #b0b0b0  32px);
    background-size: 32px 32px;
    background-color: #f5f5f5;
    background-attachment: fixed;
    height: 100vh;
}
body.toppage{
	visibility: hidden;
}

main {
	display: block;
	position: relative;
	z-index: 2;
	margin: 0 auto;
}

/* 3D View Page Main */
main.desp_3dview {
	min-height: calc(100% - 80px);
}

/* img 全般 */
article img, 
#article img { width: 100%; height: auto; }
article img.origin, 
#article img.origin { width: auto;}
#article img.origin2 { width: auto;}
#article img.origin3 { width: auto; max-width: 100%}

article #main_header h1 img,
#article #main_header h1 img {
    width: 2.5rem;
    vertical-align: middle;
}
.toppage article #main_header h1 img,
.toppage #article #main_header h1 img {
    width: 100%;
}

@media only screen and (max-width: 768px){
	article img.origin,	
	#article img.origin { width: 100%;}
	#article img.origin3 { width: 100%;}
}

/* main visual */
#visual {
	/* width: 100%; */
    position: static;
    overflow-x: hidden;
}
.visual_container {
    position: fixed;
    top: 0px;
    left: 0px;
}
#visual_slide {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
}


/*===== ■4. Header Redefinition =====*/
body > header {
	position: relative;
	width: 100%;
	height: auto;
	top: 0;
	margin: 0 auto;
	padding: 0;
	z-index: 99;
}
body > header .header {
	padding: 24px 15px 0px;
	/* border: 1px solid #f0f0f0; */
	background: rgba(0, 35, 70, 0.8);
	/* box-shadow: -1px -1px 2px #f6f6f6; */
}
body.toppage > header .header {
	padding: 24px 15px;
	background: rgba(0, 49, 93, 1.0);
}

body > header .com_logo a {
	display: inline-block;
	height: 24px;
}
body > header .com_logo img {
	vertical-align: middle;
	margin-right: 10px;
	height: 24px;
}

body:not(.toppage) .toggle_language {
	display: none;
}
.toggle_language {
    position: absolute;
    top: 0.75em;
    right: 0.8em;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    border-radius: 8px;
}
.toggle_language .toggle_language_title {
    margin-right: 0.75em;
    font-weight: bold;
    font-size: 0.8em;
    color: #ffffff;
}
.toggle_language .toggle_language_label:has(:checked) {
    background-color: #ffffff;
}
.toggle_language .toggle_language_label {
    display: flex;
    align-items: center;
    position: relative;
    width: 60px;
    height: 30px;
    box-sizing: content-box;
    background-color: #ffffff;
    cursor: pointer;
    border-radius: 30px;
    transition: background-color 0.4s;
}
.toggle_language .toggle_language_label:has(:checked)::before {
    left: 33px;
    background-color: rgb(22, 86, 160);
}
.toggle_language .toggle_language_label::before {
    position: absolute;
    left: 5px;
    width: 22px;
    height: 22px;
    background-color: rgb(72, 71, 65);
    content: "";
    border-radius: 50%;
    transition: left 0.4s;
}
.toggle_language .toggle_language_label input {
    display: none;
}
.toggle_language .toggle_language_label:has(:checked)::after {
    left: 44px;
    content: "en";
}
.toggle_language .toggle_language_label::after {
    position: absolute;
    left: 17px;
    top: 50%;
    transform: translate(-50%, -50%);
    color: rgb(255, 255, 255);
    font-weight: 600;
    font-size: 0.8em;
    content: "jp";
    transition: left 0.4s;
}

@media only screen and (max-width: 1279px){
	body > header .header {
	    /* padding: 25px 0 25px 20px; */
	    border-radius: 0;
	    border: none;
	    box-shadow: none;
	}
	body > header .com_logo a, 
	body > header .com_logo img {
		height: 20px;
	}
}


/*===== ■5. Footer Redefinition =====*/
body > footer {
	position: relative;
	width: 100%;
	/* height: 80px; */
	margin: 0 auto;
	padding: 10px 15px;
	/* border: 1px solid #f0f0f0; */
	color: #fff;
	background-color: rgb(0, 49, 93);
	z-index: 99;
}
body > footer .footer_main {
	margin-bottom: 5px;
}
body > footer .com_logo img {
	vertical-align: middle;
	margin-right: 10px;
	height: 24px;
}

@media only screen and (max-width: 1136px){
	body > footer .com_logo a, 
	body > footer .com_logo img {
		height: 20px;
	}
}


/*===== ■6. Alignment Redefinition =====*/
/*----- margin ------*/
.ma00   { margin:    0; }
.ma05   { margin:  5px; }
.ma10   { margin: 10px; }
.ma15   { margin: 15px; }
.ma20   { margin: 20px; }
.ma30   { margin: 30px; }
.ma40   { margin: 40px; }
.ma50   { margin: 50px; }
.maauto { margin: auto; }
/* margin-top */
.mt00  { margin-top:     0; }
.mt05  { margin-top:   5px; }
.mt10  { margin-top:  10px; }
.mt15  { margin-top:  15px; }
.mt20  { margin-top:  20px; }
.mt25  { margin-top:  25px; }
.mt30  { margin-top:  30px; }
.mt40  { margin-top:  40px; }
.mt50  { margin-top:  50px; }
.mt60  { margin-top:  60px; }
.mt70  { margin-top:  70px; }
.mt80  { margin-top:  80px; }
.mt90  { margin-top:  90px; }
.mt100 { margin-top: 100px; }
/* margin-bottom */
.mb00  { margin-bottom:     0; }
.mb05  { margin-bottom:   5px; }
.mb10  { margin-bottom:  10px; }
.mb15  { margin-bottom:  15px; }
.mb20  { margin-bottom:  20px; }
.mb25  { margin-bottom:  25px; }
.mb30  { margin-bottom:  30px; }
.mb40  { margin-bottom:  40px; }
.mb50  { margin-bottom:  50px; }
.mb60  { margin-bottom:  60px; }
.mb70  { margin-bottom:  70px; }
.mb80  { margin-bottom:  80px; }
.mb90  { margin-bottom:  90px; }
.mb100 { margin-bottom: 100px; }
/* margin-left */
.ml00   { margin-left:    0; }
.ml05   { margin-left:  5px; }
.ml10   { margin-left: 10px; }
.ml15   { margin-left: 15px; }
.ml20   { margin-left: 20px; }
.ml30   { margin-left: 30px; }
.ml40   { margin-left: 40px; }
.ml50   { margin-left: 50px; }
.mlauto { margin-left: auto; }
/* margin-right */
.mr00   { margin-right:    0; }
.mr05   { margin-right:  5px; }
.mr10   { margin-right: 10px; }
.mr15   { margin-right: 15px; }
.mr20   { margin-right: 20px; }
.mr30   { margin-right: 30px; }
.mr40   { margin-right: 40px; }
.mr50   { margin-right: 50px; }
.mrauto { margin-right: auto; }
/* margin-left / -right */
.mlr05   { margin: 0  5px; }
.mlr10   { margin: 0 10px; }
.mlr15   { margin: 0 15px; }
.mlr20   { margin: 0 20px; }
.mlr30   { margin: 0 30px; }
.mlr40   { margin: 0 40px; }
.mlr50   { margin: 0 50px; }
.mlrauto { margin: 0 auto; }
/* margin-top / -bottom*/
.mtb10  { margin:  10px 0; }
.mtb20  { margin:  20px 0; }
.mtb30  { margin:  30px 0; }
.mtb40  { margin:  40px 0; }
.mtb50  { margin:  50px 0; }
.mtb60  { margin:  60px 0; }
.mtb70  { margin:  70px 0; }
.mtb80  { margin:  80px 0; }
.mtb90  { margin:  90px 0; }
.mtb100 { margin: 100px 0; }

/*----- padding ------*/
.pd00   { padding:    0; }
.pd05   { padding:  5px; }
.pd10   { padding: 10px; }
.pd15   { padding: 15px; }
.pd20   { padding: 20px; }
.pd30   { padding: 30px; }
.pd40   { padding: 40px; }
.pd50   { padding: 50px; }
/* padding-top */
.pt00  { padding-top:     0; }
.pt05  { padding-top:   5px; }
.pt10  { padding-top:  10px; }
.pt15  { padding-top:  15px; }
.pt20  { padding-top:  20px; }
.pt25  { padding-top:  25px; }
.pt30  { padding-top:  30px; }
.pt40  { padding-top:  40px; }
.pt50  { padding-top:  50px; }
.pt60  { padding-top:  60px; }
.pt70  { padding-top:  70px; }
.pt80  { padding-top:  80px; }
.pt90  { padding-top:  90px; }
.pt100 { padding-top: 100px; }
/* padding-bottom */
.pb00  { padding-bottom:     0; }
.pb05  { padding-bottom:   5px; }
.pb10  { padding-bottom:  10px; }
.pb15  { padding-bottom:  15px; }
.pb20  { padding-bottom:  20px; }
.pb25  { padding-bottom:  25px; }
.pb30  { padding-bottom:  30px; }
.pb40  { padding-bottom:  40px; }
.pb50  { padding-bottom:  50px; }
.pb60  { padding-bottom:  60px; }
.pb70  { padding-bottom:  70px; }
.pb80  { padding-bottom:  80px; }
.pb90  { padding-bottom:  90px; }
.pb100 { padding-bottom: 100px; }
/* padding-left */
.pl00   { padding-left:    0; }
.pl05   { padding-left:  5px; }
.pl10   { padding-left: 10px; }
.pl15   { padding-left: 15px; }
.pl20   { padding-left: 20px; }
.pl30   { padding-left: 30px; }
.pl40   { padding-left: 40px; }
.pl50   { padding-left: 50px; }
/* padding-right */
.pr00   { padding-right:    0; }
.pr05   { padding-right:  5px; }
.pr10   { padding-right: 10px; }
.pr15   { padding-right: 15px; }
.pr20   { padding-right: 20px; }
.pr30   { padding-right: 30px; }
.pr40   { padding-right: 40px; }
.pr50   { padding-right: 50px; }
/* padding-left / -right */
.plr05   { padding: 0  5px; }
.plr10   { padding: 0 10px; }
.plr15   { padding: 0 15px; }
.plr20   { padding: 0 20px; }
.plr30   { padding: 0 30px; }
.plr40   { padding: 0 40px; }
.plr50   { padding: 0 50px; }
.plrauto { padding: 0 auto; }
/* padding-top / -bottom */
.ptb10  { padding:  10px 0; }
.ptb20  { padding:  20px 0; }
.ptb30  { padding:  30px 0; }
.ptb40  { padding:  40px 0; }
.ptb50  { padding:  50px 0; }
.ptb60  { padding:  60px 0; }
.ptb70  { padding:  70px 0; }
.ptb80  { padding:  80px 0; }
.ptb90  { padding:  90px 0; }
.ptb100 { padding: 100px 0; }

/*----- width ------*/
.w10   { width:  10%; }
.w15   { width:  15%; }
.w20   { width:  20%; }
.w25   { width:  25%; }
.w30   { width:  30%; }
.w35   { width:  35%; }
.w40   { width:  40%; }
.w45   { width:  45%; }
.w50   { width:  50%; }
.w55   { width:  55%; }
.w60   { width:  60%; }
.w65   { width:  65%; }
.w70   { width:  70%; }
.w75   { width:  75%; }
.w80   { width:  80%; }
.w85   { width:  85%; }
.w90   { width:  90%; }
.w95   { width:  95%; }
.w100  { width: 100%; }
.wauto { width: auto; }

/*----- text alignment ------*/
/* float */
.floatr { float: right;}
.floatl { float: left;}
/* indent */
.indent07  { padding-left: 1.0em; text-indent: -0.7em; }
.indent27  { padding-left: 3.0em; text-indent: -2.7em; }
.indent1   { padding-left: 1.0em; text-indent: -1.0em; }
.indent2   { padding-left: 2.0em; text-indent: -2.0em; }
.indent3   { padding-left: 3.0em; text-indent: -3.0em; }
.indent4   { padding-left: 4.0em; text-indent: -4.0em; }
.indent5   { padding-left: 5.0em; text-indent: -5.0em; }
.indent_no { padding-left: 1.2em; text-indent: -1.2em; }
.indentation1 { text-indent: 1.0em; }
.indent_remarks {
	padding-left: 1.5em;
	text-indent: -1em;
	margin-left:15px;
	font-size: 0.9em;
}
/* br + margin-bottom */
br.mb05 { display: block; content: ""; margin-bottom:  5px; }
br.mb10 { display: block; content: ""; margin-bottom: 10px; }

@media only screen and (max-width: 768px){
	/*----- margin ------*/
	.ma00sp   { margin:    0; }
	.ma05sp   { margin:  5px; }
	.ma10sp   { margin: 10px; }
	.ma15sp   { margin: 15px; }
	.ma20sp   { margin: 20px; }
	.maautosp { margin: auto; }
	/* margin-top */
	.mt00sp  { margin-top:  0px; }
	.mt05sp  { margin-top:  5px; }
	.mt10sp  { margin-top: 10px; }
	.mt15sp  { margin-top: 15px; }
	.mt20sp  { margin-top: 20px; }
	.mt25sp  { margin-top: 25px; }
	.mt30sp  { margin-top: 30px; }
	.mt35sp  { margin-top: 35px; }
	.mt40sp  { margin-top: 40px; }
	.mt45sp  { margin-top: 45px; }
	.mt50sp  { margin-top: 50px; }
	.mt60sp  { margin-top: 60px; }
	.mt70sp  { margin-top: 70px; }
	/* margin-bottom */
	.mb00sp { margin-bottom:  0px; }
	.mb05sp { margin-bottom:  5px; }
	.mb10sp { margin-bottom: 10px; }
	.mb15sp { margin-bottom: 15px; }
	.mb20sp { margin-bottom: 20px; }
	.mb25sp { margin-bottom: 25px; }
	.mb30sp { margin-bottom: 30px; }
	.mb35sp { margin-bottom: 35px; }
	.mb40sp { margin-bottom: 40px; }
	.mb45sp { margin-bottom: 45px; }
	.mb50sp { margin-bottom: 50px; }
	.mb60sp { margin-bottom: 60px; }
	.mb70sp { margin-bottom: 70px; }
	/* margin-left */
	.ml00sp { margin-left:  0px; }
	.ml05sp { margin-left:  5px; }
	.ml10sp { margin-left: 10px; }
	.ml15sp { margin-left: 15px; }
	.ml20sp { margin-left: 20px; }
	.ml25sp { margin-left: 25px; }
	/* margin-right */
	.mr00sp { margin-right:  0px; }
	.mr05sp { margin-right:  5px; }
	.mr10sp { margin-right: 10px; }
	.mr15sp { margin-right: 15px; }
	.mr20sp { margin-right: 20px; }
	.mr25sp { margin-right: 25px; }
	/* margin-left / -right */
	.mlr05sp { margin: 0  5px; }
	.mlr10sp { margin: 0 10px; }
	.mlr15sp { margin: 0 15px; }
	.mlr20sp { margin: 0 20px; }
	.mlr25sp { margin: 0 25px; }
	/* margin-top / -bottom */
	.mtb10sp { margin: 10px 0; }
	.mtb20sp { margin: 20px 0; }
	.mtb30sp { margin: 30px 0; }
	.mtb40sp { margin: 40px 0; }

	/*----- padding ------*/
	.pd00sp   { padding:    0; }
	.pd05sp   { padding:  5px; }
	.pd10sp   { padding: 10px; }
	.pd15sp   { padding: 15px; }
	.pd20sp   { padding: 20px; }
	/* padding-top */
	.pt00sp  { padding-top:  0px; }
	.pt05sp  { padding-top:  5px; }
	.pt10sp  { padding-top: 10px; }
	.pt15sp  { padding-top: 15px; }
	.pt20sp  { padding-top: 20px; }
	.pt25sp  { padding-top: 25px; }
	.pt30sp  { padding-top: 30px; }
	.pt35sp  { padding-top: 35px; }
	.pt40sp  { padding-top: 40px; }
	.pt45sp  { padding-top: 45px; }
	.pt50sp  { padding-top: 50px; }
	.pt60sp  { padding-top: 60px; }
	.pt70sp  { padding-top: 70px; }
	/* padding-bottom */
	.pb00sp { padding-bottom:  0px; }
	.pb05sp { padding-bottom:  5px; }
	.pb10sp { padding-bottom: 10px; }
	.pb15sp { padding-bottom: 15px; }
	.pb20sp { padding-bottom: 20px; }
	.pb25sp { padding-bottom: 25px; }
	.pb30sp { padding-bottom: 30px; }
	.pb35sp { padding-bottom: 35px; }
	.pb40sp { padding-bottom: 40px; }
	.pb45sp { padding-bottom: 45px; }
	.pb50sp { padding-bottom: 50px; }
	.pb60sp { padding-bottom: 60px; }
	.pb70sp { padding-bottom: 70px; }
	/* padding-left */
	.pl00sp { padding-left:  0px; }
	.pl05sp { padding-left:  5px; }
	.pl10sp { padding-left: 10px; }
	.pl15sp { padding-left: 15px; }
	.pl20sp { padding-left: 20px; }
	.pl25sp { padding-left: 25px; }
	/* padding-right */
	.pr00sp { padding-right:  0px; }
	.pr05sp { padding-right:  5px; }
	.pr10sp { padding-right: 10px; }
	.pr15sp { padding-right: 15px; }
	.pr20sp { padding-right: 20px; }
	.pr25sp { padding-right: 25px; }
	/* padding-left / -right */
	.plr05sp { padding: 0  5px; }
	.plr10sp { padding: 0 10px; }
	.plr15sp { padding: 0 15px; }
	.plr20sp { padding: 0 20px; }
	.plr25sp { padding: 0 25px; }
	/* padding-top / -bottom 0 */
	.ptb10sp { padding: 10px 0; }
	.ptb20sp { padding: 20px 0; }
	.ptb30sp { padding: 30px 0; }
	.ptb40sp { padding: 40px 0; }

	/*----- width ------*/
	.w10sp  { width:  10%; }
	.w15sp  { width:  15%; }
	.w20sp  { width:  20%; }
	.w25sp  { width:  25%; }
	.w30sp  { width:  30%; }
	.w35sp  { width:  35%; }
	.w40sp  { width:  40%; }
	.w50sp  { width:  50%; }
	.w60sp  { width:  60%; }
	.w70sp  { width:  70%; }
	.w80sp  { width:  80%; }
	.w90sp  { width:  90%; }
	.w100sp { width: 100%; }

	/*----- Text Alignment ------*/
	/* br + margin-bottom */
	br.mb05sp { display: block; content: ""; margin-bottom:  5px; }
	br.mb10sp { display: block; content: ""; margin-bottom: 10px; }
}


/*===== ■6. Font Redefinition =====*/
@font-face {
  font-family: 'icon';
  src:  url('fonts/sanyo.eot?izjl9a');
  src:  url('fonts/sanyo.eot?izjl9a#iefix') format('embedded-opentype'),
    url('fonts/sanyo.ttf?izjl9a') format('truetype'),
    url('fonts/sanyo.woff?izjl9a') format('woff'),
    url('fonts/sanyo.svg?izjl9a#sanyo') format('svg');
  font-weight: normal;
  font-style: normal;
}

i, cite, em, var, address, dfn {
    font-style: italic;
}

[class^="ico-"], [class*=" ico-"] {
	width: 0;
	height: 0;
	text-indent: -9999px;
  	font-family: 'icon' !important;
  	speak: none;
 	color: rgba(99,98,98,1);
  	font-style: normal;
  	font-weight: normal;
 	font-variant: normal;
  	text-transform: none;
  	line-height: 1;
  	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
}

.ico-blank:before { content: "\e900";}
.ico-lang:before { content: "\e901";}
.ico-search:before { content: "\e902";}

.entry-title:after{
    content: '\e901';
    display: inline-block;
    font-family: FontAwesome;
    font-weight: normal;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html { font-size: 62.5%;}

body {
	font-size: 1.5em;
	font-weight: 400;
	/* font-family: Arial,sans-serif; */
	font-family: 'Arial','Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', 'Meiryo','ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

::-webkit-input-placeholder { color: #999;}
::-moz-placeholder { color: #999;}
:-ms-input-placeholder { color: #999;}
:placeholder-shown { color: #999;}

@media only screen and (max-width: 768px){
	html { font-size: calc(100vw / 75); }
	body { font-size: 1.4rem;}
}
@media only screen and (max-width: 640px){
	html { font-size: calc(100vw / 64); }
}
@media only screen and (max-width: 480px){
	html { font-size: calc(100vw / 48); }
}
@media only screen and (max-width: 375px){
	html { font-size: calc(100vw / 37.5); }
}

/* Font color */
.red { color: #c00;}
.white { color: #fff;}
.gray { color: #636262;}
.black { color: #000;}
.basecoler { color: #333333;}
.lightgray01 { color: #ccc;}
.lightgray02 { color: #ebebeb;}

/* Font weight */
.bol { font-weight: bold;} 		/* 700 */
.bol_300 { font-weight: 300;}	/* Light */
.bol_400 { font-weight: 400;}	/* Normal (Regular) */
.bol_500 { font-weight: 500;}	/* Medium */
.bol_600 { font-weight: 600;}	/* Semi Bold (Demi Bold) */
.bol_700 { font-weight: 700;}	/* Bold */

/* Font letter spacing: */
.l_spase01 { letter-spacing: 0.1em; }
.l_spase12 { letter-spacing: 0.12em; }
.l_spase15 { letter-spacing: 0.15em; }
.l_spase02 { letter-spacing: 0.2em; }

/* Font underline */
.under { text-decoration: underline; }

/* Font overline */
.over {
	border-top: 1px dotted #333333;
	border-left: none;
	padding: 15px 0px 0px;
}

/* Font h1 */
.main_header h1 { font-size: 2.3rem; }
h1 { font-size: 2.5rem; }

/* Font h2 */
h2 { font-size: 2.0rem; }
.view_title h2 {
    line-height: 2.0rem;
	padding: 0 5px 10px;
}

/* Font h3 */
h3 { font-size: 1.5rem; }

/* Font p */
p { font-size: 1.5rem; }
p.item_name {
	display: block;
	padding-top: 20px;
	text-align: center;
	color: #333333;
}
#main_container .view_item li.other_products p.item_name {
    font-weight: 500;
	padding-top: 15px;
	color: rgba(0, 49, 93, 1);
}

/* Font a */
a {
	text-decoration: none;
	color: rgba(99, 98, 98, 1);
	backface-visibility: hidden;
}
a:hover {
	opacity:0.5;
	cursor:pointer;
}
a:visited       { color: rgba(99,98,98,1); }
a.white         { color: #fff; }
a.white:visited { color: #fff; }

a.button {
    position: relative;
    display: inline-block;
    margin: 0 auto;
    padding: 25px;
    border-radius: 10px;
    color: #ffffff;
    background-color: rgb(44, 64, 85);
    border: 1px solid rgb(44, 64, 85);
}
a.button.limited {
    width: 40%;
    max-width: 500px;
}
a.button i.arrow {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 30px;
    height: 1px;
    background: #fff;
    transition: all .2s ease-out;
}
a.button i.arrow::after {
    position: absolute;
    top: -5px;
    right: 0;
    width: 10px;
    height: 2px;
    background: #fff;
    content: '';
    transform: skewX(50deg) rotate(-80deg);
}
a.button:hover i.arrow {
	right: 30px;
	width: 20px;
}

@media only screen and (max-width: 768px){
	a.button.limited {
        width: calc(100% - 74px);
        margin: 0 12px;
 }
}

/* Font size */
.fs10 { font-size: 1.0rem;}
.fs12 { font-size: 1.2rem;}
.fs14 { font-size: 1.4rem;}
.fs15 { font-size: 1.5rem;}
.fs16 { font-size: 1.6rem;}
.fs18 { font-size: 1.8rem;}
.fs20 { font-size: 2.0rem;}
.fs24 { font-size: 2.4rem;}
.fs25 { font-size: 2.5rem;}
.fs26 { font-size: 2.6rem;}
.fs28 { font-size: 2.8rem;}
.fs30 { font-size: 3.0rem;}
.fs32 { font-size: 3.2rem;}
.fs34 { font-size: 3.4rem;}
.fs35 { font-size: 3.5rem;}
.fs36 { font-size: 3.6rem;}
.fs48 { font-size: 4.8rem;}
.fs64 { font-size: 6.4rem;}

/* Text Alignment */
.left   { text-align: left;}
.center { text-align: center;}
.right  { text-align: right;}
.top    { vertical-align: top; }
.middle { vertical-align: middle; }
.bottom { vertical-align: bottom; }

@media only screen and (max-width: 768px){
	.view_title h2 { line-height: normal; }
	/* Font size */
	.fs10sp { font-size: 1.0rem;}
	.fs12sp { font-size: 1.2rem;}
	.fs14sp { font-size: 1.4rem;}
	.fs15sp { font-size: 1.5rem;}
	.fs16sp { font-size: 1.6rem;}
	.fs18sp { font-size: 1.8rem;}
	.fs20sp { font-size: 2.0rem;}
	.fs24sp { font-size: 2.4rem;}
	.fs25sp { font-size: 2.5rem;}
	.fs26sp { font-size: 2.6rem;}
	.fs28sp { font-size: 2.8rem;}
	.fs30sp { font-size: 3.0rem;}
	.fs32sp { font-size: 3.2rem;}
	.fs34sp { font-size: 3.4rem;}
	.fs35sp { font-size: 3.5rem;}
	.fs36sp { font-size: 3.6rem;}
	.fs48sp { font-size: 4.8rem;}
	.fs64sp { font-size: 6.4rem;}
}


/*===== ■7. Box Setting =====*/
/* Main Items */
#article {
	position: relative;
}
#main_wrapper {
    position: static;
    width: 100%;
    overflow-x: hidden;
}

.com_block_c, 
.com_block_p, 
.com_block_s {
    margin: 10px;
    width: 80%;
    display: inline-block;
	color: #ffffff;
    font-weight: normal;
    /* -webkit-box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.2); */
    /* box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.2); */
}
.com_block_c { background-color: rgba(0, 49, 93, 0.8); }
.com_block_p { background-color: rgba(0, 49, 93, 0.8); }
.com_block_s { background-color: rgba(0, 49, 93, 0.8); }

.box_shadow_none {
    -webkit-box-shadow: none;
    box-shadow: none;
}

/*===== ■8. Form / Common Items Setting =====*/
/*----- Main Items ------*/
#main_header {
	position: absolute;
	width: auto;
	height: 72px;
	top: 0px;
	left: 0px;
	padding: 20px 15px 10px;
	color: #fff;
	font-size: 2.0rem;
	font-weight: bold;
	z-index: 300;
}
#main_header.desp_3dview {
	background: transparent;
}

.toppage #main_header {
    position: relative;
    width: 100%;
    height: 800px; /* calc(100vh - 72px); */
    opacity: 1;
    top: 0px;
    left: 0px;
    margin: 0px;
    padding: 0px 0px 0px 70px;
    box-sizing: border-box;
    color: #fff;
    background: url(/img/product-3d-gallery/img-main_background.png) top center / cover;
    transition: opacity 1.5s ease, top 1.5s ease;
    overflow: hidden;
}

/* Main Slider */
.toppage #main_header #slider_infinite_loop {
    width: 100%;
    height: 800px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.toppage #main_header .slider_infinite_loop_wrap {
	display: flex;
	overflow: hidden;
	height: calc(800px + 72px);
	position: absolute;
	top: -72px;
}

.toppage #main_header .slider_infinite_loop_list {
	display: flex;
	list-style: none;
	padding: 0;
}

.toppage #main_header .slider_infinite_loop_list_left {
    animation: infinite-loop-left 80s infinite linear 0.5s both;
}
@keyframes infinite-loop-left {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-100%);
	}
}

.toppage #main_header .slider_window_wrap {
    position: absolute;
    top: -50px;
    left: 50%;
    width: 100%;
    height: calc(800px + 72px);
    transform: translatex(-50%);
    opacity: 0.6;
}

.toppage #main_header #header_products {
    overflow: hidden;
    position: absolute;
    top: calc(800px * 0.7);
    left: 70%;
    width: 30%;
    max-width: 250px;
    max-height: calc(250px + 5px);
    min-width: 150px;
    min-height: calc(150px + 5px);
    z-index: 10;
    animation: products-fadein 2s ease-in-out 0.5s both;
}
.toppage #main_header #header_products div {
    width: 100%;
    animation: infinite-loop-fluctuation 5s infinite linear 0.5s both;
}
@keyframes products-fadein {
  0% {
    transform: translate(-50%, -10%);
	opacity: 0;
  }
  100% {
    transform: translate(-50%, -20%);
	opacity: 1;
  }
}
@keyframes infinite-loop-fluctuation {
  0% {
     transform: translateY(0);
  }
  40% {
     transform: translateY(5px);
  }
  100% {
     transform: translateY(0);
  }
}

.toppage article #main_header .slider_infinite_loop_list > img,
.toppage #article #main_header .slider_infinite_loop_list > img {
    width: auto;
    height: 100%;
    object-fit: cover;
}

.toppage article #main_header .slider_window_wrap > img,
.toppage #article #main_header .slider_window_wrap > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.toppage #main_header #header_inner {
    width: calc(100% - 140px);
    position: absolute;
    top: calc((800px* 0.5) - 72px + 5rem);
    left: 50%;
    text-align: center;
    transform: translate(-50%, -50%);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 1;
}
.toppage #header_inner h1 {
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	font-size: 5.0em;
	font-weight: bold;
	line-height: 1.3;
	text-shadow: 7px 7px 5px rgba(0, 49, 93, 0.5);
	word-wrap: break-word;
	word-break: break-word;
}
.top_title {
    animation: animation_inner_text 2s forwards 0.5s both;
}
@keyframes animation_inner_text {
	0% {
		transform: translateY(110%);
	}
	100% {
		transform: translateY(0);
	}
}
.char {
	display: inline-block;
	opacity: 0;
	animation: animation_inner_char 2s cubic-bezier(0.77, 0, 0.175, 1) forwards;
	animation-delay: calc(0.04s * var(--char-index));
}
.white_space {
  display: inline-block;
  width: 0.5rem; /* 空白の幅を適切に設定 */
}
@keyframes animation_inner_char {
	0% {
		transform: translateY(110%);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

.toppage #header_overview {
    width: 600px;
    position: absolute;
    bottom: 0;
    left: 34%;
    transform: translate(-50%, 56%);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    animation: overview-fadein 2s ease-in-out 0.5s both;
}
@keyframes overview-fadein {
    0% {
        transform: translate(-50%, 75%);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, 56%);
        opacity: 1;
    }
}
.toppage article #header_overview img,
.toppage #article #header_overview img {
    width: 100%;
    height: 100%;
    object-position: top;
    object-fit: cover;
    opacity: 0.9;
}
.toppage #header_overview > h2 {
    position: absolute;
    width: 100%;
    top: 100px;
    left: 50%;
    transform: translate(-50%, 0);
    color: rgb(0, 49, 93);
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    padding: 0px;
}
.toppage #header_overview > p {
    position: absolute;
    width: 100%;
    bottom: 50%;
    left: 50%;
    padding: 0px 30px 30px;
    transform: translate(-50%, -30%);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2;
    color: #333;
}
.vegas-content-scrollable {
	background-color: rgba(90, 90, 99, 0.6);
}
.toppage #main_container {
	background-color: transparent;
}
.toppage #main_container .menu_area {
	padding: 0;];
	width: 100%;
	max-width: unset;
	margin: 0;
}

.c-scrolldown {
    width: 1px;
    height: 60px;
    position: absolute;
    /* bottom: -45px; */
    top: calc((800px * 0.5) - 72px);
    transform: translateY(-50%);
    left: 30px;
    right: auto;
    margin: 0 auto;
    z-index: 50;
}
.c-scrolldown .c-line {
    width: 100%;
    height: 100%;
    display: block;
    background: linear-gradient(to bottom, #fff 50%, rgba(0, 0, 0, 0) 50%);
    background-position: 0 -60px;
    background-size: 100% 200%;
    animation: scrolldown 3s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
    margin-top: 2.75em;
}
.c-scrolldown em {
    transform: rotate(-90deg);
    font-size: 0.75em;
    display: inline-block;
    color: #fff;
    position: absolute;
    left: -1.85em;
    font-size: 13px;
    font-style: normal;
    font-weight: 300;
}
@keyframes scrolldown {
    0% {
        background-position: 0 -60px;
    }
    75% {
        background-position: 0 0;
    }
    100% {
        background-position: 0 60px;
    }
}

@media only screen and (max-width: 1289px){
	.toppage #header_inner h1 {
	    font-size: 5.0em;
	}
	.toppage #main_header #header_products {
        left: 80%;
	}
}

@media only screen and (max-width: 1173px){
	.toppage #header_inner h1 {
	    font-size: 4.0em;
	}
	.toppage #main_header #header_products {
        left: 80%;
	}
}

@media screen and (max-width: 859px) {
	.toppage #main_header {
		height: auto;
    	padding: 0px;
    	overflow: visible;
	}
	.toppage #main_header #header_inner {
	    width: calc(100% - 80px);
	}
	.toppage #header_inner h1 {
	    font-size: 3.8em;
	}
	.toppage #main_header #header_products {
	    left: 60%;
	}
	.toppage #header_overview {
        position: relative;
        width: 100%;
        top: 0;
        left: 0;
        transform: none;
        animation: overview-fadein 0s ease-in-out;
        background-color: #fff;
	}
	.toppage #header_overview > h2 {
		position: relative;
		top: 0;
		left: 0;
		transform: none;
		padding: 10px 20px 0px;
	}
	.toppage #header_overview > p {
        position: relative;
        top: 0;
        left: 0;
        transform: none;
        padding: 5px 20px 10px;
	}
	
    .c-scrolldown {
        left: auto;
        right: 20px;
        top: calc(20% + 72px);
    }
}

#main_container {
	position: relative;
	width: 100%;
	color: #fff;
	overflow: hidden;
	background-color: rgba(0,55,111,0.6);
}
#main_container.desp_3dview {
	background-color: transparent;
}

/*----- 3D View Page ------*/
/* Title */
.main_3dView_title {
	position: relative;
	width: 100%;
	padding: 20px;
	background-color: rgba(0, 35, 70, 0.8);
}
.main_3dView_title > a.prev_arrow {
	position: absolute;
	top: 50%;
	left: 20%;
    transform: translate(0, 50%);
}
.main_3dView_title > a.next_arrow {
	position: absolute;
	top: 50%;
	right: 20%;
    transform: translate(0, 50%);
}

/* 3D View */
.main_3dView {
    position: relative;
    width: 100%;
    height: 600px;
    padding: 50px 10%;
}
/* 3D View model-viewer */
.main_3dView model-viewer  {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    height: 500px;
    border-radius: 10px;
    background-color: #fff;
    /* border: 1px solid rgba(0, 0, 0, .26); */
    box-shadow: 4px 4px 0.4em 0.1em rgba(0, 0, 0, .5), -0.4em 0 1em rgba(0, 0, 0, .3);
}
.slot.poster button {
	opacity: 1;
 }
.slot.poster.show button {
	opacity: 0.5;
}

/* 3D View model-viewer color select */
.main_3dView .select_color, 
.main_3dView .select_color {
    position: absolute;
    bottom: 20px;
    right: 20px;
}
.main_3dView .select_color li {
    display: block;
    width: 24px;
    height: 24px;
    margin: 10px 22px;
	font-size: 1.6rem;
	font-weight: normal;
    line-height: 50px;
    text-align: center;
    color: #333;
    border-radius: 50%;
	border: 1px solid rgba(51, 51, 51, .3);
    box-shadow: -0.1em 0 0.4em rgba(0, 0, 0, .5);
	cursor: pointer;
}
.main_3dView .select_color li span {
 	display: none;
}
.main_3dView .select_color li.active {
    width: 48px;
    height: 48px;
    margin: 10px;
	pointer-events: none;
    box-shadow: none;
}
.main_3dView .select_color li:hover {
    width: 50px;
    height: 50px;
    margin: 10px;
	opacity: 0.5;
}
.main_3dView .select_color li.active span,
.main_3dView .select_color li:hover span {
 	display: block;
}
.main_3dView .select_color li.btn_gray {
    color: #fff;
    background: gray;
}
.main_3dView .select_color li.btn_ivory {
    color: #333;
    background: ivory;
}
.main_3dView .select_color li.btn_white {
    color: #333;
    background: #fff;
}

/* 3D View model-viewer radio button */
.main_3dView .radio_group_type01 {
    position: absolute;
    bottom: 20px;
    right: 20px;
}  
.main_3dView .radio_group_type01 p {
    padding: 10px;
    color: #333333;
    font-weight: bold;
}
.main_3dView .radio_group_type01 > label {
    display: block;
    padding: 5px;
    width: 160px;
    vertical-align: top;
    box-sizing: border-box;
    color: #333333;
    font-weight: bold;
    cursor: pointer;
}
.main_3dView .radio_group_type01 > label.radio_btn_none {
	display: none;
}
.main_3dView .radio_group_type01 > label:hover {
    opacity: 0.5;
}
.main_3dView .radio_group_type01 > label > input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 20px;
    height: 20px;
    vertical-align: middle;
    border-radius: 100%;
    border-width: 1px;
    border-style: solid;
    border-color: #395DA9;
    background-color: #fff;
    position: relative;
    top: -3px;
    margin-right: 5px;
    cursor: pointer;
}
.main_3dView .radio_group_type01 > label > input:checked {
   background-color: #395DA9;
}

/* 3D View model-viewer Arrow Items */
.prev_arrow::before, 
.next_arrow::before {
    display: block;
    width: 20px;
    height: 20px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
}
.next_arrow::before {
    transform: rotate(45deg);
}
.prev_arrow::before {
    transform: rotate(-135deg);
}

.main_3dView > .more_circle {
    position: absolute;
    display: inline-block;
    top: 50%;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: rgb(62,58,57);
    color: #fff;
    background: rgb(62,58,57);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 1;
}
.main_3dView > .more_circle:first-child {
    left: calc((100% - 1500px) / 2);
}
.main_3dView > .more_circle:last-child {
    right: calc((100% - 1500px) / 2);
}
.main_3dView > .more_circle span {
    position: absolute;
    top: 50%;
    left: 50%;
    padding-bottom: 30px;
    font-size: 1.6rem;
    font-weight: 700;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.main_3dView > .more_circle:after {
    position: absolute;
    top: 55%;
    width: 12px;
    height: 12px;
    margin: auto;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    content: '';
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.main_3dView > .more_circle:first-child:after {
    left: calc(50% - 6px);
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
.main_3dView > .more_circle:last-child:after {
    left: calc(50% - 12px);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* 3D View model-viewer Arrow Items */
#main_container .contents_menu {
	box-sizing: border-box;
	display: block;
	z-index: 100;
}
#main_container .menu_area {
    position: relative;
	width: calc(80% - 12px);
    max-width: 885px;
    height: 100%;
    min-height: 100vh;
    margin: 0px auto;
    padding: 160px 0px 100px;
    box-sizing: border-box;
}
#main_container .view_title {
	position: relative;
	width: 100%;
	margin: 0 0 50px;
	padding: 0px 0px 30px;
	box-sizing: border-box;
	/* border-bottom: 2px solid #fff; */
}
#main_container .view_item {
	padding: 0px 0px 100px;
	width: calc(80% - 12px);
	max-width: 885px;
	height: 100%;
	margin: 0 auto;
}
#main_container #select-category {
	width: calc(80% - 12px);
	max-width: 885px;
	text-align: right;
	margin: 0 5% 0 auto;
}
#main_container #select-category ul {
	display: flex;
	justify-content: flex-end;
	flex-wrap: nowrap;
	flex-direction: row;
	text-align: center;
}
#main_container #select-category ul li {
	width: calc(20% - 10px);
	margin-right: 10px;
	border: 1px solid rgb(0, 49, 93);
    font-size: 1.6rem;
    font-weight: bold;
}
#main_container #select-category ul li.select {
    color: rgb(0, 49, 93);
    padding: 10px 0px;
    background-color: #fff;
    border-radius: 0;
}
#main_container #select-category ul li:last-child {
	margin-right: 0px;
}
#main_container #select-category ul li a {
	display: block;
	color: #fff;
	padding: 10px;
	background-color: rgb(0, 49, 93);
	cursor: pointer;
	border-radius: 0;
}

#main_container .view_item li {
    width: 33.333%;
    /* min-height: 300px; */
    float: left;
    display: block;
}
#main_container .view_item li {
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px);
    transition: opacity 1s, visibility 1s, transform 1s;
}
#main_container .view_item li.is-fadein {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}
#main_container .view_item li.other_products {
    display: none;
}
#main_container .view_item li a {
    margin: 20px 10px 50px 10px;
    padding: 0px 10%;
    display: block;
    color: #ffffff;
}
#main_container .view_item li a:hover {
    opacity: 1;
}
#main_container .view_item li .item_box {
    position: relative;
    /* border-radius: 20px; */
    overflow: hidden;
    padding: 20px 20px;
    background: #ffffff;
    /* -webkit-box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.3); */
    /* box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.3); */
    z-index: 1;
}
#main_container .view_item li.other_products .item_box {
    background: rgba(0, 49, 93, 0.5);;
}
#main_container .view_item li .item_box img {
    width: 100%;
    height: auto;
    display: block;
    transition-duration: 0.5s;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}
#main_container .view_item li a:hover .item_box img {
    transform: scale(1.3);
    transition-duration: 1.5s;
}

@media only screen and (max-width: 1600px){
	.main_3dView > .more_circle:first-child {
	    left: 2%
	}
	.main_3dView > .more_circle:last-child {
	    right: 2%
	}
}

@media only screen and (max-width: 1240px){
	.main_3dView > .more_circle:first-child {
	    left: 6%;
	}
	.main_3dView > .more_circle:last-child {
	    right: 6%;
	}
}

@media only screen and (max-width: 1136px){
	#main_container .view_item li {
		width: 50%;
	}
	#main_container .view_item li .item_box {
		/* min-width: 230px; */
	}
}

@media only screen and (max-width: 859px){
	#main_container #select-category {
		margin: 0 auto;
		width: calc(100% - 12px);
	}
	#main_container #select-category::after{
		position: absolute;
	    width: 10px;
	    height: 10px;
	    border-top: 2px solid #fff;
	    border-right: 2px solid #fff;
		top: 50%;
		right: 25px;
		transform: translate(0, -50%) rotate(135deg);
		pointer-events: none;
	    content: "";
	}
	#main_container #select-category select {
		position: relative;
		float: left;
		width: 100%;
		margin: 0;
		padding: 10px 20px;
		font-size: 1.6rem;
		font-weight: bold;
		cursor: pointer;
        border: 1px solid rgb(0, 49, 93);
        background-color: rgb(0, 49, 93);
 		outline: none;
		color: #fff;
		background-image: none;
		box-shadow: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	#main_container #select-category select::-ms-expand {
		display: none;
	}
	#main_container #select-category select option {
		font-size: 1.6rem;
		font-weight: 500;
		color: #333333;
        background-color: #fff;
	}
}
@media only screen and (max-width: 768px){
	#main_container .view_item {
	    width: 80%;
	    margin: 0 auto;
	}
	#main_container .view_item li {
		width: 100%;
	}
	.main_3dView {
		width: 100%;
		max-height: max-content;
		padding: 30px 12px;
	}

	.main_3dView > .select_color {
		position: absolute;
		top: calc(50px + 10px);
		left: calc(20px + 10px);
	}
	
	.main_3dView > .more_circle:first-child {
	    left: 5px;
	}
	.main_3dView > .more_circle:last-child {
	    right: 5px;
	}
	
	.main_3dView_title {
		padding: 56px 20px 50px;
	}

}

/*===== ■9. others =====*/
/*----- Page Transition ------*/
.back_top a {
	position: fixed;
	bottom: -50px;
	right: 1em;
	background-color: rgb(44, 64, 85);
	height: 4.0em;
	width: 4.0em;
	border-radius: 8px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.back_top a::before {
    content: '';
    width: 1px;
    height: 2em;
    border: 1px solid #fff;
    position: absolute;
    left: 50%;
    bottom: 50%;
    transform: translate(-50%, 50%);
    box-sizing: border-box;
}
.back_top a::after {
  content: '';
  width: 0.9em;
  height: 0.9em;
  border: 2px solid #fff;
  border-bottom: 0;
  border-left: 0;
  position: absolute;
  left: calc(50% - 0.45em);
  top: 1.0em;
  transform: rotate(-45deg);
  box-sizing: border-box;
}
.back_top a em {
	display: none;
}
.back_top a img {
	width: 2em;
}
.back_top a:hover {
	background-color: #45443f;
}

/* Breadcrumbs */
#footmark {
	align-items: center;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 20px;
}
#main_photo_title #footmark, 
#main_photo_title_voice #footmark {
	align-items: unset;
	position: relative;
	float: right;
	padding: 20px;
}

body#lower #footmark { width: 100%;}
body#lower #footmark::after {display: none;}

#footmark ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
}

#footmark li {
	color: #fff;
	font-size: 1.5rem;
	font-weight: 400;
}

#footmark li:not(:first-child) {
	position: relative;
	margin-left: 10px;
	padding-left: 25px;
}

#footmark li:not(:first-child)::before {
    position: absolute;
    top: 0%;
    left: 0;
    width: 15px;
    height: 0px;
    text-align: center;
    color: #999999;
    content: '\02022';
}

#footmark a {
	color: #ffffff;
	text-decoration: underline;
}
#footmark a:hover {
	color: #ffffff;
}

@media only screen and (max-width: 750px){
	#footmark {
	    bottom: 0;
	    right: 0;
	}
	#footmark li {
	    font-size: 1.2rem;
	}

	#main_photo_title #footmark, 
	#main_photo_title_voice #footmark {
		float: left;
	}
}
