@charset "UTF-8";
/* ----------------------------------------------------------------------
	Base
---------------------------------------------------------------------- */
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;font-style: normal;font-weight: normal;vertical-align:baseline;background:transparent;}
body {line-height:1;-webkit-text-size-adjust: 100%;}
strong {font-weight: bold;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display:block;}
ul,ol {list-style:none;}
img {border: 0;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;text-decoration: none;}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
textarea {resize: vertical;}

html {
	overflow-y: scroll;
	font-size: calc(100vw / 3.75);
}
body {
	color: #363636;
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",YuGothic,"游ゴシック",sans-serif;
	position: relative;
	text-align: center;
	width: 100%;
	font-size: 0.16rem;
	font-feature-settings:'palt';
	overflow: hidden;
}
h1,h2,h3,h4,h5,h6,p,ul,dl {
	line-height: 1;
}
a {
	color: inherit;
	outline: none;
}
img {
	vertical-align: bottom;
	-webkit-backface-visibility: hidden;
	width: auto;
	max-width: 100%;
}

/* ----------------------------------------------------------------------
	Layout
---------------------------------------------------------------------- */
footer .fnav {
	text-align: left;
	margin: 2em auto 1.5em;
	border-top: 1px solid #5E5E5E;
	padding-top: .2em;
}
footer .fnav dt,
footer .fnav dd {
    margin: 0 auto .5em;
}
footer .fnav dt {
    margin-top: 1em;
}
footer .fnav ul {
	line-height: 1.6;
}
footer .fnav li {
	display: inline-block;
	margin-right: .7em;
}
footer .fnav li a::before {
	content: "▶";
	margin-right: 0.1em;
}
footer small {
	display: block;
	background: #171C2E;
	color: #FFF;
	padding: 1.2em 0;
	font-size: 0.8em;
}
footer .pagetop {
	position: fixed;
	bottom: 4.5em;
	right: 2%;
	width: auto;
	text-indent: -9999px;
	z-index: 1000;
}
footer .pagetop a {
	display: block;
	outline: none;
	position: relative;
	width: 3em;
	height: 3em;
	border-left: none;
	padding: 0;
	border-radius: 50%;
	background: rgba(196,196,196,0.4);
	z-index: 100;
}
footer .pagetop a::after {
    content: "";
    display: block;
    width: 1.4em;
    height: 1.2em;
    background: #808080;
    clip-path: polygon(0 100%, 50% 0, 100% 100%);
    margin: -.2em 0 0 .8em;    
}
.inner {
    padding-left: 3%;
    padding-right: 3%;
}

