@charset "UTF-8";
/*--------------------------------------------------------------------------
   reset
   --------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css?family=Open+Sans:600");
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; }

body {
  line-height: 0; }

article, aside, details, figcaption, figure, main, footer, header, hgroup, menu, nav, section {
  display: block; }

ol, ul, li {
  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; }

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

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

img {
  border: 0;
  vertical-align: top; }

em {
  font-style: italic; }

del {
  text-decoration: line-through; }

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

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

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

input, select, textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: middle; }

input:focus, textarea:focus, select:focus {
  outline: none; }

/*--------------------------------------------------------------------------
 *   utility
 *--------------------------------------------------------------------------- */
@media only screen and (min-width: 768px) {
  .pc {
    display: block; }
  .sp {
    display: none; } }

@media only screen and (max-width: 767px) {
  .pc {
    display: none; }
  .sp {
    display: block; } }

/*--------------------------------------------------------------------------
 *   default
 *--------------------------------------------------------------------------- */
/*--------------------------------------------------------------------------
 *	 html, body
 *--------------------------------------------------------------------------- */
html {
  overflow: auto; }

body {
  position: relative; }

html, body {
  margin: 0;
  padding: 0;
  font-size: 12px;
  font-family: "游ゴシック Medium", "Yu Gothic Medium",'游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Hiragino Kaku Gothic ProN","meiryo","メイリオ",Sans-Serif;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #333;
  width: 100%;
  min-width: 767px;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%; }
  @media only screen and (max-width: 767px) {
    html, body {
      min-width: 320px; }
      html img, body img {
        max-width: 100%;
        height: auto; } }

/*--------------------------------------------------------------------------
 *	 elements
 *--------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  padding: 0; }

li {
  list-style-type: none; }

ol, ul {
  margin: 0;
  padding: 0; }

table {
  margin: 0;
  border-collapse: collapse;
  width: 100%; }

/*--------------------------------------------------------------------------
 *	 base link
 *--------------------------------------------------------------------------- */
a {
  outline: none;
  opacity: 1;
  -webkit-tap-highlight-color: transparent;
  transition-duration: 0.3s;
  color: #333; }
  a:link, a:visited {
    text-decoration: none; }
  a:hover {
    text-decoration: none;
    outline: none;
    opacity: 1; }/*opacity: 0.7;から1へ変更*/
    a:hover img {
      opacity: 1;/*opacity: 0.7;から1へ変更*/
      -webkit-opacity: 1;/*opacity: 0.7;から1へ変更*/
      -moz-opacity: 1;/*opacity: 0.7;から1へ変更*/
      filter: alpha(opacity=100);
      /* IE lt 8 */
      -ms-filter: "alpha(opacity=100)";
      /* IE 8 */ }
  a:active {
    outline: none; }

.l-inner {
  max-width: 1150px;
  box-sizing: border-box;
  margin: 0 auto; }

.l-page-inner {
  max-width: 850px;
  margin: 0 auto; }

.l-col-2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .l-col-2 .content-box {
    width: 50%;
    box-sizing: border-box; }
    .l-col-2 .content-box img {
      max-width: 98%;
      height: auto; }

.l-category-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media only screen and (min-width: 768px) and (max-width: 1150px) {
  .l-category-wrapper {
    padding: 0 19px; } }

@media only screen and (max-width: 767px) {
  .l-inner {
    width: 100%;
    padding: 0 19px; }
  .l-main img {
    width: 100%;
    box-sizing: border-box; }
  .l-page-inner {
    width: 100%;
    box-sizing: border-box; }
  .l-col-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .l-col-2 .content-box {
      width: 100%; }
      .l-col-2 .content-box img {
        width: 100%; }
  .l-col-2.reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
  .l-category-wrapper {
    display: block;
    margin-bottom: 15px; } }

.l-header .l-header-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 64px 0 51px; }
  @media only screen and (max-width: 767px) {
    .l-header .l-header-box {
      display: block; } }

.l-header .l-inner {
  max-width: 1188px; }

.l-header h1 {
  padding-left: 19px; }

