*,*:before,*:after{
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*{
  margin: 0;
  padding: 0;
}
a{
  color: inherit;
  text-decoration: none;
}
body{
  color: #434343;
  font-family: 'Arial','メイリオ','Meiryo','Osaka','ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN',sans-serif;
}


/*ヘッダー*/

header{
  position: relative;
  width: 92%;
  max-width: 950px;
  margin: 16px auto 0 auto;
}
#title{
  position: relative;
  width: 230px;
  margin: 0 auto;
}
.title-title{
  display: block;
  width: 100%;
}
.title-uroko{
  display: block;
  width: 97px;
  position: absolute;
  top: 12px;
  left: -120px;
  z-index: -10;
}
.title-kenta{
  display: block;
  width: 173px;
  position: absolute;
  top: -6px;
  left: 250px;
  z-index: -10;
}
.title-uroko-kao{
  display: none;
  width: 70px;
  position: absolute;
  top: 15px;
  left: -65px;
  z-index: -10;
}
.title-kenta-kao{
  display: none;
  width: 70px;
  position: absolute;
  top: 15px;
  left: 221px;
  z-index: -10;
}
@media (max-width: 650px) {
  .title-title{
    width: 88%;
    margin: 0 auto;
  }
  .title-uroko, .title-kenta{
    display: none;
  }
  .title-uroko-kao, .title-kenta-kao{
    display: block;
  }
}
@media (max-width: 415px) {
  .title-title{
    width: 76%;
    margin: 0 auto;
  }
  .title-uroko-kao{
    width: 50px;
    top: 24px;
    left: -38px;
  }
  .title-kenta-kao{
    width: 50px;
    top: 25px;
    left: 214px;
  }
}
@media (max-width: 330px) {
  .title-uroko-kao, .title-kenta-kao{
    display: none;
  }
}


/*メニュー*/

.menu-block{
  margin-top: 12px;
}
.decor{
  display: block;
  background: #38761df2;
  padding-top: 2px;
}
.menu-block nav{
  position: relative;
  background: #fffffff2;
  padding: 0 0 0 5px;
}
.menu-block ul{
  list-style: none;
  position: relative;
  text-align: center;
  font-size: 14px;
}
.menu-block li{
  float: left;
}

.menu-block ul:after{
  clear: both;
}
.menu-block ul:before, .menu-block ul:after{
  content: "";
  display: table;
}
.menu-block li a{
  display: block;
  padding: 8px 25px 6px 25px;
}
/*カーソルを合わせた時*/
.menu-block li:hover a{
  text-decoration: underline;
}
@media (max-width: 470px) {
  .menu-block li a{
    padding: 4px 15px 3px 15px;
  }
}


/*パンくずリスト*/

.breadCrumb{
  margin: 18px auto 0 auto;
  width: 92%;
  max-width: 920px;
  text-align: center;
	font-size: 13px;
}


/*メイン*/

main{
  width: 92%;
  max-width: 720px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.7em;
  letter-spacing: -0.01em;
}
.maincontent{
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}
.red-bold{
  color: red;
  font-weight: bold;
}
.green-bold{
  color: #38761d;
  font-weight: bold;
}
.large-bold{
  font-weight: bold;
}
.maincontent a{
  text-decoration: underline;
}


/*マーカー*/

