@charset "utf-8";

/*-------------------------------------------
@body
-------------------------------------------*/
html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

*, *::before, *::after {
    box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
	letter-spacing: -0.2rem;
    font-family: 'DFSinSoPro6N-W3', serif;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(12.00px, calc(1.44vw + -2.77px), 18.00px);/* 適用範囲: 1024px ` 1440px */
	line-height: 1.5;
	color: #000000;
}

/*Google翻訳で翻訳されたページはletter-spacingを戻す*/
html.translated-ltr body,
html.translated-rtl body,
html.translated-ltr body *,
html.translated-rtl body * {
    letter-spacing: normal !important;
    font-family: neue-haas-grotesk-display, sans-serif !important;
	font-weight: 300;
	font-style: normal;
}

/* Google翻訳時は半角調整も解除 */
html.translated-ltr .top_future_ex_title font,
html.translated-rtl .top_future_ex_title font {
    white-space: normal;
}

/* Google翻訳時は半角調整も解除 */
html.translated-ltr span.hankakuAll,
html.translated-rtl span.hankakuAll {
    padding-left: 0;
    margin-right: 0;
}

/* Google翻訳時は.has-bracketでできる謎の [ を削除 */
html.translated-ltr .has-bracket font font,
html.translated-rtl .has-bracket font font {
    display: none;
}

span.hankakuAll {
	display: inline-block;
	font-family: neue-haas-grotesk-display, sans-serif !important;
	font-weight: 300;
	font-style: normal;
	letter-spacing: 1px;
	padding-left: 2px;
	margin-right: -2px;
}

/*-------------------------------------------
@heading
-------------------------------------------*/

h1,h2,h3,h4,h5,h6,
p,ul,ol,li,dl,dt,dd,
table,tr,th,td,address,form,
pre, code {
margin:0;
padding:0;
border:none;
font-size:100%;
}


/*-------------------------------------------
@p
-------------------------------------------*/

p{ margin-bottom:13px;}

/*-------------------------------------------
@image
-------------------------------------------*/

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

img.nodisplay{
display:none;
}

/*-------------------------------------------
@hr
-------------------------------------------*/

hr{
position:absolute;
left:-9999em;
width:10px;
height:0;
}

/*-------------------------------------------
@a
-------------------------------------------*/

a{color:#000000;text-decoration:none;}
a:hover{text-decoration:none;}

a.link{color:#000000; border-bottom: 1px solid #000000;}
a.link:hover{text-decoration:none !important; border-bottom: 1px solid #000000;}

/*-------------------------------------------
@strong/em
-------------------------------------------*/

strong{
font-weight:bold;
color:#333333;}

em{
font-style:normal;
color:#000574;
background:#f2d8d4;
margin:0px 3px;
padding:0px 3px;
}

/*-------------------------------------------
@table
-------------------------------------------*/

table{ border-collapse:collapse;}
table th,
table td{
vertical-align:center;
text-align:left;
}

.clear{
clear:both;
}
/* new clearfix */
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
	}
/*-------------------------------------------
@other
-------------------------------------------*/
.has-bracket-parent {
    text-indent: -0.6em;
    /*padding-left: 1em;*/
}

.has-bracket {
    display: inline-block;
    letter-spacing: -0.1em;
    background-color: transparent !important;
}

.ut-mb0 {
    margin-bottom: 0;
}