.l-header nav {
  padding-right: 19px; }
  .l-header nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .l-header nav ul li {
      margin-left: 19px;
      font-family: 'Open Sans', sans-serif;
      text-align: center;}
    .l-header nav ul a {
      font-size: 13px;
      color: #343434; }
    .l-header nav ul li.active a {
      display: inline-block;
      position: relative; }
      .l-header nav ul li.active a:after {
        content: "";
        display: block;
        position: absolute;
        bottom: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%);
        width: 70%;
        height: 1px;
        border-bottom: 1px solid #343434; }
        
/*追加 2020.3.9 */
.l-header nav.pc-nav li.hassub {
	padding-right: 12px;
	padding-left: 12px;
	font-size: 13px;
	color: #343434;
	cursor: pointer;
	position: relative;}

.l-header nav.pc-nav .nav-suv {
	background-color: #fff;
	border-top: 1px solid #404040;
	flex-direction: column;
	position: absolute;
	top: 23px;
	left: -9px;
	padding-bottom: 10px;
	width: 118px;
	visibility: hidden;
	opacity: 0;
	z-index: 1;
	-webkit-transition: all .2s ease;
	transition: all .2s ease; }
	
	.l-header nav.pc-nav .nav-suv li {
		text-align: left;
		margin-left: 0; }
		
		.l-header nav .nav-suv li a {
			background-color: #fff;
			padding: 10px 10px 5px 10px;
			display: block; }
	
.l-header nav li:hover .nav-suv {
	visibility: visible;
	opacity: 1;
}
/*追加 2020.3.9 ここまで */

@media only screen and (max-width: 767px) {
  .l-header {
    position: relative;
    overflow: hidden; }
    .l-header .l-header-box {
      overflow: hidden;
      padding: 30px 0 30px; }
    .l-header .logo {
      float: left;
      padding-left: 19px; }
    .l-header .btn-nav-open {
      float: right;
      padding-right: 19px; } }

@media only screen and (max-width: 767px) {
  html {
     overflow: auto;
   }
   body {
     overflow: hidden;
     }
    body .btn-nav {
      display: none; }
  body.active {
    position: relative;
    overflow: hidden; }
    body.active #NavBg {
      content: "";
      display: block;
      position: absolute;
      z-index: 50;
      width: 100%;
      height: 100%; }
    body.active .btn-nav {
      display: block; }
  #SpNav {
    position: absolute;
    z-index: 99;
    width: 100%;
    top: 0;
    padding: 0;
    transition-duration: .3s;
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
    height: 100%;
    width: 230px;
    right: 0; }
    #SpNav .btn-nav {
      position: absolute;
      left: -40px;
      top: 25px;
      z-index: 100;
      padding: 10px 11px;
	  height: 100%;
	}
    #SpNav ul {
      background-color: #fff;
      padding-top: 20px;
      display: block;
      height: 100%; }
      #SpNav ul li {
        margin: 0; }
        #SpNav ul li a {
          padding: 14px 25px;
          display: block; }
  .active #SpNav {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    margin-left: 40px; } 
    
    /*追加 2020.3.10 */
    #SpNav .nav-suv {
	    margin-top: -12px;
	    margin-bottom: 12px;
	    padding: 0;}
	    
	#SpNav .nav-suv li {
		position: relative;
		padding-left: 45px;}
		
		#SpNav .nav-suv li a {
			padding: 4px 0;
		}
    
    #SpNav .nav-suv li:before {
	    content: "";
	    display: block;
	    background-color: #404040;
	    width: 10px;
	    height: 1px;
	    position: absolute;
	    top: 50%;
	    left: 25px;}
    /*追加 2020.3.10 ここまで */}

.l-footer {
  margin-top: 20px; }
  .l-footer #PageTop {
    text-align: right;
    transition: all .3s; }
    .l-footer #PageTop:hover {
      cursor: pointer;
      opacity: 0.7; }
  .l-footer .l-footer-box {
    border-top: 1px solid #d0d0d0;
    padding-top: 20px;
    padding-bottom: 45px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .l-footer .l-footer-box .contact {
      padding: 0 20px; }

@media only screen and (max-width: 767px) {
  .l-footer .l-footer-box {
    display: block;
    text-align: center; }
    .l-footer .l-footer-box .contact {
      display: block; }
  .l-footer .company_nav {
    padding: 0 20px; }
  .l-footer .copy {
    font-size: 10px;
    padding-top: 1.5em; } }

.l-grid {
  /* ---- grid ---- */
  position: relative;
  /* clear fix */
  /* ---- .grid-item ---- */ }
  .l-grid.l-inner {
    max-width: 1188px; }
  .l-grid * {
    box-sizing: border-box; }
  .l-grid .grid:after {
    content: '';
    display: block;
    clear: both; }
  .l-grid .grid-item {
    float: left;
    margin: 19px;
    opacity: 0; }
    .l-grid .grid-item img {
      width: 100%;
      height: auto;
      margin-bottom: 6px; }
    .l-grid .grid-item a {
      display: block;
      width: 100%;
      height: 100%;
      box-sizing: border-box; }
  .l-grid .stamp {
    position: absolute; }
  .l-grid .stamp1 {
    height: auto;
    right: 0;
    top: 0; }
  .l-grid .grid-item, .l-grid .stamp, .l-grid .stamp1 {
    width: 16%;
    width: calc(100%/5 - 38px); }
  .l-grid .grid-item--width2 {
    width: 38%;
    width: calc( 100%/5*2 - 38px); }

@media only screen and (max-width: 767px) {
  .l-grid {
    max-width: 640px;
    z-index: 10;
    padding: 0; }
    .l-grid .grid-item {
      float: left;
      margin: 10px; }
    .l-grid .grid-item, .l-grid .stamp, .l-grid .stamp1 {
      width: 16%;
      width: calc(100%/2 - 20px); }
    .l-grid .grid-item--width2 {
      width: 38%;
      width: calc( 100% - 20px); }
    .l-grid .stamp {
      display: none; }
    .l-grid .stamp1 {
      height: auto;
      right: 0;
      top: 0; } }

.m-pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  padding-bottom: 48px; }
  .m-pager span {
    display: inline-block;
    background-repeat: no-repeat;
    transition: all .3s; }
    .m-pager span:hover {
      opacity: 0.6; }
    .m-pager span a {
      display: block;
      width: 100%;
      height: 100%; }
  .m-pager .prev, .m-pager .next {
    width: 8px;
    height: 12px;
    background-repeat: no-repeat; }
  .m-pager .prev {
    background-image: url(img/_common/arrow_l.png);
    margin-right: 40px; }
  .m-pager .next {
    background-image: url(img/_common/arrow_r.png);
    margin-left: 40px; }
  .m-pager .to_archive {
    width: 19px;
    height: 17px;
    background-image: url(img/_common/archive.png); }
  @media only screen and (max-width: 767px) {
    .m-pager {
      display: block;
      width: 100%;
      box-sizing: border-box;
      position: relative; }
      .m-pager span {
        position: absolute;
        top: 0; }
      .m-pager .prev {
        left: 10px; }
      .m-pager .next {
        right: 10px; }
      .m-pager .to_archive {
        left: 50%;
        -webkit-transform: translateX(-50%);
                transform: translateX(-50%); } }