.marker{
  background:linear-gradient(transparent 76%, #ffff3d 60%)
}


/*目次ページ見出し*/

.h1-block-mokuji{
  width: 100%;
  margin: 35px auto 30px auto;
  padding: 8px 0;
  background: #38761d;
}
.h1-block-mokuji h1{
  width: 100%;
  border-top: 2px dashed #6aa84f;
  border-bottom: 2px dashed #6aa84f;
  padding: 18px 0;
  text-align: center;
  color: #fcfcfc;
  font-size: 22px;
  font-weight: bold;
}

.mokuji-block{
  position: relative;
  width: 96%;
  max-width: 560px;
  margin: 60px auto 30px auto;
}
.mokuji-block img{
  display: block;
  position: absolute;
  top: -30px;
  left: 10%;
  width: 54px;
  z-index: 1
}
.mokuji{
  border: 2px solid #e5e5e5;
  background-color: #fcfcfc;
  padding: 24px 8% 38px 8%;
}
.mokuji-title{
  text-align: center;
  font-size: 14px;
}
.mokuji-list li{
  margin-top:25px;
  padding-left: 2px;
  list-style-type: none;
}


/*固定ページ見出し*/

.h1-block-page{
  width: 100%;
  margin: 35px auto 30px auto;
  padding: 4px 0;
  background: #38761d;
}
.h1-block-page h1{
  width: 100%;
  border-top: 2px solid #6aa84f;
  border-bottom: 2px solid #6aa84f;
  padding: 10px 0;
  text-align: center;
  color: #fcfcfc;
  font-size: 20px;
  font-weight: bold;
}


/*投稿ページ見出し*/

.h1-block-note{
  position: relative;
  width: 99%;
  margin: 35px auto 30px auto;
  padding: 16px 0px 16px 0px;
  background: #f6f6f6;
}
.h1-block-note h1{
  width: 100%;
  border-top: 2px dashed #bcbcbc;
  border-bottom: 2px dashed #bcbcbc;
  padding: 14px 10px 8px 10px;
  text-align: center;
  font-size: 23px;
  font-weight: bold;
}
.h1-block-note .content-date{
  position: absolute;
  top: -3px;
  right: 4px;
  font-size: 11px;
  font-weight: bold;
  color: #959595;
}

.h2-block{
  width: 98%;
  margin: 65px auto 35px auto;
  display:flex;
}
.h2-block img{
  width: 26px;
}
.h2-h2{
  width: 100%;
  padding-top: 1.5px;
}
.h2-block h2{
  width: 96%;
  padding: 4px 0px 0px 16px;
  border-top: 2px solid #e5e5e5;
  font-size: 18px;
  font-weight: bold;
}


/*ページ内目次　黒板*/
#toc_container{
  position: relative;
  width: 87%;
  max-width: 480px;
  margin: 30px auto 35px auto;
  border-top: 5px solid #b45f06;
  border-right: 6px solid #b45f06;
  border-left: 6px solid #b45f06;
  border-radius: 3px 3px 0 0;
  padding: 6px 7% 18px 7%;
  background: #38761d;
  color: #fcfcfc;
}
.toc_title{
  text-align: center;
  font-size: 13px;
  font-weight: bold;
}
.toc_list{
  list-style-position: inside;
}
.toc_list li{
  padding: 4px 0;
}
#toc_container a{
  text-decoration: none;
}
#toc_container::after{
  position: absolute;
  content: "";
  bottom: -5px;
  left: -2%;
  width: 104%;
  border-radius: 3px 3px 3px 3px;
  padding: 5px;
  background: #b45f06;
}
@media (max-width: 460px) {
  #toc_container::after{
    left: -3%;
    width: 106%;
  }
}


/*本文*/

.mycom{
  margin: 26px auto 21px auto;
}

.space{
  margin-top: 65px;
}

.image img{
  display: block;
  width: 90%;
  max-width: 400px;
  margin: 29px auto 29px auto;
}
.size-full img{
  display: block;
  width: 90%;
  max-width: 400px;
  margin: 29px auto 29px auto;
}

.comLeft {
  width: 99%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-right: auto;
  margin: 8px auto;
  -webkit-align-items: flex-end;
  -ms-align-items: flex-end;
  align-items: flex-end;
}
.comRight {
  width: 99%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-left: auto;
  margin: 8px auto;
  -webkit-align-items: flex-end;
  -ms-align-items: flex-end;
  align-items: flex-end;
}
.speechImg_con {
  margin: 0 10px;
}
.speechImg {
  width: 50px;
  height: 50px;
  margin: auto;
  background-size: cover;
  background-position: center center;
}
.speechCom {
  margin: auto;
  padding: 10px;
  position: relative;
}
.comLeft .speechCom {
  margin-left: 0;
}
.comRight .speechCom {
  margin-right: 0;
}
.comRight .speechCom .speechImg_con {
  margin-right: 0;
}
.comLeft .speechCom .speechImg_con {
  margin-left: 0;
}
.speechCom p {
  margin: 0;
  padding: 0;
  font-size: 15px;
  text-align: justify;
  line-height: 1.65em;
}

