@charset "utf-8";
/*!
Theme Name: sh
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: sh
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

sh is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
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%;
vertical-align:baseline;
background:transparent;
font-weight:normal;
list-style: none;
}
html {
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust:     100%;
}
body {
line-height:1;
font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'MS P Gothic', 'Osaka', 'Helvetica', 'Arial', 'Gothic', 'sans-serif';
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,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;
font-size:100%;
vertical-align:baseline;
background:transparent;
text-decoration:none;
outline:none;
}
img {
	vertical-align:bottom;
}
/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#333;
text-decoration:none;
}
/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#333; 
font-style:italic;
font-weight:bold;
}
del {
text-decoration: line-through;
}
abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}
table {
border-collapse:collapse;
border-spacing:0;
}
/* change border colour to suit your needs */
hr {
display:block;
height:1px;
border:0;   
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}
input, select {
vertical-align:middle;
}
selector {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
em {
font-style:normal;
}
input:focus {
	outline:0;
}
/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
#toggle{
	display: block;
	position:relative;
    z-index: 10000;
    line-height: 1;
}
#toggle a{
	display: block;
	position: relative;
	text-align: center;
	text-decoration: none;
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
    position: relative;
    width: 40px;
    height: 37px;
    border:none;
    background: none;
}
.menu-trigger span {
  position: absolute;
  left: 20%;
  width: 60%;
  height: 2px;
  background-color: #2f3026;
}
.menu-trigger span:nth-of-type(1) {
  top: 8px;
}
.menu-trigger span:nth-of-type(2) {
  top: 16px;
}
.menu-trigger span:nth-of-type(3) {
  top: 24px;
}
.menu-trigger p {
	position: absolute;
	left:0;
	right:0;
	bottom:0px;
    font-size: 60%;
    color: #fff;
	margin:0 auto;
}


.toggled .menu-trigger span:nth-of-type(1) {
  -moz-transform: translateY(10px) rotate(-45deg);
  -webkit-transform: translateY(10px) rotate(-45deg);
  -o-transform: translateY(10px) rotate(-45deg);
  -ms-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
}
.toggled .menu-trigger span:nth-of-type(2) {
  opacity: 0;
}
.toggled .menu-trigger span:nth-of-type(3) {
  -moz-transform: translateY(-6px) rotate(45deg);
  -webkit-transform: translateY(-6px) rotate(45deg);
  -o-transform: translateY(-6px) rotate(45deg);
  -ms-transform: translateY(-6px) rotate(45deg);
  transform: translateY(-6px) rotate(45deg);
}



button.menu-toggle {
  display: block;
  height: 3.75em;
  padding: 0 1em;
  font-weight: normal;
  font-size: 14px;
  text-decoration: none;
  line-height: 3.75em;
  color: white;
  /* buttonn reset */
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
button.menu-trigger:hover,
button.menu-trigger:focus{
    border: none;
    outline:0;
}
.main-navigation {}
@media screen and (max-width: 767px) {
    .main-navigation.toggled .nav-menu {
    position: fixed;
    top: 0;
    padding: 25vw 0 0;
    width: 100%;
    border-top: 1px solid;
    border-top-color: #fff;
    background-color: rgba(251,245,229,1.00);
    overflow: scroll;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    opacity: 1;
    z-index: 2000;
    }
    .main-navigation ul {
        position: fixed;
        right: 0;
        top: 0;
        height: 100vh;
        width: 100%;
        -webkit-transition-property: all;
        transition-property: all;
        -webkit-transition-duration: .5s;
        transition-duration: .5s;
        -webkit-transition-delay: 0s;
        transition-delay: 0s;
        -webkit-transform-origin: right center;
        -ms-transform-origin: right center;
        transform-origin: right center;
        -webkit-transform: perspective(500px) rotateY(-90deg);
        transform: perspective(500px) rotateY(-90deg);
        opacity: 0;
          list-style: none;
          margin: 0;
          padding-left: 0;
    }
    .main-navigation ul li a{
        display: block;
        padding: 0.5em 1em;
        font-size: 5vw;
        font-weight: 700;
    }
    .main-navigation ul li.contact a{
        border-bottom:none;
        background:none;
    }
    .main-navigation ul li.contact a img{
        max-width: 100%;
    }
}
.main-navigation a {
  text-decoration: none;
  color: #2f3026;
  opacity: 1.0;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  letter-spacing: 0.1em;
}
.main-navigation li:hover > a {
	opacity: 0.7;
}
@media screen and (min-width: 768px) {
	button.menu-toggle {
	  display: none;
	}
    #toggle{display:none;}
    .main-navigation ul{
        display: table;
        margin: 0 auto;
        padding: 0;
    }
    .main-navigation ul li{
        display: table-cell;
        vertical-align: middle;
        font-size: 21px;
        font-weight: 700;
    }
    .main-navigation ul li a{
        display: block;
        padding: 0 30px;
    }
    .main-navigation ul li:last-child a{
        border-right:none;
    }
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
    .main-navigation ul li{
        font-size: 1.9vw;
    }
    .main-navigation ul li a{
         padding: 0 2vw;
    }
    .main-navigation ul li.contact img{
        width: 29vw;
    }
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}


/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}