.m-pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  margin-bottom: 48px;
  margin-top: 48px; }
  .m-pagenation .page-numbers {
    display: inline-block;
    padding: 0 10px 1px;
    color: #d0d0d0; }
  .m-pagenation .page-numbers.current {
    color: #686868;
    border-bottom: 1px solid #d0d0d0;
    padding-bottom: 0; }
  .m-pagenation .page-numbers.prev, .m-pagenation .page-numbers.next {
    background-repeat: no-repeat;
    width: 8px;
    height: 12px; }
  .m-pagenation .page-numbers.prev {
    background-image: url(img/_common/arrow_l.png);
    margin-right: 40px; }
  .m-pagenation .page-numbers.next {
    background-image: url(img/_common/arrow_r.png);
    margin-left: 40px; }
  @media only screen and (max-width: 767px) {
    .m-pagenation {
      position: relative; }
      .m-pagenation .page-numbers.prev, .m-pagenation .page-numbers.next {
        position: absolute;
        top: 3px; }
      .m-pagenation .page-numbers.prev {
        left: 5px; }
      .m-pagenation .page-numbers.next {
        right: 5px; } }

.m-pgttl {
  font-size: 18px;
  text-align: center;
  padding-bottom: 35px; }

.m-works_category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  box-sizing: border-box; }
  .m-works_category li:before {
    content: "|";
    padding: 0 6px; }
  .m-works_category li:first-of-type:before {
    content: none; }
  .m-works_category li:nth-last-of-type(2) {
    padding-right: 6px; }
  .m-works_category li a {
    color: #353534; }
    .m-works_category li a:hover {
      border-bottom: 1px solid #9c9c9c; }
  @media only screen and (min-width: 768px) and (max-width: 1150px) {
    .m-works_category {
      padding: 0 19px; } }
  @media only screen and (max-width: 767px) {
    .m-works_category {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .m-works_category li:before {
        content: "|";
        padding: 0 8px; }
      .m-works_category li:nth-last-of-type(2) {
        padding-right: 8px; } }

.m-category_name {
  text-align: center;
  border-bottom: 1px solid #d0d0d0;
  padding: 10px 0;
  margin-bottom: 10px; }
  .m-category_name:after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-bottom: 1px solid #353534;
    border-right: 1px solid #353534;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    margin-left: 8px;
    margin-bottom: 2px; }

.m-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  box-sizing: border-box;
  position: relative; }
  .m-category li.current-cat a {
    border-bottom: 1px solid #9c9c9c
  }
  .m-category li:before {
    content: "|";
    padding: 0 6px; }
  .m-category li:first-of-type:before {
    content: none; }
  .m-category li:nth-last-of-type(2) {
    padding-right: 6px; }
  .m-category li a {
    color: #353534; }
    .m-category li a:hover {
      border-bottom: 1px solid #9c9c9c; }
  @media only screen and (max-width: 767px) {
    .m-category {
      display: none;
      width: 100%;
      box-sizing: border-box;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-bottom: 10px; }
      .m-category li {
        display: block;
        width: 100%;
        text-align: center; }
        .m-category li:last-of-type a {
          padding-bottom: 10px; }
        .m-category li:before {
          content: none; }
        .m-category li a {
          display: block;
          padding: 5px 0; } }

.m-archive {
  position: relative;
  padding-left: 8px; }
  .m-archive > li.yearly {
    position: relative;
    display: none; }
    .m-archive > li.yearly a {
      pointer-events: none; }
    .m-archive > li.yearly:after {
      content: "";
      display: inline-block;
      position: absolute;
      top: 7px;
      right: -10px;
      width: 5px;
      height: 5px;
      border-bottom: 1px solid #353534;
      border-right: 1px solid #353534;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      margin-left: 8px;
      margin-bottom: 2px; }
    .m-archive > li.yearly:hover {
      cursor: pointer; }
    .m-archive > li.yearly:nth-of-type(-n + 1) {
      display: block; }
  .m-archive .year_list {
    display: none;
    position: absolute;
    top: 20px;
    left: 8px;
    z-index: 99;
    background-color: #fff; }
  @media only screen and (max-width: 767px) {
    .m-archive {
      width: 100%;
      box-sizing: border-box;
      padding: 0; }
      .m-archive a {
        /* pointer-events: none; */
        display: inline-block;
        padding: 5px; }
      .m-archive > li.yearly {
        text-align: center;
        border-bottom: 1px solid #d0d0d0;
        padding: 5px; }
        .m-archive > li.yearly::after {
          position: static; }
      .m-archive .year_list {
        width: 100%;
        position: static; }
        .m-archive .year_list li {
          display: block;
          width: 100%;
          text-align: center; }
          .m-archive .year_list li:first-of-type a {
            padding-top: 10px; }
          .m-archive .year_list li:last-of-type a {
            padding-bottom: 10px; }
          .m-archive .year_list li:before {
            content: none; }
          .m-archive .year_list li a {
            display: block;
            padding: 5px 0; } }

#TopPage .tax_label, #WorksArchive .tax_label, #BlogArchive .tax_label {
  font-size: 20px;
  text-align: center;
  padding-top: 70px;
  padding-bottom: 70px; }

#TopPage .article_type, #WorksArchive .article_type, #BlogArchive .article_type {
  color: #3f3f3f;
  font-family: 'Open Sans', sans-serif; }
  #TopPage .article_type .date, #WorksArchive .article_type .date, #BlogArchive .article_type .date {
    font-family: "游ゴシック Medium", "Yu Gothic Medium",'游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Hiragino Kaku Gothic ProN","meiryo","メイリオ",Sans-Serif;
    font-weight: 600; }

#TopPage .article_ttl, #WorksArchive .article_ttl, #BlogArchive .article_ttl {
  color: #3f3f3f;
  line-height: 1.1rem;
  font-weight: 600;
  padding-top: 4px; }

