/*
html5doctor.com Reset Stylesheet
v1.4
2009-07-27
Author: Richard Clark - http://richclarkdesign.com
*/

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, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body {
	line-height:1;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
	display:block;
}

nav ul {
	list-style:none;
}

blockquote, q {
	quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content:'';
	content:none;
}

a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}

ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}

mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
	vertical-align:middle;
}

img {
  vertical-align: top;
}

/* common */
body {
    font-size: 16px;
    line-height: 1.6;
    font-family: Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
}
a {
  text-decoration: none;
  color: #000;
}

.wrapper {
  width: 1100px;
  margin: 0 auto;
}

.pc {
  display: block;
}
.sp {
  display: none;
}
.pc-i {
  display: inline;
}
.sp-i {
  display: none;
}

@media all and (max-width: 1100px) {
  body {

  }
  .wrapper {
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .pc-i {
    display: none;
  }
  .sp-i {
    display: inline;
  }
  
}

.header {
  background: #000;
  padding: 40px 0 28px;
}
.header .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header .__logo {
  width: 378px;
  line-height: 0;
}
.header .__logo img {
  width: 100%;
}
.header .__menu {
  text-align: right;
}
.header .__menu a {
  color: #fff;
  border: 1px solid #fff;
  display: inline-block;
  padding: 4px 18px;
  transition: 0.5s all;
  border-radius: 3px;
}
.header .__menu a:hover {
  background-color: #ffe922;
  border-color: #ffe922;
  color: #000;
}
@media all and (max-width: 1100px) {
  .header {
    padding: 15px 0;
  }
  .header .__logo {
    width: 60%;
  }
  .header .__menu a {
    padding: 5px;
  }
}


.footer {
  background-color: #000;
  padding: 50px 0 35px;;
}
.footer .__menu .__list {
  display: flex;
  justify-content: center;
}
.footer .__menu .__list .__item {
  margin: 0 20px 0 0;
}
.footer .__menu .__list .__item:last-child {
  margin: 0;
}
.footer .__menu .__list .__item a {
  color: #fff;
}
.footer .__menu .__list .__item a:hover {
  text-decoration: underline;
}
.footer .__copywrite {
  text-align: center;
  margin: 170px 0 0;
}
.footer .__copywrite small {
  font-size: 14px;
  color: #fff;
}
@media all and (max-width: 1100px) {
  .footer .__menu .__list {
    display: block;
    text-align: center;
  }
  .footer .__menu .__list .__item {
    margin: 0 0 20px;
  }
}

.common__heading {
  background-color: #f8b300;
  padding: 65px 0;
  font-size: 28px;
  text-align: center;
  margin: 0 0 120px;
}
@media all and (max-width: 1100px) {
  .common__heading {
    padding: 20px;
    font-size: 20px;
    margin: 0 0 60px;
  }
}


/* home */
.__hero {
  margin: 0 0 60px;
  position: relative;
}
.__hero .__txt {
  font-size: 60px;
  font-weight: bold;
  color: #fff;
  text-shadow: 10px 10px 10px #000;
  width: 1100px;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 100;
  position: absolute;
  top: 50px;
}
.__hero .__item {
  width: 100%;
  background: no-repeat center center;
  background-size: cover;
  position: relative;
}
.__hero .__item .__item-inner {
  position: relative;
  width: 1100px;
  margin: 0 auto;
}
.__hero .__item::before {
  content: "";
  display: block;
  padding-top: 60%;
}
.__hero .__item .__item-inner p {
  position: absolute;
  bottom: 50px;
  left: 0;
  color: #fff;
  font-size: 20px;
  text-shadow: 0 0 1px #000;
}


.__hero .__item--hero00 {
  background-image: url("../images/home/hero-00.jpg");
}
.__hero .__item--hero01 {
  background-image: url("../images/home/hero-01.jpg");
}
.__hero .__item--hero02 {
  background-image: url("../images/home/hero-02.jpg");
}
.__hero .__item--hero03 {
  background-image: url("../images/home/hero-03.jpg");
}
.__hero .__item--hero04 {
  background-image: url("../images/home/hero-04.jpg");
}
.__hero .__item--hero05 {
  background-image: url("../images/home/hero-05.jpg");
}
.__hero .__item--hero06 {
  background-image: url("../images/home/hero-06.jpg");
}


@media all and (max-width: 1100px) {
  .__hero {
    margin: 0 0 40px;
  }
  .__hero .__txt {
    font-size: 18px;
    width: 100%;
    padding: 0 20px;
    top: 20px;
    box-sizing: border-box;
  }
  .__hero .__item .__item-inner {
    width: 100%;
  }
  .__hero .__item .__item-inner p {
    bottom: 40px;
    left: 20px;
    font-size: 14px;
  }
  .__hero .__item .__item-inner p {
    color: #fff;
  }

}


/* experience */
.experience {
  margin: 0 0 100px;
}
.experience .__introduction {
  margin: 0 0 95px;
}
.experience .__introduction .__catch {
  font-size: 40px;
  font-weight: bold;
  margin: 0 0 20px;
  text-align: center;
}
.experience .__introduction .__read {
  font-weight: bold;
  text-align: center;
  line-height: 2em;
}

.experience .__story {
  margin: 0 auto 60px;
  width: 830px;
}
.experience .__story .__heading {
  background-color: #bfbfbf;
  color: #535353;
  text-align: center;
  font-size: 28px;
  margin: 0 0 30px;
  padding: 12px 0;
}
.experience .__story .__list {
  display: flex;
  justify-content: space-between;
  margin: 0 0 60px;
}
.experience .__story .__list .__ttl {
  font-weight: bold;  
}
.experience .__story .__list .__desc {
  margin: 0 0 10px;
}
.experience .__story .__readmore {
  text-align: center;
}
.experience .__story .__readmore a {
  display: inline-block;
  padding: 10px 20px;
  background-color: #000;
  color: #fff;
  transition: all 0.5s;
}
.experience .__story .__readmore a:hover {
  opacity: 0.6;;
}
@media all and (max-width: 1100px) {
  .experience .__story {
    width: 100%;
  }
  .experience .__story .__heading {
    font-size: 18px;    
  }
  .experience .__story .__list {
    display: block;
  }
  .experience .__story .__list .__item {
    width: 100%;
    margin: 0 0 30px;
  }
  .experience .__story .__list .__item .__desc {
    margin: 0 0 10px;
  }
  .experience .__story .__list .__item .__desc img {
    width: 100%;
  }
  .experience .__introduction {
    margin: 0 0 60px;
  }
  .experience .__introduction .__catch {
    font-size: 24px;
  }
  .experience .__introduction .__read {
    font-size: 12px;
  }
}


/* model */
.model {
  margin: 0 0 120px;
}
.model .__main .__item {
  display: flex;
  justify-content: space-between;
  margin: 0 0 100px;
}
.model .__main .__item .__img {
  width: 48%;
}
.model .__main .__item .__img img {
  width: 100%;
}
.model .__main .__item .__cont {
  width: 50%;
  display: flex;
  flex-direction: column;
}
.model .__main .__item .__cont .__name {
  font-size: 28px;
  font-weight: bold;
  padding: 0 0 14px;
  margin: 0 0 10px;
  border-bottom: 1px solid #000;
}
.model .__main .__item .__cont .__read {
  line-height: 2em;
  text-align: justify;
}
.model .__main .__item .__cont .__spec {
  margin: auto 0 0 0;
}
.model .__main .__item .__cont .__spec p {
  font-weight: bold;
  margin: 0 0 16px;
  padding: 0 0 10px;
  border-bottom: 1px solid #000;
}
.model .__main .__item .__cont .__spec p:last-child {
  margin: 0;
}
.model .__option {

}
.model .__option .__heading {
  text-align: center;
  font-size: 28px;
  font-weight: bold;
  margin: 0 0 60px;
}
.model .__option .__list {
  display: flex;
  justify-content: space-around;
}
.model .__option .__list .__img {
  margin: 0 0 20px;
  text-align: center;
}
.model .__option .__list .__img img {
  height: 120px;
}
.model .__option .__list .__cont {
  text-align: center;
  font-weight: bold;
  line-height: 2em;
}
@media all and (max-width: 1100px) {
  .model .__main .__item {
    display: block;
  }
  .model .__main .__item .__img {
    width: 100%;
    margin: 0 0 10px;
  }
  .model .__main .__item .__img img {
    width: 100%;
  }
  .model .__main .__item .__cont {
    width: 100%;
  }
  .model .__main .__item .__cont .__read {
    margin: 0 0 10px;
  }
  .model .__main .__item .__cont .__spec p {
    font-size: 13px;
  }
  .model .__option .__list {
    display: block;
  }
  .model .__option .__list .__item {
    margin: 0 0 30px;
  }
  .model .__option .__list .__item .__img {
    margin: 0 0 10px;
  }
  
}


/* flow */
.flow {

}
.flow .__list {
  display: flex;
  justify-content: space-between;
}
.flow .__item {
  width: 32%;
  margin: 0 0 90px;
}
.flow .__item .__img {
  margin: 0 0 20px;
  text-align: center;
}
.flow .__item .__img img {
  height: 140px;
}
.flow .__item .__cont .__heading {
  text-align: center;
  font-size: 24px;
  margin: 0 0 60px;
}
.flow .__item .__cont .__txt {
  line-height: 2em;
}
.flow .__to_apply {
  margin: 0 0 60px;
  text-align: center;
}
.flow .__to_apply .__apply_btn {
  display: inline-block;
  padding: 10px 80px;
  margin: 0 0 40px;
  border: 3px solid #000;
  font-weight: bold;
  transition: all 0.5s;
}
.flow .__to_apply .__apply_btn:hover {
  color: #fff;
  background-color: #000;
}
.flow .__to_apply .__contact .__tel {
  font-size: 28px;
  font-weight: bold;
  font-style: normal;
  vertical-align: baseline;  
}
.flow .__item .__cont .__txt {
  text-align: justify;
}
@media all and (max-width: 1100px) {
  .flow .__list {
    display: block;
  }
  .flow .__item {
    width: 100%;
  }
  .flow .__item .__img {
    margin: 0 0 10px;
  }
  .flow .__item .__cont .__heading {
    font-size: 20px;
    margin: 0 0 10px;
  }
  .flow .__to_apply .__apply_btn {
    padding: 10px 0;
    width: 100%;
  }
}


.shop {
  margin: 0 0 80px;
}
.shop .__list {

}
.shop .__item {
  display: flex;
  margin: 0 0 80px;
  justify-content: space-between;
}
.shop .__img {
  width: 46%;
}
.shop .__img img {
  width: 100%;
}
.shop .__cont {
  width: 52%;
}
.shop .__logo {
  width: 156px;
  margin: 0 0 5px;
}
.shop .__logo img {
  width: 100%;
}
.shop .__name {
  border-bottom: 1px solid #000;
  padding: 0 0 10px;
  margin: 0 0 10px;
  font-size: 28px;
}
.shop .__link {
  margin: 0 0 10px;
}
.shop .__link a:hover {
  text-decoration: underline;
}
.shop .__detail {
  display: flex;
  align-items: flex-start;
  margin: 0 0 20px;
}
.shop .__detail dt {
  width: 95px;
  padding: 5px 0;
  background-color: #000;
  color: #fff;
  border-radius: 5px;
  text-align: center;
  line-height: 1em;
  margin: 0 10px 0 0;
}
.shop .__detail dd {
  width: calc(100% - 95px);
}
@media all and (max-width: 1100px) {
  .shop .__item {
    display: block;
  }
  .shop .__logo {
    margin-left: auto;
    margin-right: auto;
  }
  .shop .__img {
    width: 100%;
    margin: 0 0 10px;
  }
  .shop .__cont {
    width: 100%;
  }
  .shop .__detail dt {
    width: 80px;
  }
}

/* introduction */
.introduction {
  margin: 0 0 80px;
}
.introduction .__list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -30px;
}
.introduction .__item {
  margin: 0 30px 60px;
  width: calc(33% - 60px);
}
.introduction .__item a {
  transition: all 0.5s;
}
.introduction .__item a:hover {
  opacity: 0.8;
}
.introduction .__item .__img {
  margin: 0 0 10px;
}
.introduction .__item .__img img {
  width: 100%;
}
.introduction .__item .__cont {
}
.introduction .__item .__cont .__date {
}
.introduction .__item .__cont .__ttl {
}
.introduction .__item .__cont .__desc {
}
@media all and (max-width: 1100px) {
  .introduction .__item a {
    display: block;
    margin: 0 0 60px;
  }
  .introduction .__list {
    display: block;
  }
  .introduction .__item {
    width: 100%;
  }
  .introduction .__item .__img {
    width: 100%;
    margin: 0 0 10px;
  }
  .introduction .__item .__cont {
    width: 100%;
  }
  .introduction .__item .__cont .__date {
    margin: 0 0 5px;
  }
  .introduction .__item .__cont .__ttl {
    margin: 0 0 5px;
  }
  .introduction .__item .__cont .__desc {
    margin: 0 0 5px;
  }
  
}