/* フォーム追加分ここから */
.contact{
  padding: 50px 0 100px 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-image: url(img/top/feature03_back.png);
}
.contact__title{
	font-family: "リュウミン M-KL",serif;
  color: #2E2C2B;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  display: block;
}

.contact__wrapper{
  background-color: #fff;
  padding: 20px;
  max-width: 700px;
  width: 100%;
  margin-inline: auto;
  margin-top: 3rem;
}
.contact__container{
}

@media screen and (max-width: 599px) {
  .contact__wrapper{
    max-width: 80%;
  }
}

@media screen and (max-width: 599px) {
  .c-form {
    font-size: 1rem;
  }
}
.c-form__sub-title {
  background-color: #FE6D23;
  color: #fff;
  padding: 0 10px;
  margin-top: 50px;
}
@media screen and (max-width: 599px) {
  .c-form__sub-title {
    margin-top: 30px;
  }
}
.c-form__item {
  margin-top: 40px;
}
@media screen and (max-width: 599px) {
  .c-form__item {
    margin-top: 20px;
  }
}
.c-form__item input:not([type=checkbox]):not([type=radio]),
.c-form__item textarea {
  padding: 10px;
  margin-top: 10px;
  border-radius: 5px;
  border-color: #ddd;
  width: 100%;
  width: -webkit-fill-available;
  border-width: 2px;
  border-style: solid;
}
.c-form__item select {
  padding: 10px;
  border-color: #ddd;
}
.c-form__item input::-webkit-input-placeholder, .c-form__item select::-webkit-input-placeholder {
  color: #999;
  font-size: 1rem;
}
.c-form__item input::-moz-placeholder, .c-form__item select::-moz-placeholder {
  color: #999;
  font-size: 1rem;
}
.c-form__item input:-ms-input-placeholder, .c-form__item select:-ms-input-placeholder {
  color: #999;
  font-size: 1rem;
}
.c-form__item input::-ms-input-placeholder, .c-form__item select::-ms-input-placeholder {
  color: #999;
  font-size: 1rem;
}
.c-form__item input::placeholder,
.c-form__item select::placeholder {
  color: #999;
  font-size: 1rem;
}
.c-form__item-title {
  font-size: 1rem;
  font-weight: 700;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-form__haveto {
  font-size: 12px;
  background-color: #bf1111;
  color: #fff;
  border-radius: 5px;
  padding: 0 10px;
  margin-left: 10px;
}
.c-form__comment {
  font-size: 0.875rem;
  margin-top: 10px;
}
@media screen and (max-width: 599px) {
  .c-form__comment {
    font-size: 1rem;
  }
}
.c-form__submit {
  margin-inline: auto;
  margin-top: 50px;
  text-align: center;
}
.c-form__submit input {
  background-color: #bf1111;
  color: #fff;
  border-radius: 5px;
  max-width: 580px;
  width: 100%;
  padding: 20px 0;
  border: none;
  font-weight: 700;
}
.c-form__submit .wpcf7-previous {
  background-color: #999;
  margin-bottom: 10px;
}
.c-form__submit .wpcf7-spinner {
  display: block;
}