#TopPage .article_desc, #WorksArchive .article_desc, #BlogArchive .article_desc {
  color: #5f5f5f;
  line-height: 1.4rem; }

@media only screen and (max-width: 767px) {
  #TopPage .l-inner, #WorksArchive .l-inner, #BlogArchive .l-inner {
    padding: 0; }
  #TopPage .tax_label, #WorksArchive .tax_label, #BlogArchive .tax_label {
    font-size: 16px;
    padding-top: 35px;
    padding-bottom: 35px; }
  #TopPage.main_column, #WorksArchive.main_column, #BlogArchive.main_column {
    padding: 0 10px; } }

#ProfilePage h2 {
  font-size: 18px;
  font-weight: normal;
  font-weight: 500;
  padding-bottom: 24px;
  line-height: 1.6rem;
  letter-spacing: 1px; }

#ProfilePage .l-col-2 {
  padding-top: 50px; }
  #ProfilePage .l-col-2 .txt {
    padding-left: 37px; }
  #ProfilePage .l-col-2:first-of-type {
    padding-top: 95px; }
  #ProfilePage .l-col-2:nth-of-type(2) .txt {
    padding-left: 0;
    padding-right: 37px; }

#ProfilePage p {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1.5px;
  line-height: 1.7rem;
  text-align: justify; }

#ProfilePage .sec_02 {
  border-top: 1px solid #d0d0d0;
  margin-top: 60px;
  padding-top: 60px; }

#ProfilePage table tr {
  border-bottom: 1px solid #d0d0d0; }
  #ProfilePage table tr th, #ProfilePage table tr td {
    font-size: 13px;
    padding: 12px 0;
    font-weight: 500;
    box-sizing: border-box;
    line-height: 1.6rem; }

#ProfilePage .people {
  margin-top: 45px; }
  #ProfilePage .people tr:first-of-type th, #ProfilePage .people tr:first-of-type td {
    padding: 7px 0; }
  #ProfilePage .people tr:nth-last-of-type(-n + 3) td {
    text-align: center; }
  #ProfilePage .people tr th {
    width: 17%;
    padding-left: 21px;
    text-align: left; }
  #ProfilePage .people tr td {
    width: 41.5%; }
    #ProfilePage .people tr td:nth-of-type(2) {
      padding-left: 31px; }

#ProfilePage .pet {
  margin: 50px auto 70px; }
  #ProfilePage .pet tr:first-of-type th, #ProfilePage .pet tr:first-of-type td {
    padding-top: 7px;
    padding-bottom: 7px; }
  #ProfilePage .pet tr:nth-last-of-type(-n + 3) td {
    text-align: left; }
  #ProfilePage .pet tr th {
    width: 17%;
    padding-left: 21px;
    text-align: left; }
  #ProfilePage .pet tr td {
    width: 41.5%; }

@media only screen and (max-width: 767px) {
  #ProfilePage h2 {
    font-size: 16px;
    padding-bottom: 12px; }
  #ProfilePage .l-col-2 {
    padding-top: 50px; }
    #ProfilePage .l-col-2 .txt {
      padding-left: 0;
      padding-top: 20px; }
    #ProfilePage .l-col-2:first-of-type {
      padding-top: 50px; }
    #ProfilePage .l-col-2:nth-of-type(2) .txt {
      padding-right: 0; }
  #ProfilePage p {
    font-size: 12px;
    line-height: 1.7rem; }
  #ProfilePage .sec_02 {
    margin-top: 40px;
    padding-top: 40px; }
  #ProfilePage table tr th, #ProfilePage table tr td {
    font-size: 12px;
    padding: 10px 0; }
  #ProfilePage .people {
    margin-top: 25px; }
    #ProfilePage .people tr:first-of-type th, #ProfilePage .people tr:first-of-type td {
      padding: 7px 10px; }
    #ProfilePage .people tr:nth-last-of-type(-n + 3) td {
      text-align: center;
      border-right: none; }
    #ProfilePage .people tr th {
      width: 16.5%;
      padding-left: 5px;
      text-align: left; }
    #ProfilePage .people tr td {
      width: 41.5%;
      border-right: 1px dotted #d0d0d0;
      padding: 10px; }
      #ProfilePage .people tr td:nth-of-type(2) {
        padding-left: 10px;
        border-right: none; }
  #ProfilePage .pet {
    width: 100%; }
    #ProfilePage .pet tr th {
      width: 25%;
      padding-left: 0; }
    #ProfilePage .pet tr td {
      padding-left: 30px; } }

#StoryPage .story_list {
  padding-top: 95px;
  padding-bottom: 50px;
  border-bottom: 1px solid #d0d0d0; }

