@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;900&display=swap');

/*-------------------------------------
	Reset
-------------------------------------*/

body,
h1, h2, h3, h4, h5, h6,
p, address, blockquote, pre, div,
dl, dt, dd, ol, ul, li,
th, td,
form, fieldset, input, textarea { margin: 0; padding: 0; outline: none;}

input{ vertical-align : middle ;}

select { margin: 0; }

abbr, acronym { border:0 none; }
q::before, q::after { content:""; }
img { width: auto; max-width: 100%; height: auto; max-height: 100%; border:0 none; vertical-align:bottom; }
object { outline:none; }
table { border-collapse: collapse; border-spacing: 0; word-break: break-all; word-wrap: break-word; empty-cells: show; }
caption { text-align:left; }
th,
td { text-align:left; vertical-align:middle; empty-cells:show; }
fieldset { border:0 none; }
label { cursor: pointer; }
iframe:not([src*="debug-kit"]) { margin: 0; padding: 0; width: 100%; overflow:auto; border: none;}
p, address, blockquote, pre, div,
abbr, acronym, dfn, cite, q, code, kbd, samp, var,
dl, ol, ul,
caption, th { font-weight: 500; font-style:normal; }
ol,ul { list-style: none; }
em, strong, optgroup { font-weight:bold; font-style:normal; }

main, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { position:relative; display:block; margin:0 0 0 0; padding:0 0 0 0; }

