/* base.css — Global resets, utilities, buttons */

/* Global font normalization:
 * - Japanese body text defaults to --font-jp-sans
 * - Japanese headings/catch copy defaults to --font-jp-serif
 * - English text (PLAN, VOICE, etc.) uses --font-en
 */
:where(body, button, input, select, textarea, p, li, dt, dd, th, td, figcaption, caption, small) {
  font-family: var(--font-jp-sans);
}
:where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-jp-serif);
}
:where([class*="catch"], [class*="lead"]) {
  font-family: var(--font-jp-serif);
}
html[lang^="ja"] :is([lang|="en"],:lang(en),.en), :lang(ja) :is([lang|="en"],:lang(en),.en) {
  font-family: "Noto Serif JP", serif !important;
  display: contents;
}

body {
	font-size:14px;
	line-height: 2;
	font-family: var(--font-jp-sans);
	font-weight: 300;
	color: #333;
	background-color: #fdfdfd;
	overflow-x:hidden;
	margin-top: 32px;
	/*cursor: none;*/
}
p {
	font-size: 13px;
}
img {
  pointer-events: none;
  -webkit-user-drag: none; /* Chrome, Safari, Opera */
  -khtml-user-drag: none;  /* Konqueror */
  -moz-user-drag: none;    /* Firefox */
  -o-user-drag: none;      /* Opera */
  user-drag: none;         /* Standard property */
}

/*--------------- reset -----------------*/
*{
margin: 0;
padding: 0;
border: none;
list-style: none;
}

/*--------------- 汎用 -----------------*/
.flex{
display: flex;
flex-wrap: wrap;
}

.w30{
width:30%
}
.w50{
width:50%
}
.w70{
width:70%
}

.pb100 {
    padding-bottom: 100px;
}

.text_right{
text-align: right;
}

.text_left{
text-align: left;
}

.inner {
width: calc(100% - 40px);
max-width: 1000px;
margin: 0 auto;
}
.mb20{
margin-bottom:20px;
}
.mb40{
margin-bottom:40px;
}
.mb100{
margin-bottom:100px;
}
.mt20{
	margin-top:20px;
}
.p20 {
    padding: 20px;
}
.text_c{
text-align:center;
}
.footer_info {
    padding: 40px 10px;
    color: #fff;
    text-align: center;
    font-size: 12px;
    font-weight: 200;
}
.text_link {
border: solid 1px #9b9b9b;
    padding: 2px 8px;
    margin-top: 20px;
    display: block;
    text-align: center;
}
.text_link:hover {
    background: #cdcdcd;
}
.text-link {
    background: #e6e6e6;
}
p.bg_pink {
    background: #ece3e7;
    display: inline-block;
    padding: 2px 10px;
}
.bg_pink {
    background: #ece3e7;
}
.bg_gray {
    background: #eaeaea;
}
.blog_con span {
    display: inline-block;
    background-color: #f0f0f0;
    padding: 0 6px;
}
.blog_con div {
    background-color: #fafafa;
    padding: 8px;
}
.blog_con h4 {
    margin-bottom: 10px;
    border-bottom: dotted 1px;
    font-size: 16px;
    font-weight: bold;
}
.inner_line {
    border: solid 1px;
}
.inner_line h4 {
    margin-bottom: 10px;
    border-bottom: dotted 1px;
    font-size: 16px;
    font-weight: bold;
}

.line_btn {
	display: block;
	    border: solid 1px #000;
	    padding: 10px;
	    width: 240px;
	    text-align: center;
	    margin: 40px auto 20px;
}
.flow_link_btn{
	margin: 24px auto;
}
.line_btn:hover {
	background:#000;
	color:#fff;
}

.flex_b {
display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.link_btn {
display: block;
border: solid 1px #333;
width: 240px;
margin: 40px auto;
padding: 10px 20px;
font-size: 14px;
background: #fff;
text-align: center;
}
a.link_btn.pdf {
    width: 300px;
    background: #dfc1c1;
}

.link_btn:hover {
background: #eee5e7;
}

.link_btn_a {
    background: #efefef;
    display: inline-block;
    padding: 4px 20px;
    margin: 4px 10px;
}
.link_btn_a:hover {
    background: #c5c5c5;
}

.sp_btn {
display:none;
}

/*go_top*/
.go_top {
position: fixed;
right: 30px;
bottom: 30px;
border: solid 1px #333;
width: 30px;
height: 30px;
line-height: 30px;
text-align: center;
color: #333;
transition-duration: 0.8s;
}
.go_top:before {
content: "↑";
display: block;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
transition: all 0.5s;
}
.go_top:hover {
background: #f5f5f5;
}
.go_top:hover::before {
margin-top: -13px;
}
.sp-block.sp {
	display: none;
}

/* Responsive <br> helpers: use <br class="pc"> / <br class="sp"> in copy to avoid awkward mobile breaks. */
br.pc { display: inline; }
br.sp { display: none; }