#StoryPage article {
  transition: all .3s;
  position: relative; }
  #StoryPage article:nth-of-type(2) {
    margin-top: 30px; }
#StoryPage article:nth-of-type(3) {
    margin-top: 30px; }
  #StoryPage article:hover {
    cursor: pointer;
    opacity: 1; }
  #StoryPage article .txt_box {
    z-index: 1;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  #StoryPage article h2 {
    font-size: 18px;
    font-weight: 500;
    line-height: 2.5rem; }
  #StoryPage article p {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1px; }
  #StoryPage article .subttl {
    margin-top: 13px; }
  #StoryPage article .owner, #StoryPage article .more {
    margin-top: 9px; }
  #StoryPage article .img_box {
    width: 600px; }
  #StoryPage article a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    z-index: 1; }

#StoryPage .story_bnr_area {
  padding-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  #StoryPage .story_bnr_area p {
    font-size: 13px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding-left: 27px;
    line-height: 1.7rem; }

@media only screen and (max-width: 767px) {
  #StoryPage .story_list {
    padding-top: 50px;
    padding-bottom: 40px; }
  #StoryPage article:nth-of-type(2) {
    margin-top: 40px; }
  #StoryPage article .img_box {
    width: 100%; }
  #StoryPage article .txt_box {
    width: 100%;
    box-sizing: border-box; }
  #StoryPage article h2 {
    font-size: 15px;
    line-height: 2.3rem; }
  #StoryPage article p {
    font-size: 12px; }
  #StoryPage article .subttl {
    margin-top: 2px; }
  #StoryPage article .owner, #StoryPage article .more {
    margin-top: 4px; }
  #StoryPage article a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    width: 100%;
    height: 100%;
    box-sizing: border-box; }
    #StoryPage article a:hover {
      opacity: 1; }
  #StoryPage .story_bnr_area {
    display: block; }
    #StoryPage .story_bnr_area p {
      padding-top: 5px;
      font-size: 12px;
      padding-left: 0; } }

#StorySinglePage article {
  padding-top: 95px;
  padding-bottom: 80px; }
  #StorySinglePage article .mv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    #StorySinglePage article .mv .txt_box {
      z-index: 1;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    #StorySinglePage article .mv h2 {
      font-size: 18px;
      font-weight: 500;
      line-height: 2.5rem; }
    #StorySinglePage article .mv p {
      font-size: 13px;
      font-weight: 500;
      letter-spacing: 1.5px; }
    #StorySinglePage article .mv .subttl {
      margin-top: 13px; }
    #StorySinglePage article .mv .owner {
      margin-top: 9px; }
  #StorySinglePage article .txt {
    max-width: 672px;
    margin: 0 auto;
    padding-top: 36px;
    padding-bottom: 40px; }
    #StorySinglePage article .txt p {
      /*text-indent: 1em;*/
      font-size: 13px;
      font-weight: 500;
      line-height: 1.7rem;
      letter-spacing: 1.7px;
      text-align: justify; }
    #StorySinglePage article .txt h3 {
      padding-bottom: 20px;
      font-weight: 500; }
  #StorySinglePage article .t-2 {
    padding-top: 50px;
    padding-bottom: 56px; }
  #StorySinglePage article .gallery p {
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4rem;
    letter-spacing: 1px;
    text-align: left;
    padding-top: 2px; }
  #StorySinglePage article .gallery h4 {
    text-align: left;
    padding-left: 20px;
    font-size: 12px;
    font-weight: 500;
    padding-top: 14px;
    letter-spacing: 1px; }
  #StorySinglePage article .gallery .l-col-2 .content-box:nth-of-type(2) {
    text-align: right; }
    #StorySinglePage article .gallery .l-col-2 .content-box:nth-of-type(2) p {
      padding-left: 20px; }
  #StorySinglePage article .g-1 .l-col-2:first-of-type .content-box p {
    padding-bottom: 40px; }
  #StorySinglePage article .g-1 .l-col-2:first-of-type .content-box:nth-of-type(2) {
    padding-top: 5px; }
  #StorySinglePage article .g-2 .l-col-2:first-of-type {
    padding-bottom: 27px; }
    #StorySinglePage article .g-2 .l-col-2:first-of-type .content-box:first-of-type .img_box {
      padding-bottom: 31px; }
      #StorySinglePage article .g-2 .l-col-2:first-of-type .content-box:first-of-type .img_box:last-of-type {
        padding-bottom: 0; }
    #StorySinglePage article .g-2 .l-col-2:first-of-type .content-box:nth-of-type(2) .img_box {
      padding-bottom: 35px; }
      #StorySinglePage article .g-2 .l-col-2:first-of-type .content-box:nth-of-type(2) .img_box:last-of-type {
        padding-bottom: 0; }
  #StorySinglePage article .g-2 .l-col-2:nth-of-type(2) p {
    font-size: 12px;
    padding-top: 0; }

