﻿/*!リセット*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}
html{line-height:1}
ol,ul{list-style:none}
table{border-collapse:collapse;border-spacing:0}
caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}
q,blockquote{quotes:none}
q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}
a img{border:none}
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}

/*==============!全体設定==============*/
html{font-size:62.5%}

.clearfix:before,.clearfix:after{content:" ";display:table}
.clearfix:after{clear:both}

/*フォント設定*/
html,body{font-family:"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",sans-serif}
/*フォント明朝*/
.ffM{font-family:"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ryo-display-plusn",serif}
*{font-size:14px;font-size:1.4rem;box-sizing:border-box}

/*フォントカラー*/
p,span,a,em,time,h1,h2,h3,h4{text-decoration:none;color:#333333}

a,input,textarea,button{outline:none}img{vertical-align:bottom;max-width:100%;height:auto}
b,strong{font-weight:700}

a.link-disabled{cursor:default}

main{overflow:hidden;position:relative}
@media only screen and (max-width: 768px){main{margin-top:50px}}
#wrap{position:relative}
.full-width{width:100%}

*{
    font-feature-settings:"pkna";
    -moz-font-feature-settings:"pkna";
    -webkit-font-feature-settings:"pkna";
}
p {
    word-break: break-all;
}
section{line-height: 2;}

/*ローディング中エフェクト*/
#loadingWhole{position:fixed;width:100%;height:100%;z-index:99999;top:0;left:0;background:rgba(0,0,0,0.2);display:none}
#loadingWhole
.spinner{width:40px;height:40px;position:absolute;top:0;bottom:0;right:0;left:0;margin:auto;background-color:#354ab2;border-radius:100%;-webkit-animation:sk-scaleout 1.0s infinite ease-in-out;animation:sk-scaleout 1.0s infinite ease-in-out}
@-webkit-keyframes sk-scaleout{0%{-webkit-transform:scale(0)}100%{-webkit-transform:scale(1);opacity:0}}
@keyframes sk-scaleout{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}

/*==============!パーツ設定==============*/

/*!下ページタイトル*/
.pageTitle{text-align:center;margin:0 0 48px}
@media only screen and (max-width: 768px){.pageTitle{margin:0 0 42px}}
.pageTitle span{display:block;letter-spacing:0.075em}

/*!下ページタイトルメイン*/
.pageTitle span.main{font-size:54px;font-size:5.4rem;font-family:"Playfair Display";font-weight:400;font-style:normal;font-style:italic;line-height:1.92592593}
@media only screen and (max-width: 768px){.pageTitle span.main{font-size:28px;font-size:2.8rem}}

/*!下ページタイトルサブ*/
.pageTitle span.sub{font-size:18px;font-size:1.8rem;font-family:"游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ryo-display-plusn",serif;line-height:2.22222222}
@media only screen and (max-width: 768px){.pageTitle span.sub{font-size:14px;font-size:1.4rem}}


/*==============!ヘッダー設定==============*/
header{margin-top:15px}
@media only screen and (max-width: 768px){header{margin-top:0px;position:fixed;top:0;left:0;width:100%;background-color:#ededed;z-index:9999}}

header .header-info h1 {
    font-size: 10px;
    font-size: 1rem;
    letter-spacing: 0.001em;
    text-align: right;
    color: #808080;

}
/*ヘッダーボタン*/
.btn00 a{display:inline-block;letter-spacing:0.075em;font-size:13px;font-size:1.3rem;width:138px;line-height:38px;text-align:center;color:#333333;border:1px solid #d9d9d9;background:#ededed;margin-left:15px;-moz-transition:all .3s;-o-transition:all .3s;-webkit-transition:all .3s;transition:all .3s}
.btn00 a:hover{border:1px solid #1a1a1a;background:#333333;color:#fff}

/*ロゴ*/
header .header-brand{float:left;margin-top:25px}
@media only screen and (max-width: 768px){header .header-brand{float:none;margin-top:0px;position:relative;padding:17.5px 0}}
header .header-brand__img{display:block;position:relative}
@media only screen and (max-width: 768px){header .header-brand__img{width:180px;margin:0 auto}}
header .header-brand__img .string{width:250px;height:30px}
@media only screen and (max-width: 768px){header .header-brand__img .strin{width:180px;height:20px}}
header .header-brand__img:hover{opacity: 0.7;transition: opacity 0.3s;}/*マウスオーバー*/



/*==============!レスポンシブ設定==============*/
.display-sp{display:none !important}
@media only screen and (max-width: 768px){.display-sp{display:block !important}}
@media only screen and (max-width: 768px){.hidden-sp{display:none !important}}
@media only screen and (max-width: 768px){.pc{display:none !important}}
.sp{display:none !important}
@media only screen and (max-width: 768px){.sp{display:inline-block !important}}


/*ボックス*/
.inner,.inner-min{width:100%;box-sizing:border-box;padding:0 55px;margin:0 auto}
@media only screen and (max-width: 768px){.inner,.inner-min{padding:0 10px}}

.inner-min{position:relative;max-width:1150px}
@media only screen and (max-width: 1080px){.inner-min{max-width:100%}}

.row{*zoom:1;font-size:0}
.row:after{content:"";display:table;clear:both}


.alignleft{float:left;margin:0 0.5em 0.5em 0}
.alignright{float:right;margin:0 0 0.5em 0.5em}
.aligncenter{clear:both;display:block;margin:0 auto 0.5em}

.innerB{max-width:880px;margin:auto}
@media only screen and (max-width: 768px){.innerB{width:100%;padding:0 3.125%}}


/*==============!トップページ設定==============*/
/*トップページ三角背景*/
#top #main-visual .bg01{position:absolute;width:0;height:0;border-style:solid;border-color:#354ab2 transparent transparent transparent;top:50px;left:0;z-index:-1;border-width:200px 200px 0 0}




/*==============!フッター設定==============*/
/*トップスクロール*/
#scroll-top{display:block;width:50px;height:50px;background:transparent url(/img/svg/scroll-arrow.svg) center center/10px 32px no-repeat;position:absolute;right:30px;bottom:238px;z-index:99;-moz-transition:all .4s;-o-transition:all .4s;-webkit-transition:all .4s;transition:all .4s}
#scroll-top:hover{background-color:rgba(255,255,255,0.6)}
#scroll-top.fixed{position:fixed;bottom:35px}.opa{opacity:1;-moz-transition:all .3s ease;-o-transition:all .3s ease;-webkit-transition:all .3s ease;transition:all .3s ease}.opa:hover{opacity:0.7}a.disabledLink{cursor:default}
a.disabledLink:hover{opacity:1}




/*モバイル表示左側*/
@media only screen and (max-width: 768px){header .header-brand__left{position:absolute;width:24px;height:24px;left:0;top:15px;display:block}
header .header-brand__left img{width:100%;height:100%}
/*モバイル表示右側*/	
header .header-brand__right{position:absolute;right:0;top:18px}
/*モバイルメニュー*/	
header .header-brand__right__trigger{display:inline-block;width:25px;height:15.5px;vertical-align:middle;margin-left:10px}
header .header-brand__right__trigger span{width:25px;border-top:1px solid;position:relative;display:block;height:15.5px;top:-1px}
header .header-brand__right__trigger span:before,header .header-brand__right__trigger span:after{content:"";width:25px;border-top:1px solid;position:absolute}
header .header-brand__right__trigger span:before{top:7px;left:0}
header .header-brand__right__trigger span:after{bottom:0;left:0}}

/*PC表示右側*/
header .header-info{float:right}
@media only screen and (max-width: 768px){header .header-info{display:none}}
header .header-info h1{font-size:10px;font-size:1rem;letter-spacing:0.001em;text-align:right;color:#808080}
header .header-info__box{margin-top:15px}

header .header-info__box__tel-time{float:left;margin-left:18px}
header .header-info__box__tel-time p{font-family:'Open Sans',sans-serif;font-size:24px;font-size:2.4rem;font-style:italic}
header .header-info__box__tel-time p img{width:20px;height:20px;position:relative;top:-2px;margin-right:3px}
header .header-info__box__tel-time time{font-size:10px;font-size:1rem;letter-spacing:0.075em;display:block;margin-top:5px;box-sizing:border-box;padding-left:25px}
header .header-info__box__btns{float:left;letter-spacing:-.40em;margin-left:5px}


/*グローバルナビ*/
nav{margin:20px 0 0 0;padding:25px 0;background:#ededed}
@media only screen and (max-width: 768px){nav{display:none}}

nav .nav__inner>a{display:none;position:relative;width:120px}/*スクロール固定*/
nav .nav__inner>a img{width:120px;height:14px}
nav .nav__inner ul li{float:left;margin-left:40px}
nav .nav__inner ul li:first-child{margin-left:0}
nav .nav__inner ul li a{display:block;font-size:14px;font-size:1.4rem;position:relative;height:35px}
nav .nav__inner ul li a span{text-align:center;display:block;position:relative;top:0;opacity:1;letter-spacing:0.095em;-moz-transition:all .3s;-o-transition:all .3s;-webkit-transition:all .3s;transition:all .3s;font-style:normal;margin-top: 5px;}
nav .nav__inner ul li a b{text-align:center;display:block;position:relative;top:0;opacity:1;letter-spacing:0;-moz-transition:all .3s;-o-transition:all .3s;-webkit-transition:all .3s;transition:all .3s;font-style:bold; color: #000;font-size:16px;}
nav.fixed{height:65px;position:fixed;top:0;left:0;width:100%;margin-top:0;z-index:9999;padding-bottom:25px;overflow:auto}
nav.fixed>.nav__inner{float:left;width:100%}
nav.fixed>.nav__inner>a{display:block;float:left;margin-left:55px}nav.fixed>.nav__inner>ul{float:left;width:850px;padding-right:0}
nav.fixed>.nav__inner .header-info__box__btns{position:absolute;right:0;top:15px}
nav.fixed>.nav__inner .header-info__box__btns a{width:124px;line-height:30px;height:30px}
.header-links{display:none;border-top:10px solid #f7f7f7;padding-bottom:97px}
@media only screen and (max-width: 768px){.header-links{padding-bottom:0;position:fixed;top:50px;width:100%;z-index:99999;overflow-y:scroll;background:#fff}}

@media only screen and (max-width: 768px){.header-links>.inner-min{padding:0}}
@media only screen and (max-width: 768px){.header-links{border-top:4.5px solid #f7f7f7}}

.header-links a{color:#4d4d4d}

.header-links__link01{padding-left:5px;margin-top:80px;*zoom:1}
@media only screen and (max-width: 768px){.header-links__link01{margin-top:0;padding-left:0}}

.header-links__link01:after{content:"";display:table;clear:both}
.header-links__link01 li{float:left;margin-right:80px}

@media only screen and (max-width: 1150px){.header-links__link01 li{float:left;margin-right:40px}}
@media only screen and (max-width: 950px){.header-links__link01 li{margin-right:20px;line-height:2}}
@media only screen and (max-width: 768px){.header-links__link01 li{margin-top:0;margin-right:0;width:50%}
.header-links__link01 li:nth-child(even){border-left:1px solid #cacaca;box-sizing:border-box}}
.header-links__link01 li:last-child{margin-right:0}
.header-links__link01 li a{font-size:14px;font-size:1.4rem;letter-spacing:0.075em;display:block;text-align:center}
@media only screen and (max-width: 1150px){.header-links__link01 li a{font-size:12px;font-size:1.2rem}}
@media only screen and (max-width: 768px){.header-links__link01 li a{font-size:12px;font-size:1.2rem;text-align:left;box-sizing:border-box;padding-left:10px;background-image:url(/img/icon/gray_arrow.png);background-size:8px 6.5px;background-repeat:no-repeat;background-position:center right 10px;padding-top:15px;padding-bottom:15px;border-bottom:1px solid #cacaca}}



@media only screen and (max-width: 768px){footer .footer-links__link02__sub>ul li,footer .footer-links__link03__sub>ul li{width:100%;margin:0}}
footer .footer-links__link03__sub>ul li{width:16.6666667%}
footer .footer-links__link03__sub>ul li:nth-of-type(9){width:23.3333334%}
footer .footer-links__link03__sub>ul li:nth-of-type(10){width:10%}
@media only screen and (max-width: 768px){footer .footer-links__link03__sub>ul li{width:50%}footer .footer-links__link03__sub>ul li:nth-child(even){border-left:1px solid #cacaca}footer .footer-links__link03__sub>ul li:nth-of-type(9),footer .footer-links__link03__sub>ul li:nth-of-type(10){width:100%;border:0}}footer .footer-links__link03__sub>ul li:nth-of-type(5){clear:both}
@media only screen and (max-width: 768px){footer .footer-links__link03__sub>ul li:nth-of-type(5){clear:none}}footer .footer-links__link04{margin-top:25px;padding-top:25px;padding-left:5px;border-top:1px solid #e6e6e6}
@media only screen and (max-width: 768px){footer .footer-links__link04{margin-top:0;padding-top:0;padding-left:0;border-top:none}}footer .footer-links__link04 li{margin-right:50px}

@media only screen and (max-width: 768px){footer .footer-links__link04 li{margin-right:0;width:50%;box-sizing:border-box;float:left}}footer .footer-links__link04 li a{font-size:12px;font-size:1.2rem}footer .footer-links .sns-facebook{position:absolute;width:20px;height:20px;right:55px;bottom:0}
footer .footer-social-top{*zoom:1;width:100%}footer .footer-social-top:after{content:"";display:table;clear:both}footer footer .footer-social-top .scrolltop{width:10px;height:32px;display:inline-block}
@media only screen and (max-width: 768px){footer .footer-social-top .scrolltop{float:right}
footer .footer-social-top .scrolltop img{height:30px;width:auto}}
@media only screen and (max-width: 768px){footer .footer-social-top{padding:24px 20px}}
footer .footer-bottom{background:#f2f2f2}footer .footer-bottom__brand{float:left;padding:95px 0}
@media only screen and (max-width: 950px){footer .footer-bottom__brand{float:none;width:100%;padding:60px 0 0}}
footer .footer-bottom__brand a{display:block}
@media only screen and (max-width: 768px){footer .footer-bottom__brand a{text-align:center}}
footer .footer-bottom__brand a img{width:100px;height:auto}footer .footer-bottom__offices{float:right;padding:0 0 63px}
@media only screen and (max-width: 950px){footer .footer-bottom__offices{float:none;padding:0 0 50px}}
footer .footer-bottom__offices__box{float:left;margin-right:65px;margin-top:63px}
@media only screen and (max-width: 1150px){footer .footer-bottom__offices__box{margin-right:25px}}
@media only screen and (max-width: 950px){footer .footer-bottom__offices__box{margin-top:50px}}
footer .footer-bottom__offices__box:last-child{margin-right:0}
footer .footer-bottom__offices__box__name{font-size:12px;font-size:1.2rem;font-style:italic;letter-spacing:0.075em}
footer .footer-bottom__offices__box__info{margin-top:15px;font-size:12px;font-size:1.2rem;line-height:20px;letter-spacing:0.075em}
footer .footer-bottom__copy p{color:#808080;font-size:10px;font-size:1rem;letter-spacing:0.075em;text-align:center;padding-bottom:15px}
@media only screen and (max-width: 768px){footer .footer-bottom__copy p{line-height:16px;font-size:8px;font-size:.8rem;padding-bottom:10px}}



#top section .inner{max-width:1124px}
#top section .inner>h2{font-size:58px;font-size:5.8rem;letter-spacing:0.075em;text-align:center;font-style:italic}
@media only screen and (max-width: 768px){#top section .inner>h2{font-size:29px;font-size:2.9rem}}
#top #main-visual{position:relative;padding:0 55px}
@media only screen and (max-width: 768px){#top #main-visual{padding:0 10px}
}


#top #main-visual .inner{max-width:100%;position:relative;padding:0}
#top #main-visual h2{text-align:left;color:#fff;font-size:30px;font-size:3rem;line-height:52px;letter-spacing:0.115em;position:absolute;top:0;bottom:0;font-style:normal;margin:auto;height:120px;width:530px;right:0}
@media only screen and (max-width: 1280px){#top #main-visual h2{font-size:26px;font-size:2.6rem;line-height:48px;width:470px}}
@media only screen and (max-width: 1000px){#top #main-visual h2{width:330px;font-size:20px;font-size:2rem;line-height:38px;height:80px}}
@media only screen and (max-width: 768px){#top #main-visual h2{font-size:14px;font-size:1.4rem;line-height:27px;height:50px;width:100%;text-align:center}}



#mission{padding:0 30px 90px}

@media only screen and (max-width: 768px){#mission{padding:25px 0 40px}}

#mission .row{margin-top:25px}





.staff-cmpt__detail__table{width:100%;color:#4d4d4d;font-size:14px;line-height:29px;letter-spacing:0.075em}
@media only screen and (max-width: 768px){.staff-cmpt__detail__table{font-size:11px;line-height:17px}}
.staff-cmpt__detail__table tr td{border-bottom:1px solid #ccc;padding:17px 0;vertical-align:top}@media only screen and (max-width: 768px){.staff-cmpt__detail__table tr td{padding:10px 0}}
.staff-cmpt__detail__table tr td:first-child{width:180px}
@media only screen and (max-width: 768px){.staff-cmpt__detail__table tr td:first-child{width:90px}}
.staff-cmpt__detail__table tr td.top10{padding-top:10px}


@media only screen and (max-width: 768px){#philosophy 
#philosophyWrap #nameBox{margin:26px 0 0}}
#philosophy #philosophyWrap #nameBox .text{display:inline-block;text-align:left}
@media only screen and (max-width: 768px){#philosophy #philosophyWrap #nameBox .text{font-size:11px;font-size:1.1rem;line-height:1.45454545}}
#philosophy #philosophyWrap #nameBox img{display:inline-block;width:150px;height:auto;margin:10px 0 0}
@media only screen and (max-width: 768px){#philosophy #philosophyWrap #nameBox img{width:118px;margin:6px 0 0}}
#vietnam #visual{margin:60px 0 0}
@media only screen and (max-width: 768px){#vietnam #visual{margin:40px 0 0}}
#vietnam #visual .pc{display:block}
@media only screen and (max-width: 768px){#vietnam #visual .pc{display:none}}
#vietnam #visual .sp{display:none}
@media only screen and (max-width: 768px){#vietnam #visual .sp{display:block}}
#vietnam #intro{margin:110px 0 0}




.outline__content{padding:36px 0 150px}
@media only screen and (max-width: 768px){.outline__content{padding:0 0 80px}}