@media screen and (max-width: 767px) {
.pc {display: none !important;}
.wdful {
	width: 106.2%;
	margin-left: -3.1%;
	margin-right: -3.1%;
}

body {
	padding: 3.2em 0 4em;
}
header {
	position: fixed;
	z-index: 10;
	background: #1D2232;
	display: flex;
    align-items: center;
	height: 3.2em;
	width: 100%;
	top: 0;
	left: 0;
}
header .hd {
	color: #FFF;
	text-align: left;
	padding: 0 4em 0 4%;
}
header .hd span,
header .hd strong {
	display: block;
}
header .hd span {
	font-size: 0.68em;
	margin: 0 0 0.3em 2.4em;
}
header .hd strong img {
	width: 13em;
}
header .enav {
	position: fixed;
	background: #171C2E;
	width: 100%;
	bottom: 0;
	left: 0;
}
header .enav li {
	float: left;
	width: 25%;
}
header .enav li a {
	display: block;
	height: 3em;
	text-indent: -9999px;
	outline: none;
	background-size: auto 77% !important;
	background-color: #171C2E;
}
header .enav li:nth-last-of-type(n + 3) a {
	border-right: 1px solid #FFF;
}
header .enav li.enav_consult a {
	background: url(/mens/img/enav_consult.png) no-repeat 50%;
}
header .enav li.enav_reserve a {
	background: url(/mens/img/enav_reserve.png) no-repeat 50%;
}
header .enav li.enav_line a {
	background: url(/mens/img/enav_line.png) no-repeat 50%;
}
header .enav li.enav_tel a {
	background: url(/mens/img/enav_tel.png) no-repeat 50%;
}
header .enav li.enav_map a {
	position: fixed;
	top: 0;
	right: 4em;
	width: 2.5em;
	height: 3.2em;
	background: url(/mens/img/enav_map.png) no-repeat 50%;
	background-size: auto 74% !important;
}
nav.gnav button {
	position: fixed;
	top: 0;
	right: 0;
	background: url(/mens/img/gnav.png) no-repeat #B7986F 50% 84%;
	background-size: 62% auto;
	display: block;
	font-size: 1em;
	width: 3.7em;
	height: 3.2em;
	cursor: pointer;
	border: none;
	outline: none;
	z-index: 100;
}
nav.gnav button::before,
nav.gnav button::after,
nav.gnav button span::before {
	position: absolute;
	content: "";
	display: block;
	width: 1.4em;
	height: 2px;
	background: #fff;
	left: calc(50% - 0.7em);
}
nav.gnav button::before {top: 0.55em;}
nav.gnav button::after {top: 1.05em;}
nav.gnav button span::before {top: 1.55em;}
nav.gnav .active::before {
	transform: rotate(45deg);
	top: 1em;
}
nav.gnav .active::after {
	transform: rotate(-45deg);
	top: 1em;
}
nav.gnav .active span::before {
	display: none;
}
nav.gnav ul {
	display: none;
	width: 100%;
	background: rgba(184,153,111,0.9);
	position: fixed;
	left: 0;
	top: 3.2em;
	text-align:  left;
	z-index: 100;
}
nav.gnav ul li a {
	color: #fff;
	display: block;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	padding: 0.8em 5%;
	cursor: pointer;
	width: auto;
}
footer .fnav dt,
footer .fnav dd {
    padding-left: 3%;
}
}

@media screen and (min-width: 600px) {
html {
	font-size: 62.5%;
}
body {
	font-size: 1.9rem;
	padding-bottom: 0;
	width: 100%;
}
}