@media only screen and (max-width: 767px) {
  #StorySinglePage article {
    padding-top: 50px;
    padding-bottom: 50px; }
    #StorySinglePage article .mv {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse; }
      #StorySinglePage article .mv .txt_box {
        text-align: left;
        z-index: 1;
        width: 100%;
        box-sizing: border-box; }
      #StorySinglePage article .mv h2 {
        font-size: 16px;
        line-height: 2.3rem; }
      #StorySinglePage article .mv p {
        font-size: 12px; }
      #StorySinglePage article .mv .subttl {
        margin-top: 2px; }
      #StorySinglePage article .mv .owner {
        margin-top: 4px; }
    #StorySinglePage article .txt {
      max-width: 672px;
      margin: 0 auto;
      padding-top: 36px;
      padding-bottom: 40px; }
      #StorySinglePage article .txt p {
        font-size: 12px;
        line-height: 1.8rem;
        padding-bottom: 5px; }
      #StorySinglePage article .txt h3 {
        padding-bottom: 15px; }
    #StorySinglePage article .t-2 {
      padding-top: 30px;
      padding-bottom: 30px; }
    #StorySinglePage article .gallery p {
      font-size: 11px;
      line-height: 1.4rem;
      letter-spacing: 1px;
      padding-top: 2px; }
    #StorySinglePage article .gallery h4 {
      text-align: left;
      padding-left: 0;
      font-size: 12px;
      padding-top: 14px; }
    #StorySinglePage article .gallery .l-col-2 .content-box:nth-of-type(2) {
      text-align: left; }
      #StorySinglePage article .gallery .l-col-2 .content-box:nth-of-type(2) p {
        padding-left: 0; }
    #StorySinglePage article .g-1 .l-col-2:first-of-type .content-box p {
      padding-bottom: 25px; }
    #StorySinglePage article .g-1 .l-col-2:first-of-type .content-box:nth-of-type(2) {
      padding-top: 5px; }
    #StorySinglePage article .g-1 .l-col-2:nth-of-type(2) .content-box p {
      padding-bottom: 25px; }
    #StorySinglePage article .g-2 .l-col-2:first-of-type {
      padding-bottom: 25px; }
      #StorySinglePage article .g-2 .l-col-2:first-of-type .content-box:first-of-type .img_box {
        padding-bottom: 25px; }
        #StorySinglePage article .g-2 .l-col-2:first-of-type .content-box:first-of-type .img_box:last-of-type {
          padding-bottom: 25px; }
      #StorySinglePage article .g-2 .l-col-2:first-of-type .content-box:nth-of-type(2) .img_box {
        padding-bottom: 25px; }
        #StorySinglePage article .g-2 .l-col-2:first-of-type .content-box:nth-of-type(2) .img_box:last-of-type {
          padding-bottom: 0; }
    #StorySinglePage article .g-2 .l-col-2:nth-of-type(2) p {
      font-size: 12px;
      padding-top: 0; }
    #StorySinglePage article .g-2 .l-col-2:nth-of-type(2) .content-box:first-of-type {
      padding-bottom: 25px; } }

#StorySinglePage.story_01 article .g-1 .l-col-2:nth-of-type(2) .content-box:first-of-type .img_box {
  padding-bottom: 40px; }

#StorySinglePage.story_01 article .g-1 .l-col-2:nth-of-type(2) .content-box:nth-of-type(2) .img_box {
  padding-bottom: 28px; }

@media only screen and (max-width: 767px) {
  #StorySinglePage.story_01 article .g-1 .l-col-2:nth-of-type(2) .content-box:first-of-type .img_box {
    padding-bottom: 0; }
  #StorySinglePage.story_01 article .g-1 .l-col-2:nth-of-type(2) .content-box:nth-of-type(2) .img_box {
    padding-bottom: 0; } }

#Single article {
  padding-top: 70px; }
  #Single article .date, #Single article .cat {
    color: #3f3f3f;
    display: inline-block;
    padding-bottom: 35px; }
  #Single article .cat span:not(:first-of-type)::before{
    content: "、";
  }
  #Single article h2 {
    font-size: 20px;
    letter-spacing: 1px;
    font-weight: 500;
    padding-bottom: 8px; }
  #Single article span {
    font-size: 13px; }
  #Single article .attachment-post-thumbnail {
    max-width: 100%;
    height: auto; }
  #Single article .article_content {
    padding: 0 0 35px; }
    #Single article .article_content p {
      font-size: 13px;
      padding-top: 20px;
      line-height: 1.6rem;
      letter-spacing: 1px; }

@media only screen and (max-width: 767px) {
  #Single article {
    padding-top: 30px; }
    #Single article .date, #Single article .cat {
      display: inline-block;
      padding-bottom: 20px; }
    #Single article h2 {
      font-size: 18px;
      padding-bottom: 0px; }
    #Single article span {
      font-size: 12px; }
    #Single article .article_content {
      padding: 0 0 35px; }
      #Single article .article_content p {
        font-size: 12px;
        padding-top: 15px;
        line-height: 1.6rem;
        letter-spacing: 1px; } }

