@charset "UTF-8";
/*------------------------------------------------------------
    Reset
------------------------------------------------------------*/
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,
nav,
section,
time,
mark,
audio,
video {
  font-size: 1em;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main {
  display: block;
}

html {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: 100%;
}

body,
table,
input,
textarea,
select,
option,
h1,
h2,
h3,
h4,
h5,
h6 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.4rem;
  line-height: 1.8;
/*
  font-family: "Noto Sans JP", sans-serif;
*/
    font-weight: 500;
    color: #222;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
}

table,
input,
textarea,
select,
option {
  line-height: 1.1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

:focus {
  outline: 0;
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

img {
  vertical-align: top;
}

/*contents */
.contents {
    min-height: calc(100vh - 70px - 275px);
    padding-bottom: 100px;
    background: #fff;;
}

.contents_container{
	width: 100%;
	min-width: 320px;
	max-width: 960px;
    position: relative;
	margin: 0 auto 0;
	text-align: left;
}

/* 1500px over */
@media (min-width: 1500px) {
    .contents_container{
        max-width: 1200px;
    }
}
@media (max-width: 767px) {    
    .contents {
        min-height: calc(100vh - 60px - 340px);
    }
}

.text_container{
    padding: 15px;
}

/* font関連 */
.bold {
  font-weight: 700;
}

.regular {
  font-weight: 400;
}

.f_s {
  font-size: 12px !important;
}

.f_m {
  font-size: 14px !important;
}

.f_l {
  font-size: 18px !important;
}

.f_ll {
  font-size: 24px !important;
}

/* text-align */
.t_right {
  text-align: right !important;
}

.t_center {
  text-align: center !important;
}

.t_left {
  text-align: left !important;
}

/* vertical-align */
.va_b {
  vertical-align: bottom !important;
}

.va_m {
  vertical-align: middle !important;
}

.va_t {
  vertical-align: top !important;
}

/* float */
.left {
  float: left;
  display: inline;
}

.right {
  float: right;
  display: inline;
}

/* bottom-margin */
.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

/* right-margin */
.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

/* top-margin */
.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt-s {
  margin-top: -10px !important;
}

.mt-m {
  margin-top: -20px !important;
}

/* margin-size */
.mbs {
  margin-bottom: 20px !important;
}

.mbm {
  margin-bottom: 40px !important;
}

.mbl {
  margin-bottom: 90px !important;
}

/* padding */
.plr10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.plr15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.plr20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.plr35 {
  padding-left: 35px !important;
  padding-right: 35px !important;
}

.pts {
  padding-top: 20px !important;
}

.ptm {
  padding-top: 60px !important;
}

.ptl {
  padding-top: 90px !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pbm {
  padding-bottom: 40px !important;
}

.pbl {
  padding-bottom: 90px !important;
}

.br_n {
  border-right: none !important;
}

.bb_n {
  border-bottom: none !important;
}

/* color */
.bg_red{
    background: #ff0000;
}
.bg_black{
    background: #000;
}

.bg_ig{
    background: linear-gradient(91.23deg, #FF7A00 0%, #FF0169 50.06%, #D300C5 99.36%);
}

.c_success{
    color:#2CB200;
}

.c_alert{
    color:#FF2626;
}

.c_none,
.c_none a{
    color:#ccc;
}

.c_none a:hover{
    text-decoration: underline;
}

.stripe_black{
    background-size: auto auto;
    background-color: rgba(85, 85, 85, 1);
    background-image: repeating-linear-gradient(60deg, transparent, transparent 2px, rgba(51, 51, 51, 1) 2px, rgba(51, 51, 51, 1) 4px );
    color:#fff;
}

.stripe_white{
    background-size: auto auto;
    background-color: rgba(250, 250, 250, 1);
    background-image: repeating-linear-gradient(60deg, transparent, transparent 5px, rgba(245, 245, 245, 1) 5px, rgba(245, 245, 245, 1) 10px );
}

.c_red {
  color: #ff0000;
}

.c_blue {
  color: #002350;
}

.c_yellow {
  color: #ff9e2c;
}

.c_green {
  color: #007b90;
}

.c_orange {
  color: #e55949;
}


.dp_n {
  display: none;
}

.bg_n {
  background: none !important;
}

@media (min-width: 768px) {
    .sp-only {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .pc-only {
        display: none;
    }

    img {
        max-width: 100%;
        height: auto;
    }
}

/* breadcrumb */
.breadcrumb{
    position: relative;
}


.breadcrumb ol, .breadcrumb ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: calc(100% - 10px);
    margin: auto;
    padding: 10px;
    flex-wrap: wrap;
    position: relative;
    z-index: 3;

}

@media screen and (max-width: 767px) {
    .breadcrumb ol, .breadcrumb ul {
        padding: 10px;
    }
}

.breadcrumb ol li, .breadcrumb ul li {
  position: relative;
}

.breadcrumb ol li a,
.breadcrumb ol li span , .breadcrumb ul li a,
.breadcrumb ul li span {
  font-size: 1.2rem;
  text-decoration: none;
  color: #555;
}

.breadcrumb ol li:after, .breadcrumb ul li:after {
  content: "＞";
  color: #222;
  margin: 0 10px;
}

.breadcrumb ol li:last-child:after, .breadcrumb ul li:last-child:after {
  display: none;
}


/* button */
.main_button,
.c_btn1 {
    max-width: 400px;
    width: 100%;
    margin: auto;
}

.main_button a,
.c_btn1 a {
    width: 100%;
    padding: 10px 0;
    position: relative;
    border-radius: 100px;
    text-align: center;
    display: block;
    text-decoration: none;
    font-size: 1rem;
    color: #fff;
    letter-spacing: 0.2rem;
    background: #333;
    border: 1px solid #333;
}

.main_button a:hover,
.c_btn1 a:hover {
    background: #fff;
    color: #333;
}

@media screen and (max-width: 767px) {
    .main_button,
    .c_btn1 {
        max-width: 250px;
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .main_button a,
    .c_btn1 a {
        font-size: 1.6rem;
        padding: 10px 0;
    }
}

.main_button a:before,
.c_btn1 a:before {
  content: "";
  width: 19px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 30px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* headline */
.page_header_container,
.section_header_container{
    position: relative;
}
.section_header_container .more{
    width: 100px;
    height: 20px;
    position: absolute;
    bottom:0;
    right: 10px;
    text-align: right;
    line-height: 20px;
    font-size: 14px;
}

.section_header{
    width: 100%;
    height: 50px;
    margin: 10px auto;
	padding: 0 10px 0;
	font-size: 20px;
    line-height: 50px;
    color: #666;
}

.page_header{
    width: 100%;
    min-height: 40px;
    margin: 10px auto;
	font-size: 20px;
    line-height: 40px;
	text-align: left;
}

.page_header_sub,
.section_header_sub{
    width: 100%;
    height: 20px;
    margin-top: -10px;
	padding: 0 2px 0;
	font-size: 12px;
    line-height: 20px;
    color: #555;
    display: block;
}


/* blog */
.no_post{
    padding: 20px;
}
.date{
    color: #555;
    font-size: 80%;
}
@media screen and (max-width: 767px) {
    .date{
        display: block;
    }
}

.news_container .date{
    margin-right: 10px;
}

.news_container,
.article_container{
    padding: 0 10px;
    line-height: 2.5;
}

.news_container{
    padding: 0 20px;
}

.article_container img{
    overflow: hidden;
    border-radius: 10px;
}

.photo_container{
    width: 100%;
    height: auto;
    overflow: hidden;
}

.photo_container img{
    width: 100%;
    height: auto;
}

.article_container h2{
    font-size: 24px;
    min-height: 20px;
    line-height: 20px;
    padding: 10px;
}