@media (max-width: 470px) {
  .speechImg_con {
    margin: 0;
  }
  .speechImg {
    width: 40px;
    height: 40px;
  }
  .speechCom {
    padding: 10px 5px 5px 5px;
  }
  .comLeft .speechCom {
    padding-left: 10px;
  }
}


/*次ページ、前ページ*/

.page-block{
  margin: 65px auto;
  padding: 1px 0;
  font-size: 15px;
}
.page-block .prev-page{
  float: left;
  width: 48%;
  text-decoration: underline;
}
.page-block .next-page{
  float: right;
  width: 48%;
  text-align: right;
}


/*フッター*/

footer{
  width: 100%;
  margin-top: 60px;
  margin-bottom: 1px;
  padding: 8px 5px 5px 5px;
  background: #f7f7f7;
  border-top: 2px dotted #dddddd;
  border-bottom: 2px dotted #dddddd;
}
.footer-menu-block{
  padding: 10px 0 10px 0;
  text-align: center;
  font-size: 13px;
  text-decoration: underline;
}
.footer-menu-block li{
  list-style: none;
  padding: 4px 0;
}
.copyright{
  padding: 10px 0;
  text-align: center;
  font-size: 12px;
}


/*ページネーション*/

.pagination {
	text-align: center;
	margin-top: 25px;
}
.pagination .page-numbers {
	display: inline-block;
	padding: 5px 10px 0 10px;
	font-size: 14px;
	text-decoration: underline;
}
.pagination .page-numbers:hover {
	color: #999999;
}
.pagination .page-numbers.current {
	border: none;
	text-decoration: none;
  color: #434343;
}
.pagination .page-numbers.dots {
	padding: 0 5px;
	border: none;
}


/*追加CSS*/
/*入力ボックスのデザイン*/
input, select{
	margin:5px auto;
	padding:5px 10px;
	border:3px solid #6aa84f;
	border-radius:5px 5px;
}
/*ボタンのデザイン*/
.swpm-login-form-submit, .swpm-edit-profile-submit, .swpm-pw-reset-submit, .swpm-registration-submit{
	margin:5px auto 35px auto;
	padding:5px 15px;
	font-size:16px;
	background:#38761d;
	color:#fcfcfc;
	border:3px solid #6aa84f;
	border-radius:5px 5px;
}

/*プロフィールの表示*/
.swpm-profile-firstname-row, .swpm-profile-lastname-row, .swpm-profile-street-row, .swpm-profile-city-row, .swpm-profile-state-row, .swpm-profile-zipcode-row, .swpm-profile-country-row, .swpm-profile-company-row{
	display:none;
}

/*登録フォームの表示*/
.swpm-registration-firstname-row, .swpm-registration-lastname-row{
	display:none;
}

/*ログイン後の表示*/
.swpm-login-widget-logged .swpm-logged-status, .swpm-login-widget-logged .swpm-logged-membership, .swpm-login-widget-logged .swpm-logged-expiry{
	display:none;
}
.swpm-login-widget-logged .swpm-edit-profile-link, .swpm-login-widget-logged .swpm-logged-logout-link{
	margin:12px auto;
	font-weight:bold;
}

/*ログイン後の表示*/
@media (max-width: 650px) {
body .swpm-button-wrapper .stripe-button-el{
	width:130px !important;
}
}

/*次ページ、前ページ(ページの最初)*/
.page2-block{
  margin: 30px auto 95px auto;
  padding: 1px 0;
  font-size: 15px;
}
.page2-block .prev-page{
  float: left;
  width: 48%;
  text-decoration: underline;
}
.page2-block .next-page{
  float: right;
  width: 48%;
  text-align: right;
}

/*トップページのサイト紹介画像*/
.image-top img{
  display: block;
  width: 70%;
  max-width: 300px;
  margin: 29px auto 29px auto;
  box-shadow: 1px 2px 5px -2px gray;
}