@media screen and (min-width: 768px) {
.sp {display: none !important;}
.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
	z-index: 100;
}
.wdful {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.wrap {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

header {
	background: #1D2232;
}
header .wrap {
	padding: .7em 3%;
}
header .hd {
	color: #FFF;
	text-align: left;
	float: left;
}
header .hd span,
header .hd strong {
	display: block;
}
header .hd span {
	font-size: 0.7em;
	margin: 0 0 0.3em 3em;
}
header .hd strong img {
	width: 16em;
}
header .enav {
	float: right;
}
header .enav li a {
	color: #FFF;
	display: block;
}
header .enav li.enav_map {
    display: none;
}
header .enav li {
	float: right;
	margin-left: 0.7em;
}
header .enav li.enav_consult a,
header .enav li.enav_reserve a {
	background: #B7986F;
	border-radius: 2px;
	padding: 0.8em 0.3em 0.7em;
}
header .enav li.enav_line a,
header .enav li.enav_tel a {
    text-indent: -9999px;
    width: 2em;
    height: 2em;
    margin-top: .3em;
}
header .enav li.enav_line a {
	background: url(/mens/img/enav_line.png) no-repeat 50% 0;
    background-size: auto 150%;
}
header .enav li.enav_tel a {
	background: url(/mens/img/enav_tel.png) no-repeat 50% 0;
    background-size: auto 150%;
}
nav.gnav {
    background: #FFF;
}
nav.gnav button {
	display: none;
}
nav.gnav ul {
	display:flex !important;
	width: min(100%,1000px);
	margin: auto;
	position: static;
	padding: 1em 0 0;
	font-size: 0.8em;
    flex-wrap: wrap;
    justify-content: space-between;
}
nav.gnav ul li {
	margin-bottom: 1em;
    flex: 1;
}
nav.gnav ul li a {
	display: block;
	color: #4D4D4D;
    padding: .3em 0;
	border-bottom: none;
	border-right: 1px solid #0C162D;
	text-align: center;
}
nav.gnav ul li:last-of-type a {
	border-right: none;
}

footer {
	font-size: 0.9em;
}
footer .fnav dt,
footer .fnav dd {
    width: min(95%, 1000px);
}
}

@media screen and (min-width: 1000px) {
header .wrap {
	padding-left: 0;
	padding-right: 0;
}
header .enav li.enav_tel a {
	background: url(/mens/img/enav_tel.png) no-repeat -.5em .1em;
    background-size: auto 135%;
    text-indent: 0;
    width: auto;
    height: 1.3em;
    line-height: 1.3em;
    margin-top: .15em;
    padding-left: 1.4em;
    font-size: 1.6em;
    font-family: "Schibsted Grotesk", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
nav.gnav ul li:first-of-type a {
	border-left: 1px solid #0C162D;
}
nav.gnav ul li:last-of-type a {
	border-right: 1px solid #0C162D;
}
}


/* ----------------------------------------------------------------------
	Common
---------------------------------------------------------------------- */
.clearfix::after,
.wrap::after,
.cont::after {
	content: "";
	display: block;
	clear: both;
}
.clearfix::before,
.wrap::before,
.cont::before {
	content: "";
	display: block;
	clear: both;
}
.clearfix,
.wrap,
.cont {
	display: block;
}
.clear {clear: both;}

.tac {text-align: center !important;}
.tal {text-align: left!important;}
.ib {display: inline-block;}

.fs115 {font-size: 1.15em;}
.fs110 {font-size: 1.1em;}
.fs90 {font-size: 0.9em;}
.fs85 {font-size: 0.85em;}
.fs80 {font-size: 0.8em;}
.fs75 {font-size: 0.75em;}
.ls08 {letter-spacing: -.08em;}
.fcb { color: #104591;}

.wd15 {width: 15%;}
.wd18 {width: 18%;}
.wd20 {width: 20%;}
.wd25 {width: 25%;}
.wd40 {width: 40%;}
.wd45 {width: 45%;}
.wd50 {width: 50%;}
.wd55 {width: 55%;}
.wd60 {width: 60%;}
.wd65 {width: 65%;}
.wd70 {width: 70%;}
.wd75 {width: 75%;}
.wd80 {width: 80%;}
.wd85 {width: 85%;}
.wd90 {width: 90%;}
.wd95 {width: 95%;}

.mb0 {margin-bottom: 0 !important;}
.mb03 {margin-bottom: 0.3em !important;}
.mb05 {margin-bottom: 0.5em !important;}
.mb07 {margin-bottom: 0.7em !important;}
.mb10 {margin-bottom: 1em !important;}
.mb15 {margin-bottom: 1.5em !important;}
.mb20 {margin-bottom: 2em !important;}
.mb25 {margin-bottom: 2.5em !important;}
.mb30 {margin-bottom: 3em !important;}
.mb35 {margin-bottom: 3.5em !important;}
.mb40 {margin-bottom: 4em !important;}
.mt0 {margin-top: 0 !important;}
.ml0 {margin-left: 0 !important;}
.mr0 {margin-right: 0 !important;}
.pr0 { padding-right: 0 !important;}

.filter {
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1);
	position: relative;
	z-index: 1;
}

.srf {font-family: 'Noto Serif JP', serif; font-weight: 500;}

.ov:hover {
    opacity: 0.8;
    transition: opacity 0.2s ease-in-out;
}

.cont p {
	line-height: 1.5;
	text-align: justify;
	margin-bottom: .8em;
}
.cont figure {
    margin: .5em auto .8em;
}
.cont .breadcrumb {
    text-align: left;
    font-size: .65em;
    margin: 1em auto;
    width: 94%;
}
.cont .breadcrumb li {
    display: inline;
}
.cont .breadcrumb li a::after {
    content: "＞";
    margin-left: .5em;
}
.cont .pagettl {
    text-align: left;
    border-left: 2px solid #05307c;
    margin: 0 auto 1em;
    padding: .1em 0 .1em .4em;
    width: calc(94% - .4em - 2px);
}
.cont .pagettl span.srf {
    display: block;
    font-size: .6em;
    margin-bottom: .7em;
}
.cont .pagettl strong {
    font-weight: normal;
    font-size: 1.3em;
}
.cont .pagettl strong span {
    font-size: .8em;
}
.cont .sec {
	margin-bottom: 2.5em;
}
.cont h2.srf {
	background-color: #0D142B;
	color: #FFF;
	padding: .55em 0 .65em;
    font-size: 1.2em;
    margin-top: 1em;
    margin-bottom: .6em;
}
.cont h2.srf.hl {
    text-align: left;
    padding-left: 1.8em;
    background: url(/mens/img/hlicon.png) no-repeat .5em .5em #0D142B;
    background-size: 1em auto;
    border-top: .3em solid #4379D8;
    position: relative;
}
.cont h2.srf.hl::after {
    content: "";
    display: block;
    width: 50%;
    height: .3em;
    background: #1949A2;
    position: absolute;
    right: 0;
    top: -.3em;
}
.cont h3.shl {
    text-align: left;
	background: #153D87;
	color: #FFF;
	padding: .5em 0 .5em .6em;
    font-size: 1.2em;
    margin: 1em 0 .5em;
}
.cont .btnlink {
    display: block;
    width: min(85%, 450px);
    margin: .5em auto 1.5em;
    padding: .8em 0;
    background: #171C2E;
    border-radius: 2em;
    color: #FFF;
    font-size: 1.15em;
}
.cont .btnlink::after {
    content: "";
    display: inline-block;
    vertical-align: text-top;
    width: .9em;
    height: .8em;
    background: #FFF;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    margin: .1em 0 0 .3em;
}
.cont .txtlink {
    text-align: right;
}
.cont .txtlink a {
    color: #61380e;
}
.cont .txtlink a::after {
    content: "＞＞";
    display: inline-block;
    letter-spacing: -.2em;
    transform: scale(.7, 1);
}
.lnk {
    text-decoration: underline;
}
.lnk:hover {
    text-decoration: none;
}
.mrdlbtn {
    display: block;
    background: url(/mens/img/mrdl.png) no-repeat calc(50% - 5.8em) 50% #0E4996;
    background-size: auto 1.3em;
    position: relative;
    width: min(80%,450px);
    margin: 1em auto;
    padding: .8em 0;
    color: #FFF;
    font-size: 1.2em;
}
.mrdlbtn::before,
.mrdlbtn::after {
    content: "";
    display: inline-block;
    position: absolute;
    right: calc(50% - 6.2em);
    top: calc(50% - .55em);
}
.mrdlbtn::before {
    background: #FFF;
    border-radius: 50%;
    width: 1.1em;
    height: 1.1em;
}
.mrdlbtn::after {
    width: .7em;
    height: .6em;
    background: #0E4996;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    margin: .3em .2em 0 0;
}

.schtbl {
	width: 100%;
	margin: 0 auto 1em;
}
.schtbl caption {
	background: #0C1729;
	color: #FFF;
	padding: 0.5em 0;
}
.schtbl th,
.schtbl td {
	border: 1px solid #808080;
	width: 14.2%;
	vertical-align: middle;
}
.schtbl th {
	height: 1.9em;
	font-size: 0.8em;
}
.schtbl th:first-of-type {
	background: #F8BABE;
	color: #C9373C;
}
.schtbl th:last-of-type {
	background: #B0D6F7;
	color: #123C9B;
}
.schtbl td {
	height: 2em;
	font-size: 0.95em;
	font-family: 'Roboto', sans-serif;
	color: #363636;
}
.schtbl td a {
	pointer-events: none;
	text-decoration: none;
}
.schtbl .close {
	background: #FADAC8;
	pointer-events: none;
}
.schtbl td:last-of-type {
	color: #123C9B;
}
.schtbl td:first-of-type,
.schtbl td.holiday {
	color: #C9373C;
}
.calclose::before {
	content: "";
	display: inline-block;
	background: #FADAC8;
	width: 1.5em;
	height: 1em;
	vertical-align: middle;
	margin: 0 0.3em 0.25em 0;
}
.map figcaption {
    line-height: 1.4;
    font-size: 1.05em;
    color: #1e3583;
    margin-bottom: .6em;
}
.gmapbtn {
    position: relative;
    width: min(80%,600px);
    margin: .5em auto 1em;
    display: block;
    background: url(/mens/img/gmapbtn.png) no-repeat #CDC1B0 calc(50% - 5.7em) 50%;
    background-size: auto 50%;
    color: #FFF;
    font-size: 1.2em;
    text-decoration: none;
    border: 1px solid #FFF;
    border-radius: 0.8em;
    padding: 0.8em 0;
    filter: drop-shadow(0 3px 1px #CDC1B0);
}
.gmapbtn::before,
.gmapbtn::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 0.6em);
    right: calc(50% - 6.5em);
}
.gmapbtn::before {
    width: 1.2em;
    height: 1.2em;
    border-radius: 1em;
    background: rgba(255, 255, 255, 0.3);
}
.gmapbtn::after {
    display: inline-block;
    width: .7em;
    height: .8em;
    background: #FFF;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    margin: .2em .1em 0 0;
}

.infotbl {
    width: 100%;
    margin: 1.2em auto 0;
    border-bottom: 1px solid #1a1a1a;
}
.infotbl tr {
    border-top: 1px solid #1a1a1a;
}
.infotbl th,
.infotbl td {
    text-align: left;
    padding: .6em 3%;
}
.infotbl th span {
    display: inline-block;
    text-align: center;
    color: #FFF;
    width: 5em;
    padding: .3em 0;
    background: #001A40;
}
.infotbl tr:first-of-type th span {
    letter-spacing: 1em;
    text-indent: 1em;
}
.infotbl th {
    width: 7em;
}
.txlist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.txlist li {
    width: 31.5%;
    margin-bottom: .6em;
}
.txlist li a {
    display: block;
    color: #FFF;
    font-size: 1.05em;
    background: #1949A2;
    padding: .5em 0;
    letter-spacing: -.05em;
}
.ctcbox {
    margin-bottom: .8em;
}
.ctcbox dt {
    color: #FFF;
    font-size: 1.1em;
    background: #021F4E;
    padding: .5em 0;
    border-radius: .4em .4em 0 0;
}
.ctcbox dd {
    border: 2px solid #021F4E;
    border-top: none;
    border-radius: 0 0 .4em .4em;
    padding: .6em 3%;
}
.ctcbox dd ul {
    display: flex;
    justify-content: space-between;
}
.ctcbox dd li {
    width: 49%;
}
.ctcbox dd li a {
    display: block;
    background: #021F4E;
    border-radius: .2em;
    padding: .9em 0;
}
.ctcbox dd li a img {
    height: 1.4em;
}
.ctcbox dd > a img {
    height: 1.5em;
    margin-bottom: .3em;
}

@media screen and (max-width: 767px) {
.infotbl th,
.infotbl td {
    display: block;
}
.infotbl td {
    padding-top: 0;
}
.ctcbox:last-of-type {
    margin-bottom: 1.2em;
}
}

@media screen and (min-width: 768px) {
.pcflex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.pcflex figure {
    margin-left: 0;
    margin-right: 0;
}
.cont p {
	line-height: 1.8;
}
.infotbl {
    width: 94%;
}
#calendar,
#calendarN,
.pcflex .ctcbox,
.bnr figure {
    width: 49%;
}
.txlist li {
    width: 24%;
}
.sec .txlist li:last-of-type {
    margin-right: 25.4%;
}
}

@media screen and (min-width: 1000px) {
.cont .breadcrumb {
    width: 100%;
}
.cont .pagettl {
    width: min(calc(100% - .4em - 2px), 990px);
}
}

/* ----------------------------------------------------------------------
	 Style
---------------------------------------------------------------------- */
/*=== トップ ===*/
.mv {
    background: url(/mens/img/mvicon.png) no-repeat calc(50% - 8em) 95%, url(/mens/img/mvdr.png) no-repeat calc(50% - 7em) 100%, url(/mens/img/mvbg.jpg) repeat-x 60% 100%;
    background-size: 6.3em auto, auto 120%, auto 110%;
    padding: .7em 0 1em;
    margin: auto;
}
.mv h1 {
    line-height: 2.5;
    padding-bottom: 1em;
}
.mv h1 img {
    height: 1.9em;
    filter: drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 2px rgba(255,255,255,1)) drop-shadow(0 0 2px rgba(255,255,255,1));
}
.mv div img {
    width: min(100%, 300px);
}
.mv h1,
.mv div {
    margin: 0 2% 0 33%;
}
.txbg {
    background: url(/mens/img/txbg.png) no-repeat 50% .7em #252735;
    background-size: auto .8em;
    padding: 2.5em 3% .5em;
    margin-bottom: .8em;
}
.txbg .txlist {
    margin: auto;
    width: min(100%, 1000px);
}
.rcmdlist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.rcmdlist li {
    margin-bottom: .5em;
}
.rcmdlist li:nth-last-of-type(n + 4) {
    width: 49%;
    margin-bottom: .8em;
}
.rcmdlist li span {
    display: block;
    font-size: .7em;
    margin-top: .5em;
    letter-spacing: -.02em;
}
.picph {
    display: flex;
    justify-content: space-between;
}
.picph figure {
    width: 32%;
    margin: 0 0 .8em;
}
.picph figure img {
    height: 8em;
}
.picph figcaption {
    background: #153D87;
    color: #FFF;
    padding: .7em 0;
}
.drmsg {
    background: url(/mens/img/drmsg.jpg) no-repeat 100% 0 #fafafa;
    background-size: auto 11em;
    position: relative;
    overflow: hidden;
    padding: 1em 2% .5em;
    margin-bottom: 1em;
}
.drmsg h3 {
    font-size: 1.05em;
    line-height: 1.5;
    margin: 0 auto 1em;
    padding-right: 6em;
    width: min(calc(100% - 6em), 550px);
    font-weight: 800 !important;
}
.drmsg h3 span {
    font-weight: 800 !important;
    letter-spacing: -.03em;
}
.drmsg h3 span:last-of-type {
    display: block;
    margin-top: .5em;
}
.drmsg figure {
    margin: 0;
}
.drmsg figure > img {
    width: 12em;
    position: absolute;
    right: calc(50% - 13em);
    top: -1.3em;
}
.drmsg figcaption {
    position: relative;
    z-index: 1;
    margin-left: 5em;
}
.drmsg figcaption img {
    height: 2.2em;
}
.ptlist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.ptlist li {
    width: 49%;
    margin-bottom: .8em;
    background-size: 100% auto !important;
    padding-top: 24%;
}
.ptlist li > span {
    display: block;
    background: #0C162A;
    color: #FFF;
    padding: .4em 0 .6em;
    letter-spacing: -.07em;
}
.ptlist li span span { letter-spacing: -.2em;}
.ptlist li:nth-of-type(1) { background: url(/mens/img/ptlist01.jpg) no-repeat #0C162A;}
.ptlist li:nth-of-type(2) { background: url(/mens/img/ptlist02.jpg) no-repeat #0C162A;}
.ptlist li:nth-of-type(3) { background: url(/mens/img/ptlist03.jpg) no-repeat #0C162A;}
.ptlist li:nth-of-type(4) { background: url(/mens/img/ptlist04.jpg) no-repeat #0C162A;}
.ptlist li:nth-of-type(5) { background: url(/mens/img/ptlist05.jpg) no-repeat #0C162A;}
.ptlist li:nth-of-type(6) { background: url(/mens/img/ptlist06.jpg) no-repeat #0C162A;}
.ptlist li:nth-of-type(7) { background: url(/mens/img/ptlist07.jpg) no-repeat #0C162A;}
.ptlist li:nth-of-type(8) { background: url(/mens/img/ptlist08.jpg) no-repeat #0C162A;}
.ptlist li:nth-of-type(9) { background: url(/mens/img/ptlist09.jpg) no-repeat #0C162A;}
.ptlist li:nth-of-type(10) { background: url(/mens/img/ptlist10.jpg) no-repeat #0C162A;}

.newslist {
    overflow-y: scroll;
/*    height: 20em;*/
}
.newslist li {
    position: relative;
    border-bottom: 1px solid #808080;
    padding: 0 .5em 0 1%;
}
.newslist li:nth-last-of-type(n + 2) {
    margin-bottom: 1em;
}
.newslist li h3 {
    text-align: left;
    margin: .8em 0 .5em;
    font-size: 1.1em;
}
.newslist li dt {
    text-align: left;
    padding-top: .2em;
}
.newslist li dt.newscat {
    position: absolute;
    right: 0;
    top: 0;
    background: #305CAB;
    color: #FFF;
    padding: .3em 0;
    width: 6em;
    text-align: center;
    font-size: .9em;
}

@media screen and (min-width: 600px) {
.mv {
    font-size: 1.3em;
}
.ptlist li {
    width: 32.5%;
    padding-top: 16%;
    font-size: 2.5vw;
}
}

@media screen and (min-width: 768px) {
.mv {
    font-size: 1.5em;
    background: url(/mens/img/mvicon.png) no-repeat calc(50% - 9em) 95%, url(/mens/img/mvdr.png) no-repeat calc(50% - 7em) 100%, url(/mens/img/mvbg.jpg) repeat-x 60% 100%;
    background-size: 6.3em auto, auto 120%, auto 110%;
    width: min(100%, 1000px);
}
.mv h1,
.mv div {
    margin: 0 5% 0 30%;
}
.mv div img {
    width: min(100%, 350px);
}
.txbg .txlist li {
    width: 24%;
}
.rcmdlist li:nth-last-of-type(n + 4) {
    width: 24.5%;
}
.rcmdlist li:nth-of-type(n + 5) {
    width: 49.5%;
}
.rcmdlist li:last-of-type {
    margin: auto;
}
.picph figure img {
    height: 11em;
}
.drmsg {
    background: url(/mens/img/drmsg.jpg) no-repeat 100% 10% #fafafa;
    background-size: auto 18em;
    font-size: 1.1em;
}
.drmsg h3 {
    width: min(calc(100% - 6em), 600px);
}
.drmsg figure > img {
    right: calc(50% - 15em);
}
.drmsg figcaption {
    margin-left: 9em;
}
.ptlist li {
    width: 19.5%;
    padding-top: 10%;
    font-size: min(1.7vw,.9em);
}
}


/*=== フォーム ===*/
.form {
    padding-bottom: 0;
}
.form p {
    text-align: left;
}
.form .enav {
    display: none;
}
.form .ctcbox {
    margin: 0 auto 1.5em;
    width: min(90%, 600px);
}
.form .formsch {
    display: flex;
    justify-content: space-between;
}
.form #calendar,
.form #calendarN {
    width: 49%;
}

.form .formtbl {
    width: 100%;
    margin: 2em auto 1.5em;
    text-align: left;
}
.form .formtbl caption {
    color: #FFF;
    background: #021F4E;
    padding: .5em 0;
    width: min(75%, 600px);
    margin: 0 auto .5em;
    border-radius: 1.5em;
    font-size: 1.1em;
}
.form .formtbl th,
.form .formtbl td {
	display: block;
	line-height: 1.6;
    padding: .2em 2%;
}
.form .formtbl th {
    background: #EEEEEE;
    margin-top: .5em;
}
.form .formtbl td + td {
    border-top: 1px solid #8D8D8D;
    margin-top: .7em;
    padding-top: .7em;
}
.form .formtbl td p {
    margin: .6em 0;
}
.form .formtbl th::before,
.form .formtbl td .date::after {
    display: inline-block;
    padding: 0 .5em;
    color: #FFF;
    font-size: .65em;
    content: "必須";
    background: #05307C;
    vertical-align: middle;
    margin: 0 .5em .2em 0;
}
.form .formtbl td .date::after {
    margin-left: .5em;
}
.form .formtbl th.any::before,
.form .formtbl td .any::after {
    content: "任意";
    background: #7B7B7B;
}
.form .formtbl input[type="text"],
.form .formtbl input[type="number"],
.form .formtbl input[type="tel"],
.form .formtbl input[type="email"],
.form .formtbl select,
.form .formtbl textarea {
	border: solid 1px #8D8D8D;
	border-radius: 0;
	box-shadow: none;
	padding: .8em .5em;
	margin: 5px 0;
	vertical-align: middle;
	font-size: 16px;
    -webkit-appearance: none;
	font-family: sans-serif;
}
.form .formtbl input[type="number"] {
	width: 4.5em;
}
.form .formtbl input[type="text"],
.form .formtbl input[type="email"] {
	width: 90%;
}
.form .formtbl input[type="tel"] {
	width: 50%;
}
.form .formtbl input[type="radio"],
.form .formtbl input[type="checkbox"] {
	vertical-align: middle;
	line-height: 1;
	margin: 0;
	width: 1em;
	height: 1em;
}
.form .formtbl ::placeholder {
	color: #ccc;
}
.form .formtbl textarea {
	width: 90% !important;
	height: 8em !important;
}
.form .formtbl label {
    display: block !important;
	border: none !important;
	padding: 0 !important;
	margin: 0.2em 1.2em 0.1em 0 !important;
}
.form .formtbl tr:first-of-type label {
    display: inline-block!important;
}
.form .formbtn {
	text-align: center;
	background: #05307C;
    display: block;
	margin: 2em auto 5em;
    width: min(70%, 450px);
    border-radius: .2em; 
    position: relative;
}
.form .formbtn::after {
    content: "";    
    display: inline-block;
    width: .8em;
    height: 1em;
    background: #FFF;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    position: absolute;
    right: calc(50% - 6em);
    top: calc(50% - .5em);   
}
.form .formbtn input,
.form .formbtn input:hover,
.form .formbtn a,
.form .formbtn a:hover {
    display: block;
    border: none;
    width: 100%;
    height: 100%;
    margin: 0;
	outline: none;
	padding: .8em 0;
	font-size: 1.2em;
    background: none;
	color: #fff;
    line-height: 1;
	cursor: pointer;
    text-shadow: none;
    box-shadow: none;
}

/* default customize */
.mfp_ok {
    background-color: #FFF !important;
}
div.mfp_ok {
	display: none !important;
}
:focus {
	outline-color: #000;
}
form#mailformpro label.mfp_checked {
    padding: 0 !important;
    border: none !important;
    background-color: #FFF !important;
    box-shadow: none !important;
}
.mfp_element_submit {
	text-shadow: none;
}


@media screen and (max-width: 767px) {
.form .schtbl {
	font-size: 0.9em;
}
.form .schtbl td {
	height: 1.5em;
	font-size: 0.9em;
}
}
@media screen and (min-width: 768px) {
.form {
	display:grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
}
.form .formtbl tr.tx label {
    display: inline-block !important;
    width: 13em;
}

}






/*===  ===*/

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



