/* 全対応 */
*, *:before, *:after {
	font-family:  'Noto Sans JP', "游ゴシック体", "游ゴシック Medium", "Yu Gothic", "Yu Gothic Medium","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Helvetica, sans-serif;
    font-weight: 500;
	box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6 { position: relative; margin: 0 0 30px; color: #336; font-size: 30px; font-weight: 500; font-style: normal; line-height: 1.2; text-align: left; }


/*-------------------------------------
	Base
-------------------------------------*/

html { position: relative; width: 100%; min-height: 100%; font-size: 10px; text-align: center; background: #FFF; }

body {
	padding: 0 0 54px;
	width: 100%;
    min-height: 100vh;
	color:  #336;
	font-size: 16px;
	text-align: center;
	line-height: 1;
    background: #f3f5f7;
	-webkit-text-size-adjust : none;
	 -webkit-text-size-adjust: 100%;
}

/* links */
a, input, object{ outline:none; }

a {
	margin: 0;
	padding: 0;
	border: 0;
	color: #EA5432;
	text-decoration: underline;
	vertical-align: baseline;
	background: transparent;
	transition: all 0.3s ease;
	-webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	}

a:hover { text-decoration: none; }
a:visited {	color: #B95741; }
a:active { color: #FED903; text-decoration:none; }

a *,
a:before,
a:after { transition: all 0.3s ease; }

a:hover img { opacity: .5; }

::selection { color: #FFF !important; background: rgba(235, 88, 49, 0.8); }
::-moz-selection { color: #FFF !important; background: rgba(235, 88, 49, 0.8); }

/* form */
input, select, optgroup, textarea, label, kbd { vertical-align: middle; }

input[type="hidden"]{ display: none;}

input[type="text"],
input[type="number"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="datetime-local"],
input[type="time"],
select,
textarea {
	display: inline-block;
	margin: 0;
	padding: 0 0 0 10px;
	width: auto;
	height: 42px;
	color: #111;
	font-size: 16px;
	line-height: 1;
	background: #FFF;
	border: 1px solid #a4aeb9;
	border-radius: 5px;
	box-shadow: none;
	box-sizing: border-box;
	vertical-align: middle;
	transition: all 0.3s ease;
}
input:not(.btn):hover,
select:hover,
textarea:hover { border-color: #ff9982; box-shadow: 0 2px 10px rgba(255, 153, 130, 0.5); }

input:focus:not(.btn),
select:focus,
textarea:focus { background-color: #FFF !important; border-color: #EA5432 !important; box-shadow: 0 3px 15px rgba(235, 88, 49, 0.5); outline: none; }

input:disabled,
select:disabled,
textarea:disabled { background-color: #F3F9FE; border-color: #abc0d4; pointer-events: none; }

input.form-error,
select.form-error,
textarea.form-error { border-color: #F00 !important; }

.errorMsg { margin: 40px 0;padding: 20px; color: #F00; background: #ffe6e6; }
.errorMsg li { margin: 0 0 5px 20px; line-height: 1.4; list-style: outside disc;}
.errorMsg li:last-child { margin-bottom: 0;}

.alertMsg { margin: 0 0 40px; padding: 20px 20px 20px 100px; background: #f3f5f7 url("/images_new/common/icon-alert.svg") 20px center no-repeat; background-size: 40px; }
.alertMsg li { margin: 0 0 5px; line-height: 1.4; list-style: outside disc;}
.alertMsg li:last-child { margin-bottom: 0;}

.noticeMsg { margin: 0 0 40px 0.5em; padding: 20px 20px 20px 1.5em; background: #f3f5f7; color: rgb(146, 144, 144); font-size: 15px; list-style: none; }
.noticeMsg li {
    text-indent: -1.3em;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }

input::-ms-clear,
input::-ms-reveal { visibility:hidden; }

input.short { width: 100px !important; }
input.medium { width: 200px !important; }
input.large { width: 300px !important; }

textarea { padding: 10px; max-width: 100%; height: 320px; line-height: 1.2; text-align: left; vertical-align: text-top; resize: vertical; }
textarea.low { height: 180px; }

:placeholder-shown { color: #a4aeb9 !important; }
::-webkit-input-placeholder { color: #a4aeb9 !important; }
:-moz-placeholder { color: #a4aeb9 !important; }
::-moz-placeholder { color: #a4aeb9 !important; }
:-ms-input-placeholder { color: #a4aeb9 !important; }

/* #FED903 rgba(254, 217, 3, 1) , #EA5432 rgba(235, 88, 49, 0.5) */
select { padding: 0 0 0 0.5rem; width: auto; }
select option { margin: 0; padding: 3px 8px; font-size: 16px; font-style: normal; background: #FFF; }
select option:checked { color: #FFF !important; background-color: #EA5432; }
select option:disabled { color: #999 !important; background: #FFF; }

/*　radio, checkbox　*/
input[type=radio],
input[type=checkbox] { display: inline-block; position: relative; top: -1px; margin-right: 6px; vertical-align: middle; }

label { display: inline-block; position: relative; line-height: 1.4; cursor: pointer; }

@media (min-width: 1px) {

input[type=radio],
input[type=checkbox] { display: none; margin: 0; }
	
input[type=radio] + .choices,
input[type=checkbox] + .choices { padding: 0 0 0 25px; line-height: 18px; }

input[type=radio] + .choices:before,
input[type=checkbox] + .choices:before { content: ""; position: absolute; display: block; top: 3px; left: 0; width: 18px; height: 18px; background: #FFF; border: 1px solid #a4aeb9; border-radius: 3px; transition: all ease 0.3s; }
input[type=radio] + .choices:before { border-radius: 20px; }

label:hover input[type=radio] + .choices:before,
label:hover input[type=checkbox] + .choices:before { border-color: #ff9982; box-shadow: 0 2px 10px rgba(235, 88, 49, 0.3); }

input[type=radio]:checked + .choices:before,
input[type=checkbox]:checked + .choices:before { background: #f3951a; border-color: #f3951a; }

input[type=radio] + .choices:after,
input[type=checkbox] + .choices:after { content: ""; position: absolute; display: block; top: 8px; left: 5px; width: 8px; height: 8px; -webkit-transform: scale(0,0); transform: scale(0,0); transition: all ease 0.3s; }
input[type=radio] + .choices:after { background: #FFF; border-radius: 8px; }
input[type=checkbox] + .choices:after {
    margin: -5px 0 0 1px;
    width: 6px;
    height: 13px;
    background: none;
    border-right: 3px solid #FFF;
    border-bottom: 3px solid #FFF;
    -ms-transform: rotate(45deg) scale(0,0);
    -webkit-transform: rotate(45deg) scale(0,0);
    transform: rotate(45deg) scale(0,0);
}

input[type=radio]:checked + .choices::after { -webkit-transform: scale(1,1); transform: scale(1,1); }
input[type=checkbox]:checked + .choices::after { -ms-transform: rotate(45deg) scale(1,1); -webkit-transform: rotate(45deg) scale(1,1); transform: rotate(45deg) scale(1,1); }
}

label { display: inline-block; position: relative; cursor: pointer; }
input[type=number] ~ label,
label ~ label { margin: 0 0 0 20px; }

.fileUp { display: inline-block; }
.fileUp input[type="file"] { display: none; }
.fileUp label { }
.fileUp label:after { content: "選択されていません"; position: relative; margin: 0 0 0 15px; pointer-events: none; }
.fileUp label.changed:after { display: none;}
.fileName { display: inline-block; margin: 5px 0 5px 15px; vertical-align: middle; word-break: break-all;}
.fileName ~ .fileName { display: none;}

/* btn */
.btn {
	display: inline-block;
	position: relative;
	padding: 9px 20px 11px;
	width: auto;
	color: #FFF !important;
	font-size: 16px;
	font-weight: normal;
	letter-spacing: 1px;
	line-height: 1.4;
	text-align: center;
	text-decoration: none !important;
	text-shadow: 0 0 5px #EA5432;
	background: -webkit-linear-gradient(278deg, #FED903 0%, #EA5432 100%);
    background: linear-gradient(to bottom right, #FED903 0%, #EA5432 100%);
    background-position: 0 0;
    background-size: 200% 100% !important;
	border: none;
	border-radius: 5px;
	vertical-align: middle;
	cursor: pointer;
	outline: none !important;
	transition: all 0.3s ease;
}
.btn:hover { background-position: 100% 0 !important; box-shadow: 0 5px 20px rgba(235, 88, 49, 0.5); }

.btn.light {color: #EA5432 !important;text-shadow: none;background: #ffe1b3;}
.btn.light:hover {color: #d32700 !important;background: #ffc06a;}

.btn.gray { color: #666 !important; letter-spacing: 0 !important; text-shadow: none; background: #dae1e9; }
.btn.gray:hover { color: #444 !important; background: #cad4df; box-shadow: 0 5px 20px #cad4df; }

.btn.green { text-shadow: 0 0 5px #009378; background: -webkit-linear-gradient(278deg, #00f196 0%, #009378 100%); background: linear-gradient(to bottom right, #00f196 0%, #009378 100%);}
.btn.green:hover { box-shadow: 0 5px 20px rgba(0, 147, 120, 0.5);}

.btn.delete { text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);background: #888; }
.btn.delete:hover { background: #555; }

.btn.large { padding: 16px 25px; min-width: 180px; font-size: 20px; letter-spacing: 2px; }
.btn.large.gray { min-width: 0; }

.btn.middle { padding: 13px 25px; min-width: 120px; font-size: 18px; }
.btn.middle.gray { min-width: 0; }

.btn + .btn { margin: 0 auto 0 40px; }


/*-------------------------------------
	Common
-------------------------------------*/

/* header */
header { position: relative; width: 100%;}
header #header { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; align-items: center; position: relative;padding: 40px; z-index: 200;}
header #logo { display: block; width: 200px;}

header #userName { padding: 0 0 0 40px; width: calc(100% - 200px); color: #74747a; text-align: right; z-index: 200;}
header #userName .name { display: inline-block; margin: 5px 0;}
header #userName a { display: inline-block; margin: 5px 0 5px 40px; color: #EA5432 !important; text-decoration: none;}
header #userName a:hover { opacity: .6;}
header #userName img { position: relative; top: -2px;  margin: 0 5px 0 0; vertical-align: middle; opacity: 1 !important;}

header #menuTrigger { display: none;}

header nav { position: absolute; top: 100%; left: 0; width: 300px; z-index: 100; }
header nav li img { margin: -4px 10px 0 0; vertical-align: middle; opacity: 1 !important; }

header nav a { display: block; position: relative; padding: 28px 0 22px 40px; height: 71px; color: #14487c !important; text-align: left;text-decoration: none; opacity: .6; }
header nav a:after { content: ""; display: block; position: absolute; top: 50%; right: 30px; margin: -15px 0 0; width: 30px; height: 30px; background: url("/images_new/common/arrowR.svg") no-repeat; background-size: contain; opacity: 0;}
header nav li.current a,
header nav a:hover { background: #FFF; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); opacity: 1; }
header nav a:hover:after { right: 25px; opacity: 1; }

.noNav.regist header #userName  { text-align: right;}
.noNav.login header #userName  { width: 100%; text-align: right;}

/* footer */
#pageTop { position: fixed; bottom: 20px; right: 20px; z-index: 100; }
#pageTop a { display: block; padding: 9px 0 0; width: 50px; height: 50px; background: #FFB145; border-radius: 5px; cursor: pointer; opacity: .4; }
#pageTop a:hover { opacity: 1; }
#pageTop img { width: 32px; opacity: 1 !important; }

footer { position: absolute; bottom: 0; left: 0; width: 100%; height: 54px }
footer #copy { padding: 20px 40px; color: #a5b2bf; font-size: 14px; text-align: center;}

/* main */
.center { text-align: center !important; }
.right { text-align: right !important; }
.left { text-align: left !important; }

.br { display: inline-block;}

.sp { display: none;}

main { display: block; position: relative; margin: 0 40px 0 340px; width: calc(100% - 380px);}
.noNav main { margin-left: 40px;  width: calc(100% - 80px);}

article { position: relative; margin: 0 auto; max-width: 1200px; z-index: 1; }
article .title { color: #EA5432; }
article .title:last-child { margin: 0;}
article .subTitle { margin: 0 0 20px; font-size: 24px;}
article div,
article p { line-height: 1.6; text-align: left;}

.border { margin: 30px 0 0; padding: 30px 0 0; text-align: center; border-top: 1px solid #cdd7e1;}
.border .link { display: inline-block; width: 100%; max-width: 300px;}
.border .linkList { margin: 0 auto; max-width: 600px;}

.box { margin: 0 0 40px; padding: 40px; background: #FFF; border-radius: 5px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);}

.note { color: #75879f;}
p.note,
.note li { position: relative;padding: 0 0 0 20px;}
p.note:before,
.note li:before { content: "※"; position: absolute; top: 2px; left: 0;}

/* .link */
.linkList { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; border-right: 1px solid #cdd7e1; border-top: 1px solid #cdd7e1; box-shadow: 0 -1px 0 #cdd7e1 inset;}
.linkList:not(:last-child) { margin: 0 0 40px;}
.link,
.linkList li a { display: -webkit-box; display: -ms-flexbox; display: flex; align-items: center; position: relative; padding: 40px 60px 36px 40px; height: 100%; color: #336 !important; line-height: 1.4; text-align: left; text-decoration: none; border: 1px solid #cdd7e1; }
.link:after,
.linkList li a:after { content: ""; display: block; position: absolute; top: 50%; right: 30px; margin: -13px 0 0; width: 30px; height: 30px; background: url("/images_new/common/arrowR.svg") no-repeat; background-size: contain;}
.link:hover,
.linkList li a:hover { background: #fff7eb; }
.link:hover:after,
.linkList li a:hover:after { right: 25px; opacity: 1; }
.link img,
.linkList li a img { margin: 0 5px 0 0; width: 24px; opacity: 1 !important;}

.linkList li { width:  100%;}
.linkList.col2 li { width: 50%;}
.linkList.col3 li { width: 33.33%;}
.linkList li a { border-right: none; border-top: none;}
.linkList.col2 li:nth-child(2n-1):last-child a,
.linkList.col3 li:nth-child(3n-1):last-child a,
.linkList.col3 li:nth-child(3n-2):last-child a { box-shadow: 1px 0 0 #cdd7e1;}

.linkList.col3 li a { padding: 40px 19% 36px 11%;}
.linkList.col3 li a:after { right: 8%;}
.linkList.col3 li a:hover:after { right: calc(8% - 5px);}

.linkList.col3.direction li:first-child a { padding: 40px 11% 36px 19%;}
.linkList.col3.direction li:first-child a:after { left: 8%; right: auto;background-image: url("/images_new/common/arrowL.svg");}
.linkList.col3.direction li:first-child a:hover:after { left: calc(8% - 5px);}
.linkList.col3.direction li:nth-child(2) a { text-align: center;}
.linkList.col3.direction li:nth-child(2) a:after { background-image: url("/images_new/common/arrowB.svg");}

.linkList .noLink { padding: 40px 40px 36px; color: #75879f; background: #f9f9f9; border-left: 1px solid #cdd7e1; border-bottom: 1px solid #cdd7e1;}

/* table */
table { margin: 0 0 40px; width: 100%; }
table.noHead { border-top: 1px solid #dde1e6;}

th, td { padding: 10px; line-height: 1.4; text-align: left; background: #FFF; border-bottom: 1px solid #dde1e6; vertical-align: middle; transition: all 0.3s ease; }
th { white-space: nowrap;}
th:first-child,
td:first-child { padding-left: 20px;}
th:last-child,
td:last-child { padding-right: 20px;}

tbody tr:nth-child(2n+1) th,
tbody tr:nth-child(2n+1) td { background: #f9f9f9; }
tbody tr:hover th,
tbody tr:hover td { background: #f1f3f5; }

table th.required,
table th.notRequired { position: relative; padding-right: 60px;}
table th.required:after,
table th.notRequired:after { content: "必須"; display: block; position: absolute; top: 50%; right: 10px; margin: -14px 0 0; padding: 5px 8px 7px; color: #FFF; font-size: 14px; line-height: 1; text-shadow: 0 0 10px #F00; background: #F77; border-radius: 3px;}
table th.notRequired:after { content: "任意"; color: #666; text-shadow: none; background: #dae1e9;}

table input[type="text"],
table input[type="number"],
table input[type="password"],
table input[type="tel"],
table input[type="email"],
table input[type="url"],
table input[type="datetime-local"],
table input[type="time"],
table select,
table textarea { width: 100%; }

table .btn { padding: 10px 10px; white-space: nowrap; }
table input[type="email"] ~ input[type="email"] { margin: 10px 0 0;}
table .approval { color: #336 !important;}
table .nowrap { white-space: nowrap;}
table .errorMsg { margin: 10px 0 0; padding: 10px 20px;}

table .tableFlex,
table .tableFlex.inputs span { display: -webkit-box; display: -ms-flexbox; display: flex;}
table .tableFlex.zipCode > span { padding: 0 10px; line-height: 42px;}
table .tableFlex.zipCode input { width: 35%; max-width: 100px;}
table .tableFlex.zipCode input ~ input { width: 40%; max-width: 120px;}
table .tableFlex.zipCode .btn { margin: 0 0 0 10px;}
table .tableFlex.name span { width: 100px; line-height: 42px;}
table .tableFlex.name span ~ span { padding: 0 0 0 20px; width: 120px;}
table .tableFlex.tel .note,
table .tableFlex.card .note,
table .tableFlex.monthYear .note { margin: 0 0 0 20px; line-height: 42px; white-space: nowrap;}
table .tableFlex.tel .note:before,
table .tableFlex.card .note:before { top: 0; }
table .tableFlex.card input { width: calc(25% - (30px / 4));}
table .tableFlex.card input ~ input { margin: 0 0 0 10px;}
table .tableFlex.monthYear select { width:  60px;}
table .tableFlex.monthYear span { margin: 0 10px; line-height: 42px;}
table .tableFlex.monthYear span ~ span { margin-right: 0;}
table .tableFlex.pass { align-items: center;}
table .tableFlex.pass label { margin: 0 20px 0 0; white-space: nowrap;}
table .tableFlex.inputs { align-items: center;}
table .tableFlex.inputs span:first-child { margin: 5px 15px 5px 0; white-space: nowrap;}

thead th { position: -webkit-sticky; position: sticky; top: -1px; padding: 15px 5px; font-weight: 500; text-align: center; background: #FFF; border: none; border-top: 1px solid #dde1e6; box-shadow: 0 -3px 0 #f3951a inset; z-index: 10; }
thead th:last-child { font-size: 14px; white-space: nowrap !important;}

.scroll { margin: -40px -40px 40px;}
.scroll:last-child { margin-bottom: -40px;}
.scroll table { margin: 0;}
.scroll table th { white-space: normal;}

.list tbody th:first-child,
.list tbody td:first-child { padding-left: 20px;}
.list tbody th:last-child,
.list tbody td:last-child { padding-right: 20px;}

.list .noResult td { padding: 5rem; color: #75879f; text-align: center; pointer-events: none;}

/* searchBox */
.rightBtn { margin: -70px 0 40px; text-align: right;}

#search { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 0 -10px 20px; text-align: left; }
#search dt { margin: 0 10px 20px; width: calc(22% - 20px); line-height: 1.4; text-align: right;}
#search dd { margin: 0 10px 20px; width: calc(78% - 20px); }
#search p { margin: 0 0 20px; }
#search input[type=text] { width: 100%; }
#search label { margin: 0 20px 0 0;}

#search .date { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center;}
#search .date input { max-width: 200px;}
#search .date span { margin: 0 10px;}

.btns { margin: 0 0 50px;}

/* pager */
.pager { display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; margin: 40px 0 0; overflow: auto;}
.pager li { border: 1px solid #cdd7e1; border-left: none;}
.pager li:first-child { border-left: 1px solid #cdd7e1;}
.pager a { display: block; padding: 20px 30px; min-width: 35px; color: #336 !important; line-height: 30px; text-align: center; text-decoration: none; }
.pager li:first-child a,
.pager li:last-child a { padding: 20px 25px;}
.pager a:hover { background: #fff7eb; }
.pager a.disabled { pointer-events: none; -webkit-filter: saturate(0); filter: saturate(0);}
.pager a.current { color: #EA5432 !important; background: #ffeaca !important;}
.pager a img { position: relative; top: 2px; width: 30px; opacity: 1 !important;}

/* modal */
.modalLink { cursor: pointer;}

.modal { display: none; position: relative; z-index: 900; }
.modalBG { position: fixed; top: 0; left: 0; margin: 0; height: 100%; width: 100%; background: #363c42; opacity: .5; z-index: 999; }

.modalBlock {
	position: fixed;
	top: 10%;
	left: 50%;
	margin: -40px 0 0 -400px;
	padding: 40px;
	width: 800px;
	height: auto;
	max-height: 80%;
	background: #fff;
	border: 1px solid #dde1e6;
	border-radius: 5px;
	box-shadow: 0 10px 30px rgba(54, 60, 66, 0.6);
	overflow-y: auto;
	z-index: 1000;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
.modal .closeBtn { position: fixed; top: 10%; left: 50%; margin: -80px 0 0 37rem; padding: 0; width: 30px; height: 30px; cursor: pointer; z-index: 1000; transition: all 0.3s ease-in-out; }
.modal .closeBtn:hover { cursor: pointer; -webkit-transform: rotate(-180deg); transform: rotate(-180deg); }
.modal .closeBtn img { width: 100%; opacity: 1 !important;}

.modalBlock.mini { margin-left: -250px; width: 500px; }
.modalBlock.mini + .closeBtn { margin-left: 220px; }

.modal.show .modalBlock { margin-top: 0 !important; }
.modal.show .closeBtn { margin-top: -40px !important;}

.modal table { margin: 0 0 20px;}
.modal table .tableFlex.monthYear { -ms-flex-wrap: wrap; flex-wrap: wrap;}
.modal table .tableFlex.monthYear .note { margin: 10px 0 0; width: 100%; line-height: 1.2; white-space: normal;}

/* datetimepicker */
.xdsoft_datetimepicker .xdsoft_month,
.xdsoft_datetimepicker .xdsoft_year { width: 70px !important;}

.xdsoft_datetimepicker .xdsoft_calendar th,
.xdsoft_datetimepicker .xdsoft_calendar td { font-weight: normal !important; background: #FFF !important; border: none !important; border-bottom: 2px solid #f3951a !important; box-shadow: none;}
.xdsoft_datetimepicker .xdsoft_calendar td { border-bottom: 1px solid #dde1e6 !important;}
.xdsoft_datetimepicker .xdsoft_calendar tbody tr:nth-child(2n+1) th,
.xdsoft_datetimepicker .xdsoft_calendar tbody tr:nth-child(2n+1) td { background: #f9f9f9 !important;}
.xdsoft_datetimepicker .xdsoft_calendar tbody tr:hover td { background: #f1f3f5 !important;}
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled, .xdsoft_datetimepicker .xdsoft_time_box>div>div.xdsoft_disabled { color: #BBB !important; opacity: 1 !important; pointer-events: none;}
.xdsoft_datetimepicker .xdsoft_calendar td > div { padding: 8px 0 !important; text-align: center;}
.xdsoft_datetimepicker.xdsoft_noselect .xdsoft_calendar td.xdsoft_today { color: #2759FF !important; background: #ffe1b3 !important;}
.xdsoft_datetimepicker .xdsoft_calendar th:first-child,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_weekend { color: #F00;}
.xdsoft_datetimepicker .xdsoft_calendar th:last-child,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_weekend:last-child { color: #2759ff;}
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default div,
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current div { color: #FFF; background: #ea5432 !important;}
.xdsoft_datetimepicker.xdsoft_noselect .xdsoft_calendar td:hover,
.xdsoft_datetimepicker.xdsoft_noselect .xdsoft_timepicker .xdsoft_time_box>div>div:hover { color: #FFF !important; background: #f69f18 !important;}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box { height: 166px !important;}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div { background: #FFF !important; transition: all ease 0.3s;}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:nth-child(2n-1) { background: #f7faff !important;}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current { color: #FFF; background: #ea5432 !important; box-shadow: none !important;}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div.xdsoft_scrollbar > div  { background: #CCC !important; }
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div.xdsoft_scrollbar > div:hover { background: #999 !important;}


/*-------------------------------------
	Page
-------------------------------------*/

/* regist */
.regist header { margin: 0 auto; max-width: 1280px; background: none;}
.regist header #logo { width: 220px;}
.regist header #userName { width: calc(100% - 220px); }
.regist header #userName a { margin: 0 0 0 25px; color: #EA5432 !important;}

.regist table th { width: 250px;}

/* login */
.login article { max-width: 600px;}
.login .box h1 { color: #595656; font-weight: 900; text-align: center;}
.login .box h1 img { margin: 0 auto 10px; width: 200px;}
.login .box h1 .br { font-weight: 900;}
.login form p { margin: 0 0 30px;}
.login form input { margin: 5px 0 0; width: 100%;}
.login form .center { margin: 30px 0 0;}

.login.pass .box p { margin: 30px 0 0;}

/* mypage */
.user table.form tbody th { width: 261px; white-space: normal;}

table.list tbody th { color: #8484a1; font-size: 14px;}
table.list tbody th:not(:first-child) { border-left: 1px solid #dde1e6;}

/* cart */
.cart header { margin: 0 auto; max-width: 1280px; background: none;}
.cart header #logo { width: 220px;}
.cart header #userName { width: calc(100% - 220px); color: #14487c;}
.cart header #userName a { color: #EA5432 !important;}

#cartTopList.linkList li a { display: block; font-size: 36px; letter-spacing: 2px; text-align: center;}
#cartTopList.linkList li a:after { margin: -20px 0 0; width: 40px; height: 40px;}
#cartTopList.linkList li img { display: block; margin: 0 auto 10px; width: 70px;}
#cartTopList.linkList li small { display: block; margin: 10px 0 0; font-size: 16px; letter-spacing: 0; text-align: center;}

#stepFlow { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 auto 40px; max-width: 900px;}
#stepFlow li { position: relative; padding: 70px 20px 0; width: 25%; text-align: center;}
#stepFlow.step3 li { width: 33.33%;}
#stepFlow li:before,
#stepFlow li:after { content: ""; position: absolute; top: 28px; left: 50%; width: 100%; height: 4px; background: #f3951a;}
#stepFlow li:after {
    top: 0;
    margin: 0 0 0 -30px;
    width: 60px;
    height: 60px;
    color: #999;
    font-size: 30px;
    line-height: 58px;
    background: url("/images_new/common/icon-checkW.svg") center no-repeat, -webkit-linear-gradient(278deg, #FED903 0%, #EA5432 100%);
    background: url("/images_new/common/icon-checkW.svg") center no-repeat, linear-gradient(to bottom right, #FED903 0%, #EA5432 100%);
    background-size: 30px 30px, 100% 100%;
    border-radius: 60px;
}
#stepFlow li:last-child:before { display: none;}
#stepFlow li.current:before,
#stepFlow li.current ~li:before { background: #dde1e6;}

#stepFlow li.current:after { color: #FFF; background: -webkit-linear-gradient(278deg, #FED903 0%, #EA5432 100%); background: linear-gradient(to bottom right, #FED903 0%, #EA5432 100%);}
#stepFlow li.current ~li:after { background: #dde1e6;}
#stepFlow li.current:first-child:after { content: "1"}
#stepFlow li.current:nth-child(2):after,
#stepFlow li.current ~li:nth-child(2):after { content: "2"}
#stepFlow li.current:nth-child(3):after,
#stepFlow li.current ~li:nth-child(3):after { content: "3"}
#stepFlow li.current:nth-child(4):after,
#stepFlow li.current ~li:nth-child(4):after { content: "4"}

#cartLogin { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; border: 1px solid #cdd7e1;}
#cartLogin li { padding: 40px 40px 20px; width: 50%; background: #fff7eb url("/images_new/common/logo-markW.png") left -40px bottom -40px no-repeat;}
#cartLogin li.login { background: none; border-left: 1px solid #cdd7e1;}
#cartLogin h1,
#cartLogin h2 { margin: 0 0 20px; font-size: 28px; text-align: center;}
#cartLogin .center { margin: 20px 0;}

table.items .spHead { display: none;}
table.items .btn { margin: 0 0 0 15px;}
table.items .note { display: inline-block; margin: 0 0 0 10px; vertical-align: top;}
table.items tbody tr.postage th,
table.items tbody tr.postage td { border-bottom: 2px solid #a4aeb9;}
table.items tbody th:not(:first-child) { border-left: 1px solid #dde1e6;}

table.form tbody th { width: 370px;}
table.form ~ .center ~ .center { margin: 40px 0 0;}

table.form.eng tbody th { white-space: normal;}
table.form.eng th.required,
table.form.eng th.notRequired { padding-right:  98px;}
table.form.eng  th.required:after,
table.form.eng  th.notRequired:after { content: "Required"; width: 78px; text-align: center;}
table.form.eng  th.notRequired:after { content: "Optional";}
table.form.eng .tableFlex.name span { padding: 0 10px 0 0; width: 160px; line-height: 42px; white-space: nowrap;}
table.form.eng .tableFlex.name span ~ span { padding: 0 10px 0 20px; width: 180px;}
table.form.eng tbody th { word-break: break-word;}

table.itemList:not(.rowCol) { border-bottom: 2px solid #bcc3cb;}
table.itemList .spHead { display: none;}
table.itemList tbody th,
table.itemList tbody td { background: #FFF; }
table.itemList:not(.rowCol) tbody tr:first-child td { border-top: 2px solid #bcc3cb;}
table.itemList:not(.rowCol) tbody:first-of-type tr:first-child td { border-top: none !important;}
table.itemList:not(.rowCol) tr:nth-child(2) { font-size: 14px;}
table.itemList tbody td:nth-child(2)  { border-right: 1px solid #dde1e6; border-left: 1px solid #dde1e6;}
table.itemList tbody:nth-child(2n+1) tr th,
table.itemList tbody:nth-child(2n+1) tr td { background: #f9f9f9; }
table.itemList tbody:hover tr th,
table.itemList tbody:hover tr td { background: #f1f3f5; }
table.itemList .btns { text-align: center;}
table.itemList .br { white-space: nowrap;}
table.itemList .modalLink { margin: 10px 0 0; font-size: 14px; text-decoration: none; white-space: nowrap;}
table.itemList .modalLink img { position: relative; top: -1px; margin: 0 1px 0 0; width: 17px; opacity: 1 !important;}
table.itemList .modalLink:hover { opacity: .6;}
table.itemList .btn { display: block; margin: 10px 0 0; width: 100%;}
table.itemList div.note { margin: 10px 0 0; padding: 10px 0 0; border-top: 1px dashed #dde1e6;}

table.itemList.rowCol tbody td:nth-child(2) { border-right: none; border-left: none;}
table.itemList.rowCol tbody td:last-child { white-space: nowrap;}
table.itemList.rowCol tbody tr:first-child td:nth-child(2) ,
table.itemList.rowCol tbody tr:nth-child(2) td:first-child { padding-left: 10px; border-left: 1px solid #dde1e6;}

.infoLink { display: inline-block; position: relative; top: -2px; margin: 0 0 0 10px; vertical-align: middle;}
.infoLink img { width: 20px; opacity: 1 !important;}
.infoDetail {
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    padding: 15px;
    width: 300px;
    color: #336;
    text-align: left;
    background: #FFF;
    border: 1px solid #a4aeb9;
    box-shadow: 0 10px 30px rgba(54, 60, 66, 0.3);
    opacity: 0;
    white-space: normal;
    pointer-events: none;
    transform: translateX(-50%);
    transition: all ease 0.3s;
}
.infoDetail:before,
.infoDetail:after { content: ""; position: absolute; top: -10px; left: 50%; margin: 0 0 0 -9px; border-right: 8px solid transparent; border-left: 8px solid transparent; border-bottom: 10px solid #a4aeb9;}
.infoDetail:after { top: -8px; border-bottom-color: #FFF;}
.infoLink:hover .infoDetail { margin: 8px 0 0; opacity: 1; pointer-events: auto;}

.comp .box { text-align: center;}
.comp .box p { margin: 40px 0 0;}
.comp .alertMsg { display: inline-block; margin: 40px auto 0; padding: 20px 20px 20px 80px;}
.comp .alertMsg p { margin: 0;}
.comp .alertMsg .border { margin: 10px 0 0; padding: 15px 0 0;}

/* talk */
#talkLog { padding: 3rem; text-align: center; background: #f1f3f5; }

#talkLog .date { display: inline-block; position: relative; margin: 2rem auto; padding: 0 2rem; color: #8484a1; font-size: 1.4rem; z-index: 1; }
#talkLog .date:before,
#talkLog .date:after { content: ""; position: absolute; top: 50%; left: -30%; margin: -2px 0 0; width: 160%; height: 1px; background: #8484a1; z-index: -2; }
#talkLog .date:after { top: 0; left: 0; width: 100%; height: 100%; background: #f1f3f5; z-index: -1; }
#talkLog .date:first-of-type { margin-top: 0;}

#talkLog .comments.admin,
#talkForm .talkSend { display: -webkit-box; display: -ms-flexbox; display: flex;-ms-flex-wrap: wrap; flex-wrap: wrap; }

#talkLog .comments { margin: 0 0 3rem;}
#talkLog .comments .fukidashi { position: relative; margin: 0 3rem 0 18rem; padding: 3rem 4rem; background: #fff7eb; border: 1px solid #cdd7e1; border-radius: 6px; }
#talkLog .comments .fukidashi:before,
#talkLog .comments .fukidashi:after { content: ""; position: absolute; top: 2rem; right: -28px; border: 18px solid transparent; border-left: 28px solid #cdd7e1; border-right: none; }
#talkLog .comments .fukidashi:after { right: -26px; border-left-color: #fff7eb; }
#talkLog .comments:last-child { margin-bottom: 0; }
    
#talkLog .comments.admin { align-items: start;}
#talkLog .comments.admin .adminName { width: 9rem; text-align: center;}
#talkLog .comments.admin .adminName div { margin: 0 0 0.5rem; padding: 2rem; height: 9rem; background: #FFF; border: 1px solid #cdd7e1; border-radius: 50%;}
#talkLog .comments.admin .adminName img { vertical-align: top;}
#talkLog .comments.admin .fukidashi { margin: 0 18rem 0 4rem; width: calc(100% - 31rem); background: #FFF; opacity: 1;}
#talkLog .comments.admin .fukidashi:before,
#talkLog .comments.admin .fukidashi:after { right: auto; left: -28px; border-left: none; border-right: 28px solid #cdd7e1; }
#talkLog .comments.admin .fukidashi:after { right: auto; left: -26px; border-right-color: #FFF; }

#talkLog .comments .time { position: absolute; bottom: 0; left: -6rem; color: #8484a1; font-size: 1.4rem; }
#talkLog .comments.admin .time { left: auto; right: -6rem; }

#talkForm textarea { width: 100%; height: 20rem; }

#talkForm .talkSend { -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; ms-flex-pack: justify; justify-content: space-between;}
#talkForm .talkSend .fileUp { margin: 2rem 0 0; padding: 0 2rem 0 0; text-align: left; }
#talkForm .talkSend .btn.large { margin: 2rem 0 0; }
 

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

/* base */

/* common */
header:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: #f3f5f7;
    transition: all 0.5s ease;
    z-index: 20;
}
header #header { padding-right: 120px;}

header #menuTrigger {display: block;position: absolute;top:36px;right: 30px;width: 5rem;height:6rem;cursor: pointer;z-index: 200;}
header #menuTrigger a { display: block; padding:4rem 0 0; color: #74747a !important; text-align: center; text-decoration: none; opacity: 1 !important; }
header #menuTrigger:before,
header #menuTrigger:after,
header #menuTrigger a:before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: #74747a; border-radius: 2px; -webkit-transition: all 0.5s ease; transition: all 0.5s ease; }
header #menuTrigger:after { top: 14px; }
header #menuTrigger a:before { top: 28px; }

header #menuTrigger.active:before { -webkit-transform: translate(0, 14px) rotate(225deg); transform: translate(0, 14px) rotate(225deg); }
header #menuTrigger.active:after { opacity: 0; }
header #menuTrigger.active a:before { -webkit-transform: translate(0, -14px) rotate(-225deg); transform: translate(0, -14px) rotate(-225deg); }

header #menuTrigger span { display: block; }
header #menuTrigger span.close { display: none; }

header nav { top:100%; padding: 0 0 40px; width: 100%; height: 0; opacity: 0; overflow: hidden; pointer-events: none; transition: all 0.5s ease;}
header nav ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 40px 0;}
header nav li { padding: 1px; width: 33.3%;}
header nav a { padding: 25px 60px 25px 20px; background: #FFF;}

.open header:before { height: max(100vh, 606px);}
.open header nav { height: 438px; opacity: 1; pointer-events: auto;}

.noNav header #header { padding-right: 40px;}

main { margin: 0 40px; width: calc(100% - 80px);}

.link,
.linkList li a { padding: 30px 40px 30px 20px;}

.linkList.col2 li a,
.linkList.col3 li a { padding: 30px 16% 30px 7%;}
.linkList.col2 li a:after,
.linkList.col3 li a:after { right: 5%;}
.linkList.col2 li a:hover:after,
.linkList.col3 li a:hover:after { right: calc(5% - 5px);}

div:not(.scroll) > table:not(.rowCol) > tbody,
tbody tr,
tbody th,
tbody td { display: block; width: 100% !important;}
tbody th { padding-bottom:  0; border-bottom: none; white-space: normal;}
tbody td { display: block; padding: 5px 10px 10px;}

th:first-child,
td:first-child { padding-left: 10px !important;}
th:last-child,
td:last-child { padding-right: 10px !important;}

table th.required:after,
table th.notRequired:after { margin: -10px 0 0; font-size: 12px;}
table tbody .empty { display: none;}

.conf table:not(.items) tbody th { color: #8484a1; font-size: 14px;}

.scroll { overflow: auto;}
.scroll table { min-width: 900px;}
.scroll tbody tr,
.scroll tbody th,
.scroll tbody td { display: table-cell; width: auto !important;}
.scroll tbody tr { display: table-row;}

#search dt,
#search dd { margin: 0 10px 5px; width: calc(100% - 20px); text-align: left;}
#search dd { margin: 0 10px 20px}

.pager a { padding: 10px 15px;}
.pager li:first-child a,
.pager li:last-child a { padding: 10px 5px;}

.modalBlock,
.modalBlock.mini { left: 10%; margin: -40px 0 0; width: 80%;}
.modal .closeBtn,
.modalBlock.mini + .closeBtn { left: auto; right: 10%; margin: -80px 0 0;}

/* page */
table.items thead tr:not(.spHead) { display: none;}
table.items .spHead { display: table-row;}
table.items tr ~tr.item th:first-child,
table.items tr ~tr.item td:first-child { border-top: 3px solid #f3951a;}
table.items tr ~tr.item th:last-child,
table.items tr ~tr.item td:last-child { border-bottom: 2px solid #a4aeb9;}
table.items tbody th,
table.items tbody td { padding:  10px; border-bottom: 1px solid #dde1e6;}
table.items tbody .center { text-align: left !important;}
table.items tbody th:not(:first-child) { border-left: none;}
table.items tbody tr.postage td { border-bottom: 1px solid #dde1e6;}
table.items tbody tr.postage ~ tr th:not([colspan="4"]):not(.right) { padding-bottom: 0; color: #8484a1; font-size: 14px; border-bottom: none;}

table.form tbody th { width: 100%;}

table.list tbody th:not(:first-child) { border-left: none;}

table.itemList:not(.rowCol) thead tr:not(.spHead) { display: none;}
table.itemList .spHead { display: table-row;}
table.itemList:not(.rowCol) tbody tr:first-child td { border-top: none;}
table.itemList:not(.rowCol) tbody tr:first-child td:first-child { border-top: 2px solid #bcc3cb;}
table.itemList tbody td { padding: 10px;}
table.itemList tbody td.center { text-align: right !important;}
table.itemList tbody td:nth-child(2) { border-right: none; border-left: none;}
table.itemList br.pc { display: none;}
table.itemList .br { white-space: normal;}
table.itemList .modalLink { margin: 0 0 0 10px;}
table.itemList select { width:  auto;}
table.itemList .btn { display: inline-block; margin: 0 0 0 10px; width: auto;}

table.itemList.rowCol tbody th,
table.itemList.rowCol tbody td { display: table-cell; width: auto !important;}
table.itemList.rowCol tbody tr { display: table-row; width: auto !important;}
}

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

/* base */

/* common */
header nav li { width: 50%;}

.open header nav { height: 389px;}

.link:after,
.linkList li a:after { right: 10px;}
.link:hover:after,
.linkList li a:hover:after { right: 15px;}

.linkList.col3 li { width: 50%;}
.linkList.col3 li:nth-child(3n-1):last-child a,
.linkList.col3 li:nth-child(3n-2):last-child a { box-shadow: none;}
.linkList.col3 li:nth-child(2n-1):last-child a { box-shadow: 1px 0 0 #cdd7e1;}

.linkList.col2 li a,
.linkList.col3 li a { padding: 30px 11% 30px 5%;}
.linkList.col2 li a:after,
.linkList.col3 li a:after { right: 2%;}
.linkList.col2 li a:hover:after,
.linkList.col3 li a:hover:after { right: calc(2% - 5px);}

.linkList.col3.direction li { width: 33.33%;}
.linkList.col3.direction li:first-child a:after { left: 2%; right: auto;}
.linkList.col3.direction li:first-child a:hover:after { left: calc(2% - 5px);}

table:last-child { margin-bottom: 0;}
table .tableFlex.monthYear { -ms-flex-wrap: wrap; flex-wrap: wrap;}
table .tableFlex.monthYear .note { margin: 10px 0 0; width: 100%; line-height: 1.4; white-space: normal;}

/* page */
table.form.eng .tableFlex.monthYear .note { margin: 0 0 0 20px; width: auto; line-height: 40px; white-space: nowrap; }
table.form.eng ~ .center .btn + .btn { display: block; margin: 20px auto 0;}

#cartTopList.linkList li { width: 100%;}
#cartTopList.linkList li a { font-size: 26px;}
#cartTopList.linkList li a:after { margin: -15px 0 0; width: 30px; height: 30px;}
#cartTopList.linkList li img { margin: 0 auto 10px; width: 50px;}

#cartLogin li { width: 100%;}
#cartLogin li.login { border-left: none; border-top: 1px solid #cdd7e1;}

#talkLog .date { margin: 1rem 0; }
#talkLog .date:before { left: -20%; width: 140%; }

#talkLog .comments .fukidashi { margin: 0 2rem 0 8rem; padding: 2rem; }
#talkLog .comments .fukidashi:before,
#talkLog .comments .fukidashi:after { top: 2rem; right: -20px; border: 12px solid transparent; border-left: 20px solid #cdd7e1; border-right: none; }
#talkLog .comments .fukidashi:after { right: -18px; border-left-color: #fff7eb; }

#talkLog .comments.admin .adminName { width: 7rem;}
#talkLog .comments.admin .adminName div { padding: 1.8rem; height: 7rem;}
#talkLog .comments.admin .fukidashi { margin: 0 8rem 0 3rem; width: calc(100% - 18rem); }
#talkLog .comments.admin .fukidashi:before,
#talkLog .comments.admin .fukidashi:after { right: auto; left: -20px; border-left: none; border-right: 20px solid #cdd7e1; }
#talkLog .comments.admin .fukidashi:after { right: auto; left: -18px; border-right-color: #FFF; }

}


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

/* base */
h1, h2, h3, h4, h5, h6 { margin: 0 0 15px; font-size: 24px;}

.errorMsg { margin: 20px 0; padding: 15px;}

.alertMsg { margin: 0 0 20px; padding: 50px 15px 15px 35px; background-position: center 10px; background-size: 30px;}

.btn + .btn { margin: 0 auto 0 20px;}

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

header { position: relative;}
header #header { padding: 20px 15px;}
header #logo { margin: 0 0 15px; width: 150px;}

header #userName { padding: 0; width: 100%; text-align: left;}
header #userName .name,
header #userName a { margin: 5px 15px 5px 0; }

header #menuTrigger { top: 8px; right: 1rem; height: 5rem; }
header #menuTrigger a { font-size: 1.2rem; }
header #menuTrigger:before,
header #menuTrigger:after,
header #menuTrigger a:before { top: 10px; left: 15%; width: 70%; }
header #menuTrigger:after { top: 21px; }
header #menuTrigger a:before { top: 32px; }

header #menuTrigger.active:before { -webkit-transform: translate(0, 11px) rotate(225deg); transform: translate(0, 11px) rotate(225deg); }
header #menuTrigger.active a:before { -webkit-transform: translate(0, -11px) rotate(-225deg); transform: translate(0, -11px) rotate(-225deg); }

header nav ul { margin: 0 20px;}
header nav li { width: 100%;}

.open header nav { height: 606px;}

.noNav header #header { padding-right: 20px;}
.noNav header #logo { margin: 0;}
.noNav header #userName a { margin-right: 0;}

#pageTop { bottom: 10px; right: 10px;}

main { margin: 0 15px; width: calc(100% - 30px);}
.noNav main { margin: 0 15px; width: calc(100% - 30px);}

article .subTitle { margin: 0 0 10px; font-size: 16px; font-weight: 900; }

.border { margin: 20px 0 0; padding: 20px 0 0;}
 
.box { margin: 0 0 20px; padding: 20px 15px;}

.link,
.linkList li a { padding: 20px 40px 20px 15px;}
.link:after,
.linkList li a:after { right: 5px;}
.link:hover:after,
.linkList li a:hover:after { right: 10px;}

.linkList.col2 li,
.linkList.col3 li { width: 100%;}
.linkList.col2 li a,
.linkList.col3 li a { padding: 20px 11% 20px 5%;}
.linkList.col2 li:nth-child(2n-1):last-child a,
.linkList.col3 li:nth-child(2n-1):last-child a { box-shadow: none;}

.linkList.col3.direction li a { padding: 20px 19% 20px 11%; font-size: 14px;}
.linkList.col3.direction li a:after { margin: -10px 0 0; width: 20px; height: 20px;}
.linkList.col3.direction li:first-child a { padding: 20px 11% 20px 19%;}

table { margin: 0 -15px 20px; width: calc(100% + 30px);}
table:last-child { margin-bottom: -20px;}
table .tableFlex.name span { padding: 0 !important; width: 50px !important;}
table .tableFlex.name input { width: calc(100% - 50px);}
table .tableFlex.name span ~ span,
table .tableFlex.name input ~ input { margin: 10px 0 0;}
table .tableFlex.tel .note,
table .tableFlex.card .note { margin: 10px 0 0; line-height: 1;}

table .tableFlex.name,
table .tableFlex.tel,
table .tableFlex.card,
table .tableFlex.pass,
table .tableFlex.inputs { -ms-flex-wrap: wrap; flex-wrap: wrap;}

table.form.eng .tableFlex.name span { padding: 0 10px 0 0 !important; width: 90px !important;}
table.form.eng .tableFlex.name input { width: calc(100% - 90px);}

.scroll { margin: -20px -15px 20px;}
.scroll:last-child { margin-bottom: -20px;}
.scroll table { margin-bottom: 0;}

.pager { justify-content: unset;}
.pager li { flex-grow: 1;}
.pager li:first-child,
.pager li:last-child { flex-grow: 0;}
.pager a { padding: 10px 0 !important;}

.modalBlock,
.modalBlock.mini { left: 5%; padding: 0 15px 20px; width: 90%;}
.modal .closeBtn,
.modalBlock.mini + .closeBtn { left: auto; right: 5%; margin: -80px 0 0;}

.modal table { margin: 0 -15px 15px;}
.modal table:first-child thead th { border-top: none;}

/* page */
.regist header #logo { width: 150px;}
.regist header #userName { width: calc(100% - 150px);}
.regist header #userName a { margin: 0 0 0 15px;}

.login .box h1 img { width: 160px;}
.login form p { margin: 0 0 15px;}
.login form input { margin: 3px 0 0;}
.login form .center { margin: 20px 0 0;}

.login.pass header #userName a { margin: 0 0 0 25px;}
.login.pass .box p { margin: 15px 0 0;}
.login.pass .box h1 + p { text-align: left !important;}

table .tableFlex.pass input[type=password] { margin: 10px 0 0; width: 100%;}

.cart header #logo { width:  150px;}
.cart header #userName { width: 100%;}

#stepFlow { margin: 0 0 20px;}
#stepFlow li { padding: 45px 10px 0; font-size: 14px; line-height: 1.2;}
#stepFlow li:before { top: 18px;}
#stepFlow li:after {
    top: 0;
    margin: 0 0 0 -20px;
    width: 40px;
    height: 40px;
    font-size: 22px;
    line-height: 38px;
    background-size: 24px 24px, 100% 100%;
}

#cartLogin { margin: 0 -15px -20px; border-left: none; border-right: none;}
#cartLogin li { padding: 20px 15px 10px; background-position: left center; background-size: auto 110%;}
#cartLogin h1,
#cartLogin h2 { margin: 0 0 15px; font-size: 20px;}
#cartLogin .center { margin: 10px 0;}

table.items tbody tr.postage td:nth-last-child(2) { border-bottom: 1px solid #dde1e6;}

table.form ~ .center ~ .center { margin: 20px 0 0;}

.infoDetail { width: 240px; transform: translateX(-80%);}
.infoDetail:before,
.infoDetail:after { left: 81%;}

.comp .box p { margin: 20px 0 0;}
.comp .alertMsg { margin: 20px 0 0; padding: 30px 15px 15px;}

#talkLog { padding: 2rem; }

#talkLog .date { position: relative; top: -1rem; margin: 0 0 2rem; padding: 0 1.2rem; }
#talkLog .date:before { left: -10%; width: 120%; }

#talkLog .comments { margin: 0 0 4rem;}
#talkLog .comments .fukidashi { margin: 0 0.5rem 0 3rem; padding: 1.5rem; }
#talkLog .comments .fukidashi:before,
#talkLog .comments .fukidashi:after { right: -20px; border: 12px solid transparent; border-left: 20px solid #cdd7e1; border-right: none; }
#talkLog .comments .fukidashi:after { right: -18px; border-left-color: #fff7eb; }

#talkLog .comments.admin .adminName { position: relative; margin: 0 0 0 -1rem; width: 100%; font-size: 1.4rem; text-align: left;}
#talkLog .comments.admin .adminName div { display: inline-block; margin: 0 1rem 0 0; padding: 0.8rem; width: 4rem; height: 4rem; vertical-align: top;}
#talkLog .comments.admin .fukidashi { margin: 1rem 3rem 0 0.5rem; width: calc(100% - 3.5rem);}
#talkLog .comments.admin .fukidashi:before,
#talkLog .comments.admin .fukidashi:after { right: auto; left: -20px; border-left: none; border-right: 20px solid #cdd7e1; }
#talkLog .comments.admin .fukidashi:after { right: auto; left: -18px; border-right-color: #FFF; }

#talkLog .comments .time { bottom: auto; top: -2.5rem; left: 0; }
#talkLog .comments.admin .time { left: auto; right: 0; }

#talkForm .talkSend { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;}
#talkForm .talkSend .fileUp { padding: 0; width: 100%; text-align: left;}
}