#WorksSingle article {
  padding-top: 70px;
  padding-bottom: 70px; }
  #WorksSingle article h2 {
    font-size: 18px;
    font-weight: 500;
    padding-top: 52px;
    padding-bottom: 18px;
    text-align: center; }
  #WorksSingle article p {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.8rem;
    letter-spacing: 1px; }
  #WorksSingle article .txt_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 21px; }
    #WorksSingle article .txt_area .info {
      width: 29%;
      box-sizing: border-box; }
      #WorksSingle article .txt_area .info .head {
        padding-right: 10px; }
    #WorksSingle article .txt_area .description {
      width: 71%;
      box-sizing: border-box; }
      #WorksSingle article .txt_area .description .tag_area {
        padding-top: 30px; }
        #WorksSingle article .txt_area .description .tag_area .tag {
          padding-left: 12px;
          letter-spacing: 1.5px;
          color: #353534; }
          #WorksSingle article .txt_area .description .tag_area .tag::before {
            content: "#";
            margin: 0 2px; }
          #WorksSingle article .txt_area .description .tag_area .tag:first-of-type {
            padding-left: 0; }
  #WorksSingle article .col-1, #WorksSingle article .col-2 {
    margin-top: 35px;
    text-align: center; }
    #WorksSingle article .col-1 p, #WorksSingle article .col-2 p {
      margin-top: 20px; }
      #WorksSingle article .col-1 p:first-of-type, #WorksSingle article .col-2 p:first-of-type {
        margin-top: 0; }
  #WorksSingle article .col-1 img {
    max-width: 100%;
    height: auto; }
  #WorksSingle article .col-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    #WorksSingle article .col-2 .box {
      width: 50%; }
      #WorksSingle article .col-2 .box:nth-of-type(2) {
        text-align: right; }
      #WorksSingle article .col-2 .box img {
        max-width: 99%;
        height: auto; }

@media only screen and (max-width: 767px) {
  #WorksSingle article {
    padding-top: 30px;
    padding-bottom: 35px; }
    #WorksSingle article h2 {
      font-size: 16px;
      padding-top: 25px;
      padding-bottom: 15px; }
    #WorksSingle article p {
      font-size: 12px; }
    #WorksSingle article .txt_area {
      display: block;
      padding-bottom: 10px; }
      #WorksSingle article .txt_area .info {
        width: 100%; }
        #WorksSingle article .txt_area .info .head {
          padding-right: 10px; }
      #WorksSingle article .txt_area .description {
        width: 100%;
        padding-top: 15px; }
        #WorksSingle article .txt_area .description .tag_area {
          padding-top: 25px; }
          #WorksSingle article .txt_area .description .tag_area .tag {
            display: inline-block;
            padding-left: 15px;
            padding-bottom: 5px; }
    #WorksSingle article .col-1, #WorksSingle article .col-2 {
      margin-top: 10px; }
    #WorksSingle article .col-2 {
      display: block; }
      #WorksSingle article .col-2 .box {
        width: 100%;
        margin-top: 10px;
          margin-top-text-align: left; } }

#ContactPage h2 {
  font-size: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 35px;
  padding-bottom: 38px;
  font-weight: 500; }
  #ContactPage h2 span:nth-of-type(2):before {
    content: "|";
    margin: 0 15px; }
  #ContactPage h2 a {
    color: #353534;
    position: relative;
    padding: 3px 0; }
    #ContactPage h2 a:hover:after {
      content: "";
      display: block;
      width: 50%;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      background-color: #9c9c9c; }

#ContactPage #gaiyou {
  border-top: 1px solid #ddd;
  padding-top: 40px;
  padding-bottom: 60px; }
  #ContactPage #gaiyou table {
    margin: 0 auto;
    width: 545px;
    margin-bottom: 50px; }
    #ContactPage #gaiyou table:nth-of-type(2) {
      width: 495px; }
      #ContactPage #gaiyou table:nth-of-type(2) th {
        padding-left: 0; }
  #ContactPage #gaiyou th, #ContactPage #gaiyou td {
    font-size: 13px;
    color: #000;
    font-weight: 500;
    padding-top: 10px;
    padding-bottom: 10px;
    box-sizing: border-box; }
  #ContactPage #gaiyou th {
    text-align: right;
    padding-left: 35px;
    width: 20%; }
  #ContactPage #gaiyou td {
    width: 80%;
    padding-left: 23px; }
  #ContactPage #gaiyou p {
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    color: #000;
    padding-top: 26px; }
    #ContactPage #gaiyou p span {
      color: #ff0000; }
  #ContactPage #gaiyou .carpark {
    margin: 35px auto 60px; }
  #ContactPage #gaiyou .googlemap {
    width: 190px;
    border: 1px solid #535353;
    margin: 35px auto 60px; }
    #ContactPage #gaiyou .googlemap a {
      display: block;
      width: 100%;
      height: 100%;
      color: #000;
      font-size: 14px;
      text-align: center;
      padding: 4px 0; }
  #ContactPage #gaiyou .date {
    text-align: right;
    padding-right: 90px; }

#ContactPage #contact {
  border-top: 1px solid #ddd;
  padding-top: 40px;
  /* margin-bottom: 115px; */
    margin-bottom: 50px;
  position: relative; }
