@charset "utf-8";

@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p:500,700&display=swap&subset=japanese');

/*-----------------------------------------------------
profile用レイアウト
-----------------------------------------------------*/

body, th, td { font-family: "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; }
h3 {
background: #0665bd;
border-radius: 3px;
color: #fff;
font-size: 14px;
letter-spacing: .1em;
line-height: 2.5em;
margin-bottom: 20px;
padding-left: 15px;
position: relative;
}

h3:before {
 position: absolute;
 top: 15px;
 left: 0;
 width: 10px;
 height: 5px;
 background: #fde4af;
 content: "";
}

h4 {
 border: 1px solid #ccc;
 border-radius: 3px;
 font-size: 14px;
 line-height: 2em;
 margin-bottom: 20px;
 padding-left: 15px;
 position: relative;
}

h4:before {
 position: absolute;
 top: 6px;
 left: 4px;
 width: 5px;
 height: 60%;
 background: #60a7dc;
 content: "";
}

h5 {
 background: #efefef;
 border-radius: 3px;
 font-size: 13px;
 line-height: 2em;
 margin-bottom: 20px;
 padding-left: 11px;
 }

h6 {
border-left: 5px solid #ddd;
font-size: 14px;
margin: 10px 0;
text-indent: .5em;
}

caption { font-weight: bold; text-align: left; }


/*main
-----------------------------------------------------*/

/*.title {
 border-bottom:1px solid #0f5593;
 border-left:7px solid #0f5593;
 color:#0f5593;
 font-size:16px;
 margin-top:15px;
 padding:5px 0 5px 5px;
}

.main .subtitle {
 color:#930;
 font-size:14px;
 font-weight:bold;
 margin:15px 0;
}*/

.main table {
 border-collapse:collapse;
 height: auto;
 margin: 0 auto 15px;
 width: 100%;
}

/* profile */
.profile table th,
.profile table td {
 border: 1px solid #ccc;
 padding: 5px;
}
.main.profile table td div a:first-of-type span { margin: .5em 0 0; }
.profile table th { background-color: #fff8dc; text-align: center; }

.profile table th:first-child { width: 200px; }
/*.profile table th:nth-child(3) { width: 80px; }*/
.profile span.tel { margin-right: 1em; }
.profile table td dl { margin-top: .2em; }
.profile table td dl dt { float: left; }

.main a span {
 background: #cd0000;
 border-radius: 3px;
 color: #fff;
 cursor: pointer;
 display: inline-block;
 font-size: 10px;
 line-height: 1;
 margin: 0 0 .5em .5em;
 padding: .35em .5em;
}

.main a span:hover { background: #f33; }
.main a span.fb { background: #3b5998; }
.main a span.fb:hover { background: #5890ff; }
.main a span.ap { background: #5d3719; }
.main a span.ap:hover { background: #96623a; }
.main span.jr {
  border: 1px solid #fa7821;
  border-radius: 3px;
  color: #fa7821;
  display: inline-block;
  font-size: 10px;
  line-height: 1;
  margin-left: .5em;
  padding: .35em .5em;
}
.main span.ori {
  background: #ff5b19;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  font-size: 10px;
  line-height: 1;
  margin-left: .5em;
  padding: .35em .5em;
}
.main span.ap {
  background: #5d3719;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  font-size: 10px;
  line-height: 1;
  margin-left: .5em;
  padding: .35em .5em;
}

table td dl dd {
 margin-left: 2em;
 padding-right: 5px;
}

.guide {
 margin: 10px 0;
}

p.attention:first-line {
 color: #c33;
 font-weight: bold;
}


/*branch*/
.branch table th, .branch table td { border: 0; }
.branch .list {
float: right;
margin-bottom: 20px;
}
.branch .list dl {
margin-top:7px;
padding-top: 5px;
}
.branch .list.dom dl { width: 390px; }
.branch .list dl ~ dl { border-top: 1px dotted #ccc; }
.branch .list dt {
float: left;
height: 2em;
width: 8em;
}

.branch .list dd {
float: left;
margin-right: 15px;
}
.branch .list dl dd:last-child { margin-right: 0; }

.branch ul li {
float: left;
width: 25%;
}
.branch table.freight { margin-bottom: 30px; }
.branch table.freight td::nth-child(odd) { width: 26%; }
.branch table.freight td:nth-child(2) { width: 22.5%; }
.branch table.freight td:last-child { width: 27.5%; }
.branch table.freight td { vertical-align: text-top; }
.branch .list.related dl { margin-top: 0; padding-top: 0; width: 135px; }
.branch .list.related:last-of-type dl { width: 100px; }
.branch .list.related dl ~ dl { border-top: 0 none; margin-top: 1em; }
.branch .list.related dt { font-weight: 600; }
.branch .list.related dt, .branch .list.related dd { float: none; }
.branch .list.related dd { margin-right: 0; }
.branch .list.related span { display: list-item; list-style: none; margin-left: 2em; }
.branch .list.related p { margin-left: 6em; }
.branch .list + .list { margin-right: .5em; }

/*history*/
.history table th, .history table td { padding: 5px; }
.history table td { border: 0; vertical-align: text-top; }
.history table td:first-child { width: 4.5em; }
.history table td:nth-child(2) { text-align: right; width: 4em; }
.history table td:last-child { padding-left: 1em; }
.history table tr:nth-child(even) { background-color: #f6f6f6; }
.history dl { padding: .75em; }
.history dl:nth-child(even) { background-color: #f6f6f6; }
.history dl dt { clear:left; float: left; width: 8% }
.history dl dd { float: left; }
.history dl dd:nth-child(1n) { text-align: right; width: 7%; }
.history dl dd:last-child { margin-left: 2%; text-align: left; width: 83%; }

/*summary*/
.summary table th, .summary table td { border: 0; padding: 10px 15px; }
.summary table th { background: #eee; text-align: left; vertical-align: text-top; width: 11em; }
.summary table tr { border-bottom: 2px solid #fff; }

/*freight*/
.outline {
font-weight: bold;
margin-bottom:10px;
}
.freight dl { background: url(../img/bg_freight.jpg) no-repeat top right;}
.freight dt { width: 500px; }
.freight dt h4 { margin: 25px 0 20px; }
.freight dd { width: 500px; }

/*philosophy*/
.philosophy img { display: block; margin: 30px auto 60px; }
.philosophy p {
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.05em;
  margin-top: 2em ;
}
.philosophy ol {
  font-size: 18px;
  margin: 2em 0 3em;
}
.philosophy li {
  margin-left: 1em;
  text-indent: -1em;
}
.philosophy ol li:first-letter {
  color: #4a9bc7;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  font-size: 28px;
}

/*travel*/
.travel dl { margin-bottom: 25px; }
.travel dt { width: 500px; }
.travel dt h5 { margin: 25px 0 20px; }
.travel dd { width: 500px; }
.travel dl.dom { background: url(../img/bg_travel_dom.jpg) no-repeat top right; }
.travel dl.abr { background: url(../img/bg_travel_abr.jpg) no-repeat top right; }

/*product*/
.product dl { margin-bottom: 20px; }
.product dt { float: left; width: 150px; }
.product dd { margin-left: 160px; }
.product dd ul { margin-top: 10px; }
.product dd li { list-style: disc; margin-left: 1.5em; }

/*group*/
.group dl { background: url(../img/bg_group.jpg) no-repeat top right; }
.group dt { width: 500px; }
.group dt h4 { margin: 25px 0 20px; }
.group dd { width: 500px; }
.group h3 span {
  display: inline-block;
  float: right;
  margin-right: .5em;
}
.group h3 span a {
  background: #ff5b19;
  border-radius: 3px;
  color: #fff;
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0;
  padding: .25em .5em;
  text-align: right;
  text-decoration: none;
  transition: 0.5s;
}
.group h3 span a:hover { background: #ff8c5e; }

/*支店個別ページ*/
#map {
float:right;
height: 350px;
margin-bottom: 30px;
width:350px;
}

.profile > dl:not([class]) {
 float:left;
 width: 310px;
}
.profile > dl:not([class]) dd {
 margin: 0 0 15px .5em;
}
.profile .note {
 color: #c33;
 margin-left: 1em;
 text-indent: -1em;
 }

.pr {
  float: right;
  text-align: left;
  width: 350px;
}
.info {
  border: 1px solid #c33;
  border-radius: 5px;
  margin-bottom: 1.5em;
  padding: .75em 1.25em;
}
.info:first-line { color: #c33; }
.info dd li { list-style: disc; margin-left: 1.5em; }

/*training*/

.training h4 { margin-bottom: 10px; }
.training h4 + div { margin-bottom: 25px; }
.training p {
 background: #f6b4b4;
 color: #c33;
 border-radius: 3px;
 font-size: 13px;
 font-weight: bold;
 line-height: 2.5em;
 margin-bottom: 20px;
 text-align: center;
 }
.training ol li { float: left; width: 10.5em; }
.training li { margin-left: 1.5em; text-indent: -1.5em; }
.training dt {
 clear: left;
 float: left;
 width: 9.5em;
}
.training dd { margin-left: 9.5em; }
.training span {
 background-color: #e7f0f6;
 border-radius: 3px;
 display: inline-block;
 font-weight: bold;
 margin: 0 3px;
 padding: 3px 5px;
}


/*appointment*/
.appoint { font-family: 'M PLUS 1p', sans-serif; font-size: 24px; margin: 0 auto 5em; width: 100%; }
.appoint img { height: auto; max-width: 100%; }
.appoint .summary { margin: 2em auto 0; width: 89.5%; }
.appoint .summary span { display: block; font-size: 18px; margin-top: .5em; }
.appoint .merit { color: #f60; font-size: 40px; font-weight: 700; margin: 1.5em 0 1em; text-align: center; }
.appoint ul { letter-spacing: -.4em; width: 100%; }
.appoint ul li { display: inline-block; width: 47%; }
.appoint ul li + li { margin-left: 6%; }
.appoint .link { margin: 3em auto; width: 89.5%; }
.appoint .link a { background: #f60; color: #fff; display: block; font-size: 32px; letter-spacing: .1em; text-align: center; padding: .65em 0; text-decoration: none; transition: 0.5s ease-in-out; }
.appoint .link a:hover { opacity: .8; }
.appoint .howto { background: #6ac792; color: #fff; font-size: 36px; letter-spacing: .05em; padding: .7em 0; text-align: center; }
.appoint .step { background: url("../img/app_stepbg.png") no-repeat bottom right; height: 505px; margin: 2em 0; }
.appoint .step dl { letter-spacing: -.05em; width: 82%; }
.appoint .step dl + dl { margin-top: .75em; }
.appoint .step dt { clear: left; color: #fff; float: left; height: 80px; line-height: 80px; margin-bottom: 1em; text-align: center; width: 80px; }
.appoint .step dl:not(:last-of-type) dt { background: #6ac792; font-size: 36px; }
.appoint .step dl:last-child dt { background: #f60; font-size: 28px; }
.appoint .step dd { margin-left: 100px; }


/*side
-----------------------------------------------------*/

.side li a,
.side li .parent {
background: #e7f0f6;
border-top: 1px solid #e7f0f6;
border-left: 1px solid #e7f0f6;
border-right: 1px solid #d6e3ed;
border-bottom: 1px solid #d6e3ed;
color: #333;
cursor: pointer;
display: block;
font-size: 15px;
margin-bottom: 1px;
padding: 18px 0;
position: relative;
text-decoration: none;
text-indent: .5em;
-webkit-transition: 0.5s ease-in-out;
-moz-transition: 0.5s ease-in-out;
-ms-transition: 0.5s ease-in-out;
-o-transition: 0.5s ease-in-out;
transition: 0.5s ease-in-out;
}
.side li a:hover,
.side li .parent:hover {
background: #82B2DE;
border-top: 1px solid #82b2de;
border-left: 1px solid #82b2de;
border-right: 1px solid #71a4d2;
border-bottom: 1px solid #71a4d2;
color: #fff;
}
.side li .parent:after {
border-top: solid 2px #666;
border-right: solid 2px #666;
content: "";
display: block;
height: 6px;
margin-top: -5px;
position: absolute;
right: 15px;
top: 50%;
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
width: 6px;
}
.side li .parent.open:after {
transform: rotate(315deg);
-webkit-transform: rotate(315deg);
}
.side li .on:after { border-color: #fff; }

.side li a:after {
border-top: solid 2px #666;
border-right: solid 2px #666;
content: "";
display: block;
height: 6px;
margin-top: -5px;
position: absolute;
right: 15px;
top: 50%;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
width: 6px;
}

.side ul li ul {
display: none;
overflow: hidden;
}

.side ul li ul li .parent,
.side ul li ul li a {
background-color: #f9f9f9;
border-top: 1px solid #f9f9f9;
border-left: 1px solid #f9f9f9;
border-right: 1px solid #e9e9e9;
border-bottom: 1px solid #e9e9e9;
font-size: 13px;
font-weight: normal;
text-indent: 1.5em;
}

.side ul li ul li a:after {
border-top: solid 1px #888;
border-right: solid 1px #888;
content: "";
display: block;
height: 5px;
margin-top: -5px;
position: absolute;
right: 20px;
top: 50%;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
width: 5px;
}
.side ul li ul li a:hover { background-color: #82B2DE; }
.side ul li ul li ul li a { padding: 10px; text-indent: 1.5em; }


/*margin, font
-----------------------------------------------------*/

.bdr { border: 1px solid #ccc; }
.clear { clear: both; }
.fleft { float: left; }
.fright { float: right; }

.fnt10 { font-size: 10px; }
.fnt11 { font-size: 11px; }
.fwb { font-weight: bold; }
.tdecno { text-decoration: none !important; }
.indent { margin-left: 1em; text-indent: -1em; }

.specified { color: #c33; }

.mb5 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mt-15 { margin-top: -15px !important; }
.mt3 { margin-top: 3px; }
.mt5 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }

.dblock { display: block; }


/*responsive
-----------------------------------------------------*/

@media screen and (max-width:949px) {
  /* branch */
  .branch img:first-of-type { display:  none; }
  .branch .list { float: none; }
  .branch .list + .list { margin-right: 0; }
  .branch .list dl { margin-top: 3%; padding-top: 3%; width: 100%; }
  .branch .list dt { float: none; width: 100%; }
  .branch .list dl:last-of-type { margin-bottom: 10%; }
  .branch .list.related dl, .branch .list.related:last-of-type dl { width: inherit; }
  .branch .list.related, .branch .list.related dl:last-of-type { margin-bottom: 1em; }
  .branch .list.related dt, .branch .list.related dd { float: left; }
  .branch .list.related dd + dd { margin-left: 2em; }
  .branch .list.related p { display: inline; margin-left: -.35em; }
  /* freight */
  .freight dl { background: none; }
  .freight dt, .freight dd { width: 100%; }
  /* group */
  .group dl { background: none; }
  .group dt, .group dd { width: 100%; }
  /* travel */
  .travel dl.dom { background: none; }
  .travel dl.abr { background:  none; }
  .travel dt, .travel dd { width: 100%; }
  #map img { max-width: none; }
  #map { float: none; margin: 0 auto 5%; width: 100%; }
  /*appointment*/
  .appoint .step dl { width: 70%; }
  .appoint .step dd { font-size: 20px; }
}


@media screen and (max-width:639px) {
  body, .main table th, .main table td { font-size: 14px; }
  /* branch */
  .branch .list.dom dl { width: 100%; }
  .branch .list.related dd + dd { margin-left: 0; }
  .branch .list.related dd { float: none; }
  .branch table.freight td:nth-child(odd),
  .branch table.freight td:nth-child(2),
  .branch table.freight td:last-child { display: block; width: 100%; }
  /* history */
  .history table tr { display: block; }
  .history dl dt, .history dl dd:nth-child(1n) { width: inherit; }
  .history dl dd:last-child { clear: left; margin-left: 0; width: 100%; }
  /* philosophy */
  .philosophy p { font-size: 20px; }
  .philosophy ol { font-size: 15px; }
  .philosophy ol li:first-letter { font-size: 20px; }
  /* summary */
  .summary table th, .summary td { display:block; width: auto; }
  /* profile */
  .profile > dl:not([class]) { float:none; width: 100%; }
  .profile table:not([class]) th:first-child { width: 20%; }
  .profile table:not([class]) th { display: none; }
  .profile table:not([class]) td { display: block; }
  .profile table:not([class]) td:first-child { padding: 0; }
  .profile table:not([class]) td:last-child { margin-bottom: 5%; }
  .profile table:not([class]) td:not(:first-child) { border-top: 0 none; }
  .profile table:not([class]) td:not(:last-child) { border-bottom: 0 none; }
  .profile table:not([class]) td:first-child { background: #fa7821; color: #fff; padding: 10px; }
  .profile table:not([class]) td:first-child a { color: #fff; text-decoration: none; }
  .profile table:not([class]) td:last-child:empty { padding: 0; }
  .profile table:not([class]) td:last-child:not(:empty) { padding-bottom: 10px; }
  .profile span.tel { margin-right: 0; }
  .main.profile table td div { display: inline; }
  .main.profile table td div a:first-of-type span { margin-left: 15px; }
  /*.profile table:not([class]) td:not(:first-child) a { display: block; }*/
  .smplink, a[href^="mailto:"] { display: block; font-size: 12px; line-height: 1.5; margin-top: .75em; }
  a[href^="mailto:"] { margin-bottom: .75em; }
  .pr { float: none; text-align: center; width: 100%; }
  /* product */
  .product dt { display: none; }
  .product dd { margin-left: 0; }
  /* training */
  .training dt { float: none; width: 100%; }
  .training dd + dt { margin-top: .5em; }
  .training dd { margin-left: 0; }
  /*appointment*/
  .appoint { font-size: 18px; }
  .appoint .summary span { font-size: 15px; }
  .appoint .merit { font-size: 28px; letter-spacing: -.075em; }
  .appoint ul li {
    display: block;
    text-align: center;
    width: 100%;
  }
  .appoint ul li + li { margin: 1em 0 0 0; }
  .appoint .link a { font-size: 24px; }
  .appoint .howto { font-size: 28px; }
  .appoint .step { background: none; height: auto; }
  .appoint .step dl { width: 100%; }
  .appoint .step dd { font-size: 16px; }
}