.introduction .__banners {
  width: 980px;
  margin: 0 auto;
}
.introduction .__banners .__banner {
  text-align: center;
  margin: 0 0 30px;
}
.introduction .__banners .__banner a {
  transition: 0.5s all;
}
.introduction .__banners .__banner a:hover {
  opacity: 0.8;
}
.introduction .__banners .__banner img {
  width: 100%;
}
.introduction .__banners .__banner--fb {
  text-align: center;
  margin: 60px auto  0;
  max-width: 540px;
}
.introduction .__banners .__banner--fb img {
  width: 100%;
}
@media all and (max-width: 1100px) {
  .introduction .__banners {
    width: 100%;
  }
}



/* attention */
.attention .__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 40px;
}
.attention .__list .__item {
  width: 48%;
  margin: 0 0 40px;
}
.attention .__list .__item .__ttl {
  margin: 0 0 1em;
}
.attention .__link a {
  color: #999;
}
.attention .__link a:hover {
  text-decoration: underline;
}
.attention .__link {
  margin-bottom: 80px;
}
@media all and (max-width: 1100px) {
  .attention .__list {
    display: block;
  }
  .attention .__list .__item {
    width: 100%;
  }
}


/* apply */
.apply .contents .wrapper {
  width: 800px;
}
@media all and (max-width: 800px) {
  .apply .contents .wrapper {
    width: 100%;
  }
}