#ContactPage .recap_txt {
    text-align: center;
}
#ContactPage .recap_txt a {
    border-bottom: 1px solid;
}
.grecaptcha-badge { visibility: hidden; }

  #ContactPage #contact h3 {
    font-size: 18px;
    text-align: center;
    color: #353534;
    padding-bottom: 66px; }
  #ContactPage #contact table {
    width: 620px;
    margin: 0 auto;
    display: block; }
  #ContactPage #contact tbody {
    display: block; }
  #ContactPage #contact tr {
    margin-bottom: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  #ContactPage #contact th, #ContactPage #contact td {
    color: #353534;
    font-weight: 500;
    line-height: 1.3rem;
    padding: 6px;
    box-sizing: border-box; }
  #ContactPage #contact th {
    width: 25%; }
  #ContactPage #contact td {
    width: 75%;
    border: 1px solid #ddd; }
  #ContactPage #contact .required {
    display: inline-block;
    color: #ff0000;
    font-size: 20px;
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
    padding-left: 1px; }
  #ContactPage #contact .submit {
    background-color: #ddd !important;
    color: #000;
    width: 143px;
    height: 30px; }
    #ContactPage #contact .submit:hover {
      opacity: 0.7;
      cursor: pointer; }
  #ContactPage #contact .policy {
    position: absolute;
    right: 118px;
    bottom: 2px; }
  #ContactPage #contact .wpcf7-form-control {
    border: none;
    background-color: transparent; }
  #ContactPage #contact .wpcf7-textarea {
    width: 100%; }

  #ContactPage .privacy-check{
    position: relative;
    font-size: 13px;
    text-align: center;
    letter-spacing: 0.22em;
  }

    #ContactPage .privacy-check label{
      position: relative;
    }

    
  #ContactPage .privacy-check input[type="checkbox"] {
    display: none; 
  }

  
  #ContactPage .privacy-check input[type="checkbox"] {
    display: none;
  }

  
  #ContactPage .privacy-check input[type="checkbox"] + .wpcf7-list-item-label::before {
    content: "";
    position: relative;
    top: -1px;
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-right: 8px;
    border: 1px solid #707070; 
    vertical-align: middle;
    background-color: #fff;
    box-sizing: border-box;
  }

  
  #ContactPage .privacy-check input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
    background-color: #707070; 
  }


    #ContactPage .privacy-check a{
      color: #F96F68;
    }

    #ContactPage .privacy-check a:hover{
      text-decoration: underline;
    }

    #ContactPage .wpcf7-spinner{
      display: none;
    }


@media only screen and (max-width: 767px) {
  #ContactPage h2 {
    padding-top: 25px;
    padding-bottom: 30px; }
  #ContactPage #gaiyou {
    padding-top: 25px;
    padding-bottom: 60px; }
    #ContactPage #gaiyou table {
      width: 100%;
      margin-bottom: 50px; }
      #ContactPage #gaiyou table:nth-of-type(2) {
        width: 100%; }
        #ContactPage #gaiyou table:nth-of-type(2) th {
          padding-left: 20px; }
    #ContactPage #gaiyou th, #ContactPage #gaiyou td {
      font-size: 12px;
      display: block;
      width: 100%;
      padding-right: 20px; }
    #ContactPage #gaiyou th {
      text-align: left;
      padding-left: 20px;
      padding-bottom: 0; }
    #ContactPage #gaiyou td {
      padding-left: 20px;
      padding-top: 0; }
    #ContactPage #gaiyou p {
      font-size: 12px;
      padding-top: 26px; }
      #ContactPage #gaiyou p span {
        color: #ff0000; }
    #ContactPage #gaiyou .carpark {
      margin: 25px auto 40px; }
    #ContactPage #gaiyou .googlemap {
      margin: 25px auto 40px; }
    #ContactPage #gaiyou .date {
      text-align: right;
      padding-right: 0; }
  #ContactPage #contact {
    padding-top: 40px;
    margin-bottom: 115px;
    position: relative; }
    #ContactPage #contact h3 {
      font-size: 15px;
      padding-bottom: 46px; }
    #ContactPage #contact table {
      width: 90%;
      margin: 0 auto;
      display: block; }
    #ContactPage #contact tbody {
      display: block; }
    #ContactPage #contact tr {
      margin-bottom: 20px;
      display: block; }
    #ContactPage #contact th, #ContactPage #contact td {
      display: block;
      color: #353534;
      font-weight: 500;
      line-height: 1.3rem;
      padding: 6px 0;
      box-sizing: border-box; }
    #ContactPage #contact th {
      width: 100%;
      text-align: left; }
    #ContactPage #contact td {
      width: 100%;
      border: 1px solid #ddd; }
    #ContactPage #contact .required {
      display: inline-block;
      font-size: 20px;
      -webkit-transform: translateY(7px);
              transform: translateY(7px);
      padding-left: 1px; }
    #ContactPage #contact .submit {
      display: inline-block;
      border: none;
      background-color: #ddd;
      color: #000;
      width: 143px;
      height: 30px;
      margin-left: 0;
      margin: 40px 0 0 22px; }
      #ContactPage #contact .submit:hover {
        opacity: 0.7;
        cursor: pointer; }
    #ContactPage #contact .policy {
		position: absolute;
      right: auto;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      bottom: -30px; } }

#PrivacyPolicy {
}
  #PrivacyPolicy .l-inner {
    width: 680px;
  }

  #PrivacyPolicy h2{
    font-size: 18px;
    font-weight: normal;
    letter-spacing: 0.145em;
    margin-bottom: 10px;
  }

  

  #PrivacyPolicy p {
    font-size: 13px;
    padding-bottom: 18px;
  }

.privacy-num{
font-size: 18px;
font-weight: normal;
line-height: 27px;
letter-spacing: 0.145em;
margin-bottom: 15px;
  }

  .privacy-num:nth-of-type(1){
    margin-top: 30px;
  }

  .privacy-num span{
    padding-left: 1.2em;
  }

  .privacy-text{
    margin-bottom: 50px;
  }


  @media only screen and (max-width: 767px) {
    #PrivacyPolicy {
      /* padding-bottom: 50px; */
    }
      #PrivacyPolicy .l-inner {
        width: 100%;
      }

        #PrivacyPolicy h2{
    font-size: 16px;
  }

      #PrivacyPolicy p {
        font-size: 12px;
      }

      .privacy-num{
        font-size: 16px;
      }
      .privacy-num span{
    padding-left: 0;
  }

    }

/*# sourceMappingURL=maps/application.css.map */