.apply .__form input[type=text],
.apply .__form select {
  padding: 5px;
  border: 1px solid #ccc;
  max-width: 100%;
  width: 400px;
  box-sizing: border-box;
}
.apply .__form select{
  outline:none;
  text-indent: 0.01px;
  text-overflow: '';
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
}
.apply .__form select option{
background-color: #fff;
color: #333;
}
.apply .__form select::-ms-expand {
display: none;
}
.apply .__form select:-moz-focusring { 
color: transparent; 
text-shadow: 0 0 0 #828c9a;
}

.apply .__form .__list .__item {
  margin: 0 0 20px;
}
.apply .__form .__list .__item .__ttl {
  margin: 0 0 4px;
  font-size: 18px;
}
.apply .__form .__list .__item .__cont {
  margin: 0 0 10px;
}
.apply .__form .__list .__item .__cont label {
  display: block;
  margin: 0 0 5px;
}
.apply .__form .__control {
  margin: 0 0 40px;
}
.apply .__form .__control a {
  display: inline-block;
  padding: 5px 50px;
  border: 2px solid #000;
  transition: all 0.5s;
}
.apply .__form .__control a:hover {
  color: #fff;
  background-color: #000;
}
.apply .__form .__control a:hover {
  color: #fff;
  background-color: #000;
}
.apply .__form .__control .btn__send {
  margin: 0 20px 0 0;
}
.apply .__form .__control .btn__send--edit {
  border: 2px solid #ccc;
  background: #ccc;
}
.apply .__form .__control .btn__send--edit:hover {
  border: 2px solid #000;
}

.apply .__attention {
  padding: 20px;
  margin: 0 auto 120px;
  background-color: #f8b300;
  max-width: 800px;
  box-sizing: border-box;
}
.apply .__form .__attention span {
  display: block;
  font-weight: bold;
  font-size: 24px;
  margin: 10px 0 0
}

.apply .__form .__message {
  margin: 0 0 120px;
  border: 1px solid #000;
  padding: 60px;
  text-align: center;
}
.apply .__form .__message span {
  display: block;
  font-weight: bold;
  font-size: 24px;
  margin: 10px 0 50px;
}
.apply .__form .__message a {
  text-decoration: underline;
  font-size: 18px;
}

.apply .__form--confirm .__cont span {
  display: block;
}

.error {
  color: #f00;
}

.__attention2 {
  padding: 20px;
  margin: 0 0 40px;
  background-color: #fbfbfb;
  max-width: 800px;
  box-sizing: border-box;
}


@media all and (max-width: 800px) {
  .apply .__attention {
    margin: 0 0 40px;
  }
  .apply .__form .__message {
    padding: 20px;
  }
}

.reg {
    vertical-align: sub;
    font-size: 40%;
}

