@charset "utf-8";

/*
Theme Name: Tengen Holdings
*/

/*===========================================
Foundation
===========================================*/
/* ress.min.css */
html{box-sizing:border-box;-webkit-text-size-adjust:100%;word-break:normal;-moz-tab-size:4;tab-size:4}*,::before,::after{background-repeat:no-repeat;box-sizing:inherit}::before,::after{text-decoration:inherit;vertical-align:inherit}*{padding:0;margin:0}hr{overflow:visible;height:0;color:inherit}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type='number']::-webkit-inner-spin-button,[type='number']::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}[type='search']::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}button,[type='button'],[type='reset'],[type='submit'],[role='button']{cursor:pointer}button::-moz-focus-inner,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner{outline:1px dotted ButtonText}button,html [type='button'],[type='reset'],[type='submit']{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal;max-width:100%}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy='true']{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled='true']{cursor:default}

/* scroll-hint.css */
@keyframes scroll-hint-appear{0%{transform:translateX(40px);opacity:0}10%{opacity:1}50%,100%{transform:translateX(-40px);opacity:0}}.scroll-hint.is-right-scrollable{background:linear-gradient(270deg,rgba(0,0,0,.15) 0,rgba(0,0,0,0) 16px,rgba(0,0,0,0))}.scroll-hint.is-right-scrollable.is-left-scrollable{background:linear-gradient(90deg,rgba(0,0,0,.15) 0,rgba(0,0,0,0) 16px,rgba(0,0,0,0)),linear-gradient(270deg,rgba(0,0,0,.15) 0,rgba(0,0,0,0) 16px,rgba(0,0,0,0))}.scroll-hint.is-left-scrollable{background:linear-gradient(90deg,rgba(0,0,0,.15) 0,rgba(0,0,0,0) 16px,rgba(0,0,0,0))}.scroll-hint-icon{position:absolute;top:calc(50% - 25px);left:calc(50% - 60px);box-sizing:border-box;width:120px;height:80px;border-radius:5px;transition:opacity.3s;opacity:0;background:rgba(0,0,0,.7);text-align:center;padding:20px 10px 10px 10px}.scroll-hint-icon-wrap{position:absolute;top:0;left:0;width:100%;height:100%;max-height:100%;pointer-events:none}.scroll-hint-text{font-size:10px;color:#FFF;margin-top:5px}.scroll-hint-icon-wrap.is-active .scroll-hint-icon{opacity:.8}.scroll-hint-icon:before{display:inline-block;width:40px;height:40px;color:#FFF;vertical-align:middle;text-align:center;content:"";background-size:contain;background-position:center center;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=)}.scroll-hint-icon:after{content:"";width:34px;height:14px;display:block;position:absolute;top:10px;left:50%;margin-left:-20px;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);opacity:0;transition-delay:2.4s}.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after{opacity:1}.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before{animation:scroll-hint-appear 1.2s linear;animation-iteration-count:2}.scroll-hint-icon-white{background-color:#FFF;box-shadow:0 4px 5px rgba(0,0,0,.4)}.scroll-hint-icon-white:before{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=)}.scroll-hint-icon-white:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==)}.scroll-hint-icon-white .scroll-hint-text{color:#000}

/* Noto Sans Japanese */
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("./lib/fonts/Noto_Sans_JP/NotoSansJP-Regular.woff2") format("woff2"), url("./lib/fonts/Noto_Sans_JP/NotoSansJP-Regular.woff") format("woff"), url("./lib/fonts/Noto_Sans_JP/NotoSansJP-Regular.otf") format("opentype");
}

@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("./lib/fonts/Noto_Sans_JP/NotoSansJP-Medium.woff2") format("woff2"), url("./lib/fonts/Noto_Sans_JP/NotoSansJP-Medium.woff") format("woff"), url("./lib/fonts/Noto_Sans_JP/NotoSansJP-Medium.otf") format("opentype");
}

@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("./lib/fonts/Noto_Sans_JP/NotoSansJP-Bold.woff2") format("woff2"), url("./lib/fonts/Noto_Sans_JP/NotoSansJP-Bold.woff") format("woff"), url("./lib/fonts/Noto_Sans_JP/NotoSansJP-Bold.otf") format("opentype");
}

/* Poppins */
@font-face {
  font-display: swap;
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  src: url("./lib/fonts/Poppins/Poppins-Regular.woff2") format("woff2"), url("./lib/fonts/Poppins/Poppins-Regular.woff") format("woff"), url("./lib/fonts/Poppins/Poppins-Regular.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  src: url("./lib/fonts/Poppins/Poppins-Medium.woff2") format("woff2"), url("./lib/fonts/Poppins/Poppins-Medium.woff") format("woff"), url("./lib/fonts/Poppins/Poppins-Medium.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  src: url("./lib/fonts/Poppins/Poppins-Bold.woff2") format("woff2"), url("./lib/fonts/Poppins/Poppins-Bold.woff") format("woff"), url("./lib/fonts/Poppins/Poppins-Bold.ttf") format("truetype");
}

/* Jost */
@font-face {
  font-display: swap;
  font-family: "Jost";
  font-style: normal;
  font-weight: 400;
  src: url("./lib/fonts/Jost/static/Jost-Regular.woff2") format("woff2"), url("./lib/fonts/Jost/static/Jost-Regular.woff") format("woff"), url("./lib/fonts/Jost/static/Jost-Regular.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Jost";
  font-style: normal;
  font-weight: 500;
  src: url("./lib/fonts/Jost/static/Jost-Medium.woff2") format("woff2"), url("./lib/fonts/Jost/static/Jost-Medium.woff") format("woff"), url("./lib/fonts/Jost/static/Jost-Medium.ttf") format("truetype");
}

@font-face {
  font-display: swap;
  font-family: "Jost";
  font-style: normal;
  font-weight: 700;
  src: url("./lib/fonts/Jost/static/Jost-Bold.woff2") format("woff2"), url("./lib/fonts/Jost/static/Jost-Bold.woff") format("woff"), url("./lib/fonts/Jost/static/Jost-Bold.ttf") format("truetype");
}

:root {
  /* ベースカラー */
  --base-color-primary: #fefefe;
  /* テキストカラー */
  --text-color-primary: #000;
  --text-color-primary-rgb: 0, 0, 0;
  --text-color-primary-contrast: #fff;
}

body {
  background: var(--base-color-primary);
  color: var(--text-color-primary);
  font-family: Helvetica;
  font-family: Helvetica, 'Helvetica Neue', Arial, 'Lucida Grande', sans-serif;
  /*font-weight: 300;*/
  /*font-feature-settings: "palt";*/
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.8;
}

body:lang(ja) h1,
body:lang(ja) h2,
body:lang(ja) h3,
body:lang(ja) h4,
body:lang(ja) h5,
body:lang(ja) h6,
body:lang(ja) time,
body:lang(ja) li,
body:lang(ja) p {
  /*letter-spacing: .04em;*/
}

body:lang(ja) time {
  letter-spacing: 0.04em;
}

textarea {
  border-radius: 0;
  vertical-align: bottom;
}

picture {
  display: block;
}

address {
  font-style: normal;
}

iframe {
  vertical-align: bottom;
}

table {
  width: 100%;
  border-collapse: collapse;
}

video {
  vertical-align: bottom;
}

time {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

li {
  list-style-type: none;
}

a {
  text-decoration: none;
}

@media screen and (max-width: 767px) {



}

/*===========================================
Layout
===========================================*/
.l-wrapper {
  overflow: clip;
  min-width: calc(1216px + (24px * 2));
  margin: 0 auto;
  padding-top: 56px;
}

.l-container {
  width: min(100%, calc(800px + (24px * 2)));
  margin: 0 auto;
  padding: 80px 24px;
}

.l-container__columns {
  display: grid;
  grid-template-columns: 1fr 250px;
  gap: 0 48px;
}

.l-container__column:nth-child(2) {
  padding-top: 14px;
}

.l-outer {
  padding: 144px 0;
  padding: 160px 0;
}

.l-inner {
  width: min(100%, calc(960px + (24px * 2)));
  width: min(100%, calc(1020px + (24px * 2)));
  margin: 0 auto;
  padding: 0 24px;
}

.l-inner--wide {
  width: min(100%, calc(1156px + (24px * 2)));
}

.l-inner--narrow {
  width: min(100%, calc(864px + (24px * 2)));
}

@media screen and (max-width: 767px) {

  .l-wrapper {
    min-width: 100%;
    padding-top: 73px;
  }

  .l-container {
    padding: 80px 24px;
  }

  .l-outer {
    padding: 72px 0;
  }

}

/*===========================================
Object
===========================================*/
/*-------------------------------------------
Component
-------------------------------------------*/
/* 見出し */
.c-heading {
  /*color: #3e423f;
  color: #003366;*/
  font-family: "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-size: 64px;
  font-size: 62px;
  font-size: 42px;
  font-weight: 500;
  line-height: 1.5;
}

.c-heading:after {
  display: block;
  margin-bottom: -8px;
  font-family: "EB Garamond", serif;
  font-size: 18px;
  content: attr(data-title);
}

@media screen and (max-width: 767px) {

  .c-heading {
    font-size: 24px;
    text-align: center;
  }

  .c-heading:after {
    font-size: 14px;
  }

}

/* ボタン */
.c-button {
  display: inline-block;
  position: relative;
  padding: 8px 16px;
  padding: 12px 40px 12px 16px;
  min-width: 200px;
  border-radius: 3px;
  background: linear-gradient(95deg, #172968 32.11%, #336190 77.45%, #16296F 97.22%);
  background: linear-gradient(95deg, #212121 32.11%, #5e5e5e 77.45%, #2b2b2b 97.22%);
  background: linear-gradient(95deg, #212121 32.11%, #5e5e5e 77.45%, #2b2b2b 97.22%);
  color: #fff;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: .08em;
  transition: opacity .6s;
}

.c-button:hover {
  opacity: .6;
}

.c-button:after {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%0A%20%20%3Cg%20id%3D%22Group_11870%22%20data-name%3D%22Group%2011870%22%20transform%3D%22translate(-842%20-990.5)%22%3E%0A%20%20%20%20%3Cpath%20id%3D%22Path_46400%22%20data-name%3D%22Path%2046400%22%20d%3D%22M11.495-10.7v7.665L6.495-.7Z%22%20transform%3D%22translate(841.3%20984.005)%20rotate(90)%22%20fill%3D%22%23ffffff%22%2F%3E%0A%20%20%20%20%3Cpath%20id%3D%22Path_46401%22%20data-name%3D%22Path%2046401%22%20d%3D%22M5%2C10V2.335L0%2C0Z%22%20transform%3D%22translate(842%201000.5)%20rotate(-90)%22%20fill%3D%22%23ffffff%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center / contain;
  content: '';
}

@media screen and (max-width: 767px) {



}

/*-------------------------------------------
Project
-------------------------------------------*/

/* 天元ホールディングスについて */
.p-top-about {
  padding: 80px 0 88px;
}

.p-top-about__container {
  display: grid;
  /*grid-template-columns: 1fr 902px;*/
  grid-template-columns: 280px 1fr;
  gap: 0 32px;
}

.p-top-about__body {
  padding-top: 12px;
  padding-top: 4px;
}

.p-top-about__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 32px;
  gap: 48px 32px;
}

.p-top-about__card a {
  transition: opacity .6s;
}

.p-top-about__card a:hover {
  opacity: .6;
}

.p-top-about-card__image img {
  width: 100%;
  aspect-ratio: 2 / 1;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.p-top-about-card__heading {
  margin-top: 12px;
  color: #3e423f;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .04em;
}

.p-top-about-card__heading:after {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 16px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%0A%20%20%3Cg%20id%3D%22Group_11870%22%20data-name%3D%22Group%2011870%22%20transform%3D%22translate(-842%20-990.5)%22%3E%0A%20%20%20%20%3Cpath%20id%3D%22Path_46400%22%20data-name%3D%22Path%2046400%22%20d%3D%22M11.495-10.7v7.665L6.495-.7Z%22%20transform%3D%22translate(841.3%20984.005)%20rotate(90)%22%20fill%3D%22%23212121%22%2F%3E%0A%20%20%20%20%3Cpath%20id%3D%22Path_46401%22%20data-name%3D%22Path%2046401%22%20d%3D%22M5%2C10V2.335L0%2C0Z%22%20transform%3D%22translate(842%201000.5)%20rotate(-90)%22%20fill%3D%22%23212121%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center / contain;
  vertical-align: 2px;
  content: '';
}

@media screen and (max-width: 767px) {

  .p-top-about {
    padding: 48px 0 56px;
  }

  .p-top-about__container {
    grid-template-columns: none;
    gap: 32px 0;
  }

  .p-top-about__body {
    padding-top: 0;
  }

  .p-top-about__cards {
    grid-template-columns: none;
    gap: 32px 0;
    gap: 24px 0;
  }

  .p-top-about-card__heading {
    margin-top: 8px;
    font-size: 16px;
  }

  .p-top-about-card__heading:after {
    width: 8px;
    height: 8px;
    margin-left: 12px;
  }

}

/*  */
.p-top-menu {
  padding: 56px 0 48px;
  background: #f7f6f4;
  background: #f5f2ef;
  background: #f4f2f1;
}

.p-top-menu__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 32px;
}

.p-top-menu__card a {
  transition: opacity .6s;
}

.p-top-menu__card a:hover {
  opacity: .6;
}

.p-top-menu-card__image img {
  width: 100%;
  aspect-ratio: 2 / 1;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.p-top-menu-card__heading {
  margin-top: 12px;
  color: #3e423f;
  font-size: 17px;
  font-weight: 500;
  letter-spacing: .04em;
}

.p-top-menu-card__heading:after {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 16px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%0A%20%20%3Cg%20id%3D%22Group_11870%22%20data-name%3D%22Group%2011870%22%20transform%3D%22translate(-842%20-990.5)%22%3E%0A%20%20%20%20%3Cpath%20id%3D%22Path_46400%22%20data-name%3D%22Path%2046400%22%20d%3D%22M11.495-10.7v7.665L6.495-.7Z%22%20transform%3D%22translate(841.3%20984.005)%20rotate(90)%22%20fill%3D%22%23212121%22%2F%3E%0A%20%20%20%20%3Cpath%20id%3D%22Path_46401%22%20data-name%3D%22Path%2046401%22%20d%3D%22M5%2C10V2.335L0%2C0Z%22%20transform%3D%22translate(842%201000.5)%20rotate(-90)%22%20fill%3D%22%23212121%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center / contain;
  vertical-align: 2px;
  content: '';
}

@media screen and (max-width: 767px) {

  .p-top-menu {
    padding: 40px 0 32px;
  }

  .p-top-menu__cards {
    grid-template-columns: none;
    gap: 32px 0;
    gap: 24px 0;
  }

  .p-top-menu-card__heading {
    margin-top: 8px;
    font-size: 16px;
  }

  .p-top-menu-card__heading:after {
    width: 8px;
    height: 8px;
    margin-left: 12px;
  }

}


.p-article {

}

.p-article > :first-child {
  margin-top: 0!important;
}

.p-article a {
  color: var(--text-color-primary);
  border-bottom: 1px solid #e1e3e6;
  transition: opacity .6s;
}

.p-article a:hover {
  opacity: .6;
}

.p-article a[target=_blank]:after {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-left: 4px;
  margin-left: 8px;
  background: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%3E%3Cg%20fill%3D%22%23212121%22%3E%3Cpath%20d%3D%22M10%204H9V1H6V0h4Z%22%2F%3E%3Cpath%20d%3D%22m5.369%205.369-.707-.707L9.068.256l.707.707Z%22%2F%3E%3Cpath%20d%3D%22M10%2010H0V0h4.016v1H1v8h8V6.005h1Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E) no-repeat center / contain;
  content: '';
}

/* 見出し */
.p-article h2.wp-block-heading,
.p-article h3.wp-block-heading {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
}

.p-article h2.wp-block-heading {
  position: relative;
  margin: 120px 0 64px;
  padding-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e6e6e6;
  font-family: "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-size: 32px;
}

.p-article h2.wp-block-heading:before {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 54px;
  width: 40px;
  height: 1px;
  background: #212121;
  content: '';
}

.p-article h3.wp-block-heading {
  margin: 80px 0 32px;
  padding: 10px 16px 6px;
  background: #f3f3f5;
  background: #f4f2f1;
  font-size: 28px;
}

@media screen and (max-width: 767px) {

  .p-article h2.wp-block-heading {
    margin: 64px 0 40px;
    padding-bottom: 16px;
    font-size: 24px;
  }

  .p-article h3.wp-block-heading {
    margin: 56px 0 24px;
    padding: 8px 12px 6px;
    font-size: 22px;
  }

}

/* カラム */
.p-article .wp-block-columns {
  display: flex;
  gap: 0 40px;
  margin-top: 48px;
}

.p-article .wp-block-column {
  width: 100%;
}

.p-article .wp-block-column > :first-child {
  margin-top: 0!important;
}

@media screen and (max-width: 767px) {

  .p-article .wp-block-columns {
    flex-direction: column;
    gap: 40px 0;
    gap: 32px 0;
    margin-top: 24px;
  }

}

/* テーブル */
.p-article .wp-block-table table {
  table-layout: fixed;
  border-collapse: collapse;
  border: 1px solid #f5f2ef;
  border: 1px solid #e6e6e6;
}

.p-article .wp-block-table th,
.p-article .wp-block-table td {
  padding: 16px 24px;
}

.p-article .wp-block-table th {
  width: 224px;
  width: 240px;
  background: #f5f2ef;
  background: #e6e6e6;
  background: #e6e6eb;
  background: #f4f2f1;
  font-weight: 400;
  text-align: left;
  vertical-align: top;
}

.p-article .wp-block-table tr:nth-child(n + 2) th {
  border-top: 1px solid #fff;
  border-top: 1px solid #e6e6eb;
}

.p-article .wp-block-table tr:nth-child(n + 2) td {
  border-top: 1px solid #f5f2ef;
  border-top: 1px solid #e6e6e6;
  border-top: 1px solid #e6e6eb;
}

@media screen and (max-width: 767px) {

  .p-article .wp-block-table th,
  .p-article .wp-block-table td {
    display: block;
    font-size: 14px;
  }

  .p-article .wp-block-table th {
    width: 100%;
    padding: 12px 16px;
    padding: 8px 16px;
  }

  .p-article .wp-block-table tr:nth-child(n + 2) th,
  .p-article .wp-block-table tr:nth-child(n + 2) td {
    border-top: none;
  }

  .p-article .wp-block-table td {
    padding: 16px;
  }

}

/* リスト */
/*.p-article ol,
.p-article ul {
  margin-top: 32px;
}*/

.p-article ol li,
.p-article ul li {
  position: relative;
  padding-left: 16px;
  padding-left: 12px;
}

.p-article ol ol,
.p-article ul ul {
  margin-top: 4px;
}

.p-article ol li:nth-child(n + 2),
.p-article ul li:nth-child(n + 2) {
  margin-top: 8px;
  margin-top: 4px;
}

.p-article ul li:before {
  position: absolute;
  top: calc((16px * 1.8 / 2) - (4px / 2));
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #c4c6cc;
  background: #ebe7e4;
  content: '';
}

@media screen and (max-width: 767px) {

  .p-article ol li,
  .p-article ul li {
    font-size: 15px;
  }

  .p-article ul li:before {
    top: calc((15px * 1.8 / 2) - (4px / 2));
  }

}

/* 画像 */
.p-article .wp-block-image figcaption {
  color: #353535;
  font-size: 14px;
}

.p-article .wp-block-image.caption-align-center figcaption {
  text-align: center;
}

.p-article .wp-block-image.caption-align-right figcaption {
  text-align: right;
}

.p-article .wp-block-image img + figcaption,
.p-article .wp-block-image figcaption + img {
  margin-top: 8px;
  margin-top: 12px;
}

@media screen and (max-width: 767px) {

  /*.p-article .wp-block-image img + figcaption,
  .p-article .wp-block-image figcaption + img {
    margin-top: 4px;
  }*/

}

/* 段落 */
.p-article p {
  margin-top: 32px;
}

.p-article p.has-text-align-right {
  text-align: right;
}

@media screen and (max-width: 767px) {

  .p-article p {
    margin-top: 24px;
    font-size: 15px;
  }

}

/* ボタン */
.p-article .wp-block-button {
  margin-top: 32px;
}

.p-article .wp-block-button a {
  display: inline-block;
  position: relative;
  min-width: 200px;
  padding: 8px 40px 8px 16px;
  border-radius: 3px;
  background: linear-gradient(95deg, #172968 32.11%, #336190 77.45%, #16296F 97.22%);
  background: linear-gradient(95deg, #212121 32.11%, #5e5e5e 77.45%, #2b2b2b 97.22%);
  color: #fff;
  font-size: 15px;
  letter-spacing: .08em;
  transition: opacity .6s;
}

.p-article .wp-block-button a:hover {
  opacity: .6;
}

.p-article .wp-block-button a:after {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%2210%22%20viewBox%3D%220%200%2010%2010%22%3E%0A%20%20%3Cg%20id%3D%22Group_11870%22%20data-name%3D%22Group%2011870%22%20transform%3D%22translate(-842%20-990.5)%22%3E%0A%20%20%20%20%3Cpath%20id%3D%22Path_46400%22%20data-name%3D%22Path%2046400%22%20d%3D%22M11.495-10.7v7.665L6.495-.7Z%22%20transform%3D%22translate(841.3%20984.005)%20rotate(90)%22%20fill%3D%22%23ffffff%22%2F%3E%0A%20%20%20%20%3Cpath%20id%3D%22Path_46401%22%20data-name%3D%22Path%2046401%22%20d%3D%22M5%2C10V2.335L0%2C0Z%22%20transform%3D%22translate(842%201000.5)%20rotate(-90)%22%20fill%3D%22%23ffffff%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A") no-repeat center / contain;
  content: '';
}

@media screen and (max-width: 767px) {



}

/* マップ */
.p-article__map {
  margin-top: 40px;
  margin-top: 32px;
}

.p-article__map iframe {
  width: 100%;
  height: 448px;
}

@media screen and (max-width: 767px) {

  /* マップ */
  .p-article__map {
    margin-top: 24px;
  }

  .p-article__map iframe {
    height: 400px;
  }

}

/* 会社情報 */
.p-company__cards {
  /*display: flex;
  flex-wrap: wrap;*/
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px 32px;
  gap: 64px 40px;
  gap: 80px 64px;
}

/*.p-company__card:nth-child(-n + 2) {
  width: calc((100% - 40px) / 2);
}

.p-company__card:nth-child(n + 3) {
  width: calc((100% - (40px * 2)) / 3);
}*/

.p-company__card a {
  display: block;
  transition: opacity .6s;
}

.p-company__card a:hover {
  opacity: .6;
}

.p-company-card__heading {
  color: var(--text-color-primary);
  font-family: "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: .04em;
}

.p-company-card__image {
  overflow: hidden;
  margin-top: 24px;
  margin-top: 16px;
  border-radius: 3px;
}

.p-company-card__image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  aspect-ratio: 2 / 1;
  object-fit: cover;
}

.p-company-card__desc {
  margin-top: 16px;
  color: var(--text-color-primary);
}

.p-company-card__button {
  margin-top: 24px;
}

@media screen and (max-width: 767px) {

  .p-company__cards {
    /*flex-direction: column;*/
    grid-template-columns: none;
    gap: 64px 0;
    gap: 72px 0;
  }

  /*.p-company__card:nth-child(-n + 2),
  .p-company__card:nth-child(n + 3) {
    width: 100%;
  }*/

  .p-company-card__heading {
    font-size: 20px;
    font-size: 22px;
  }

  .p-company-card__desc {
    font-size: 15px;
    line-height: 1.7;
  }

}

/* 役員一覧 */
.p-officer__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 64px 32px;
  gap: 64px 40px;
}

.p-officer-card__image {
  overflow: hidden;
  border-radius: 3px;
}

.p-officer-card__image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

.p-officer-card__position {
  margin-top: 24px;
  color: #6e6e6e;
  font-size: 14px;
  font-weight: 500;
}

.p-officer-card__name {
  font-family: "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "Noto Serif JP", sans-serif;
  font-size: 28px;
  font-weight: 500;
}

.p-officer-card__introduction {
  margin-top: 24px;
  margin-top: 16px;
}

@media screen and (max-width: 767px) {

  .p-officer__cards {
    grid-template-columns: none;
    gap: 40px 0;
    gap: 48px 0;
  }

  .p-officer-card__position {
    margin-top: 16px;
  }

  .p-officer-card__name {
    font-size: 24px;
  }

  .p-officer-card__introduction {
    margin-top: 12px;
    margin-top: 8px;
  }

}







/*===========================================
Layout
===========================================*/
/* ヘッダー */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  padding: 0 24px;
  border-bottom: 1px solid #ececec;
  border-bottom: 1px solid rgba(0, 0, 0, .3);
  background: #fff;
}

.l-header__columns {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.l-header__logo {
  transform: translateY(3px);
  width: 208px;
  width: 200px;
  width: 180px;
  transform: translateY(0px);
  line-height: 1px;
}

.l-header__logo a {
  display: block;
  transition: opacity .6s;
}

.l-header__logo a:hover {
  opacity: .6;
}

.l-header__drawer {
  display: flex;
  align-items: center;
  gap: 0 calc(32px - 16px);
  gap: 0 32px;
}

.l-nav__list:after {
  display: inline-block;
  width: 1px;
  height: 14px;
  margin-left: 16px;
  background: #000;
  content: '';
}

.l-nav__list {
  display: flex;
  align-items: center;
}

.l-nav__item a {
  display: inline-block;
  position: relative;
  padding: 16px;
  padding: 14px 16px;
  color: rgba(var(--text-color-primary-rgb), .8);
  font-size: 12px;
  font-size: 14px;
  line-height: 2;
  text-transform: capitalize;
  transition: opacity .6s;
}

.l-nav__item a:hover {
  opacity: .6;
}

.gtranslate .gtranslate_wrapper {
  position: relative;
}

.gtranslate .gtranslate_wrapper:before {
  position: absolute;
  top: calc(50% + 1px);
  right: 0;
  transform: translateY(-50%);
  width: 5px;
  height: 6px;
  background: rgba(0, 0, 0, .8);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  pointer-events: none;
  content: '';
}

.gtranslate .gt_selector {
  padding-right: 12px;
  color: rgba(var(--text-color-primary-rgb), .8);
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.04em;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.gtranslate .gt_selector option:first-child {
  display: none;
  visibility: visible;
}

.l-toggle {
  display: none;
}

@media screen and (max-width: 767px) {

  .l-header {
    padding: 0 16px;
  }

  .l-header__logo {
    position: relative;
    z-index: 30;
    width: 192px;
    width: 200px;
  }

  .l-header__drawer {
    visibility: hidden;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
    overflow-y: scroll;
    width: 100%;
    height: 100%;
    padding: 80px 16px;
    background: #fefefe;
    opacity: 0;
    transition: visibility .28s, opacity .28s;
    /*visibility: visible;
    opacity: 1;*/
  }

  .l-header__drawer.is-open {
    visibility: visible;
    opacity: 1;
  }

  .l-nav {
    margin-bottom: 32px;
  }

  .l-nav__list {
    display: block;
  }

  .l-nav__item {
    border-bottom: 1px solid rgba(0, 0, 0, .3);
  }

  .l-nav__item a {
    display: block;
    padding: 16px 0;
    color: var(--text-color-primary);
    font-size: 14px;
    line-height: inherit;
  }

  .l-nav__list:after {
    display: none;
  }

  .l-header__lang {
    /*display: flex;
    justify-content: flex-start;
    justify-content: flex-end;*/
  }

  .gtranslate .gtranslate_wrapper {
    display: flex;
    gap: 0 8px;
  }

  .gtranslate .gtranslate_wrapper:before {
    content: none;
  }

  .gtranslate .gtranslate_wrapper a {
    color: rgba(var(--text-color-primary-rgb), .8);
    font-size: 14px;
    line-height: 2;
  }

  .gtranslate .gtranslate_wrapper a.glink.gt-current-lang {
    font-weight: 400;
  }

  .gtranslate .gtranslate_wrapper a:nth-child(n + 2):before {
    display: inline-block;
    margin-right: 8px;
    content: '/';
  }

  .l-toggle {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 30;
    height: 72px;
    padding-left: calc(30px + 12px);
    cursor: pointer;
  }

  .l-toggle span {
    min-width: 42px;
    color: var(--text-color-primary);
    font-size: 12px;
    text-align: left;
    text-transform: uppercase;
  }

  .l-toggle .l-toggle__close {
    display: none;
  }

  .l-toggle.is-open .l-toggle__open {
    display: none;
  }

  .l-toggle.is-open .l-toggle__close {
    display: block;
  }

  .l-toggle:before,
  .l-toggle:after {
    position: absolute;
    left: 0;
    width: 30px;
    height: 1px;
    background: #000;
    content: '';
    transition: transform .28s, opacity .28s, color .28s;
  }

  .l-toggle.is-open:before,
  .l-toggle.is-open:after {

  }

  .l-toggle:before {
    top: calc(50% - 6px);
  }

  .l-toggle.is-open:before {
    transform: translateY(4.5px) rotate(-20deg);
  }

  .l-toggle:after {
    top: calc(50% + 3px);
  }

  .l-toggle.is-open:after {
    transform: translateY(-4.5px) rotate(20deg);
  }

}

/* ページヘッダー（下層ページ） */
.l-page-header {
  position: relative;
  height: 720px;
  background: url("lib/images/bg_hero.jpg") no-repeat center / cover;
}

.post-type-archive-news-releases .l-page-header {
  background: url("lib/images/bg_hero_news.png") no-repeat center / cover;
}

.post-type-archive-group .l-page-header {
  background: url("lib/images/bg_hero_group.png") no-repeat center / cover;
}

.page-template-page-company .l-page-header {
  background: url("lib/images/bg_hero_company.png") no-repeat center / cover;
}

.page-template-page-service .l-page-header {
  background: url("lib/images/bg_hero_service.jpg") no-repeat center / cover;
}

.page-template-page-contact .l-page-header {
  background: url("lib/images/bg_hero_contact.png") no-repeat center / cover;
}

.page-template-page-mailmagazine .l-page-header {
  background: url("lib/images/bg_hero_mailmagazine.png") no-repeat center / cover;
}

.page-template-page-cookie-policy .l-page-header,
.page-template-page-privacy-policy .l-page-header,
.error404 .l-page-header {
  height: 200px;
  background: transparent;
}

.l-page-header__title {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  padding: 0 24px;
  color: #fff;
  font-size: 52px;
  font-weight: 300;
  text-align: center;
  text-transform: capitalize;
  /*letter-spacing: 0.04em;*/
}

.page-template-page-cookie-policy .l-page-header__title,
.page-template-page-privacy-policy .l-page-header__title,
.error404 .l-page-header__title {
  color: #000;
  font-size: 28px;
}

@media screen and (max-width: 767px) {

  .l-page-header {
    height: 368px;
  }

  .page-template-page-cookie-policy .l-page-header,
  .page-template-page-privacy-policy .l-page-header,
  .error404 .l-page-header {
    height: 112px;
  }

  .l-page-header__title {
    font-size: 34px;
  }

  .page-template-page-cookie-policy .l-page-header__title,
  .page-template-page-privacy-policy .l-page-header__title,
  .error404 .l-page-header__title {
    font-size: 20px;
  }

}

/* フッター */
.l-footer {
  padding: 136px 0 40px;
  padding: 72px 0 120px;
  background: #f5f4f3;
}

.l-footer__logo img {
  width: 100%;
}

.l-footer-menu {
  margin-top: 72px;
}

.l-footer-menu__list {
  display: flex;
  justify-content: space-between;
}

.l-footer-menu__item {
  text-transform: capitalize;
}

.l-footer-menu__item a {
  transition: opacity .6s;
}

.l-footer-menu__item a:hover {
  opacity: .6;
}

.l-footer-menu__item > a,
.l-footer-menu__item > p {
  display: inline-block;
  position: relative;
  color: var(--text-color-primary);
  font-size: 15px;
}

.l-footer-menu__item > a:before,
.l-footer-menu__item > p:before {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #000;
  content: '';
}

.l-footer-menu__item ul {
  display: flex;
  flex-direction: column;
  margin-top: 12px;
}

/*.l-footer-menu__item--glid ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 40px;
}*/

.l-footer-menu__item ul li a {
  display: inline-block;
  color: var(--text-color-primary);
  font-size: 13px;
  line-height: 1.5;
}

.l-footer__copyright {
  display: none;
  margin-top: 176px;
  font-size: 12px;
  text-align: center;
}

@media screen and (max-width: 767px) {

  .l-footer {
    padding: 64px 0 40px;
    padding: 64px 0 72px;
  }

  .l-footer-menu {
    margin-top: 64px;
  }

  .l-footer-menu__list {
    display: block;
    column-count: 2;
    gap: 0 12px;
    gap: 0 32px;
  }

  .l-footer-menu__item {
    display: inline-block;
    page-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 24px;
  }

  .l-footer-menu__item:nth-child(n + 2) {
    margin-top: 16px;
    margin-top: 24px;
    margin-top: 0;
  }

  .l-footer-menu__item ul {
    gap: 2px 0;
  }

  .l-footer-menu__item--glid ul {
    display: flex;
    flex-direction: column;
    gap: 2px 0;
  }

  .l-footer__copyright {
    margin-top: 64px;
    margin-top: 72px;
  }

}

/*-------------------------------------------
Project
-------------------------------------------*/
/* メインビジュアル（トップ） */
.p-mv__video {
  width: 100%;
  height: 800px;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .p-mv__video {
    height: 240px;
    height: calc(100vh - 73px);
  }

}

/* コンセプト（トップ） */
.p-top-concept {
  padding: 144px 0 176px;
}

.p-top-concept__heading {
  font-size: 30px;
  font-weight: 300;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0;
}

.p-top-concept__text {
  margin-top: 32px;
  font-size: 17px;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.p-top-concept__images {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 16px;
  margin-top: 56px;
}

.p-top-concept__image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .p-top-concept {
    padding: 72px 0 80px;
  }

  .p-top-concept__heading {
    font-size: 24px;
  }

  .p-top-concept__text {
    margin-top: 24px;
    font-size: 14px;
  }

  .p-top-concept__images {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 40px;
  }

}

/* （トップ） */
.p-top-service {
  padding-bottom: 176px;
}

.p-top-service__columns {
  display: grid;
  grid-template-columns: 448px 1fr;
  align-items: center;
  gap: 0 48px;
  gap: 0 96px;
}

.p-top-service__heading {
  font-size: 34px;
  font-weight: 300;
  line-height: 1.5;
  text-transform: capitalize;
}

.p-top-service__text {
  margin-top: 32px;
  font-size: 14px;
  line-height: 2.25;
}

.p-top-service__link {
  margin-top: 24px;
}

.p-top-service__link a {
  display: inline-block;
  color: var(--text-color-primary);
  font-size: 14px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
  text-transform: capitalize;
}

.p-top-service__image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .p-top-service {
    padding-bottom: 80px;
  }

  .p-top-service__columns {
    grid-template-columns: none;
    align-items: normal;
    gap: 32px 0;
  }

  .p-top-service__heading {
    font-size: 26px;
  }

  .p-top-service__text {
    margin-top: 16px;
  }

  .p-top-service__image img {
    aspect-ratio: 5 / 6;
  }

}

/* （トップ） */
.p-top-company {
  padding: 104px 0;
  background: #F5F2EF;
}

.p-top-company__columns {
  display: grid;
  grid-template-columns: 1fr 448px;
  align-items: center;
  gap: 0 48px;
  gap: 0 96px;
}

.p-top-company__heading {
  font-size: 38px;
  font-weight: 300;
  line-height: 1.5;
  text-transform: capitalize;
}

.p-top-company__text {
  margin-top: 32px;
  font-size: 14px;
  line-height: 2.25;
}

.p-top-company__link {
  margin-top: 24px;
}

.p-top-company__link a {
  display: inline-block;
  color: var(--text-color-primary);
  font-size: 14px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
  text-transform: capitalize;
}

.p-top-company__image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .p-top-company {
    padding: 56px 0;
    padding: 64px 0;
  }

  .p-top-company__columns {
    display: flex;
    flex-direction: column-reverse;
    align-items: normal;
    gap: 32px 0;
  }

  .p-top-company__heading {
    font-size: 26px;
  }

  .p-top-company__text {
    margin-top: 16px;
  }

  .p-top-company__image img {
    aspect-ratio: 5 / 6;
  }

}

/* News Release（トップ） */
.p-top-news {
  padding: 160px 0;
  padding: 144px 0 176px;
}

.p-top-news__heading {
  font-size: 28px;
  font-weight: 300;
  text-align: center;
  text-transform: capitalize;
}

.p-top-news__body {
  margin-top: 48px;
}

.p-top-news__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 24px;
}

.p-top-news__item a {
  transition: opacity .15s ease-in-out;
}

.p-top-news__item a:hover {
  opacity: .4;
}

.p-top-news-item__thumbnail img {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.p-top-news-item__time {
  margin-top: 12px;
  color: rgba(var(--text-color-primary-rgb), .5);
  font-size: 14px;
}

.p-top-news-item__title {
  margin-top: 4px;
  color: var(--text-color-primary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {

  .p-top-news {
    padding: 72px 0 80px;
  }

  .p-top-news__heading {
    font-size: 24px;
  }

  .p-top-news__body {
    margin-top: 32px;
  }

  .p-top-news__list {
    display: flex;
    flex-direction: column;
    gap: 32px 0;
  }

}

/* News Release（一覧） */
.p-news__list {
  display: flex;
  flex-direction: column;
  gap: 32px 0;
}

.p-news__item {
  position: relative;
}

.p-news__item:nth-child(n + 2):before {
  position: absolute;
  top: calc((-32px / 2) - (1px / 2));
  left: 0;
  width: 100%;
  height: 1px;
  background: #ccc;
  content: '';
}

.p-news__item a {
  transition: opacity .15s ease-in-out;
}

.p-news__item a:hover {
  opacity: .4;
}

.p-news-item__columns {
  display: grid;
  grid-template-columns: 304px 1fr;
  grid-template-columns: 296px 1fr;
  align-items: center;
  gap: 0 24px;
}

.p-news-item__thumbnail img {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 2;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.p-news-item__time {
  color: rgba(var(--text-color-primary-rgb), .4);
  font-size: 12px;
  font-size: 14px;
}

.p-news-item__title {
  margin-top: 4px;
  color: var(--text-color-primary);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.75;
}

@media screen and (max-width: 767px) {

  .p-news__list {
    gap: 32px 0;
  }

  .p-news__item:nth-child(n + 2):before {
    display: none;
  }

  .p-news-item__columns {
    grid-template-columns: none;
    align-items: normal;
    gap: 12px 0;
  }

}

/* News Release（詳細） */
.p-entry {
  padding: 64px 0 160px;
}

.p-entry__container {
  width: min(100%, 680px);
  margin: 0 auto;
}

.p-entry__time {
  color: rgba(var(--text-color-primary-rgb), .4);
  font-size: 14px;
}

.p-entry__title {
  margin-top: 24px;
  margin-top: 16px;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {

  .p-entry {
    padding: 64px 0 72px;
  }

  .p-entry__title {
    margin-top: 16px;
    font-size: 22px;
    font-size: 24px;
  }

}

/* お問い合わせ */
.p-contact__container {
  width: min(100%, 680px);
  margin: 0 auto;
}

.p-contact__text {
  margin-bottom: 48px;
  font-size: 14px;
  text-align: center;
  line-height: 1.7;
}

.wpcf7__term,
.wpcf7__desc {
  font-size: 14px;
  line-height: 1.7;
}

.wpcf7__term:nth-of-type(n + 2) {
  margin-top: 16px;
  padding-top: 4px;
}

.wpcf7__term span {
  margin-left: 3px;
  color: #D83D20;
  vertical-align: 1px;
}

.wpcf7__desc {
  margin-top: 4px;
}

.wpcf7__desc .wpcf7-form-control-wrap {
  display: block;
}

.wpcf7__desc input[type="text"],
.wpcf7__desc input[type="tel"],
.wpcf7__desc input[type="email"],
.wpcf7__desc select,
.wpcf7__desc textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #E6E6E6;
  background: #fff;
  outline: none;
  letter-spacing: .04em;
}

.wpcf7__desc input[type="text"].wpcf7-not-valid,
.wpcf7__desc input[type="tel"].wpcf7-not-valid,
.wpcf7__desc input[type="email"].wpcf7-not-valid,
.wpcf7__desc select.wpcf7-not-valid,
.wpcf7__desc textarea.wpcf7-not-valid {
  border: 1px solid #c87872;
}

.wpcf7__desc input[type="text"]::placeholder,
.wpcf7__desc input[type="tel"]::placeholder,
.wpcf7__desc input[type="email"]::placeholder,
.wpcf7__desc textarea::placeholder {
  color: rgba(0, 0, 0, .5);
}

.wpcf7__desc input[type="text"]::-ms-input-placeholder,
.wpcf7__desc input[type="tel"]::-ms-input-placeholder,
.wpcf7__desc input[type="email"]::-ms-input-placeholder,
.wpcf7__desc textarea::-ms-input-placeholder {
  color: rgba(0, 0, 0, .5);
}

.wpcf7__desc input[type="text"]:-ms-input-placeholder,
.wpcf7__desc input[type="tel"]:-ms-input-placeholder,
.wpcf7__desc input[type="email"]:-ms-input-placeholder,
.wpcf7__desc textarea:-ms-input-placeholder {
  color: rgba(0, 0, 0, .5);
}

.wpcf7__desc textarea {
  height: calc((1.7em * 7) + (12px * 2) + (1px * 2));
}

.wpcf7__select {
  position: relative;
}

.wpcf7__select:before {
  position: absolute;
  top: 21px;
  top: 20px;
  right: 16px;
  z-index: 10;
  transform: rotate(45deg);
  width: 7px;
  height: 7px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  pointer-events: none;
  content: '';
}

.wpcf7__select select {
  color: #000;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.wpcf7__select select.js-select {
  color: rgba(0, 0, 0, .5);
}

.wpcf7__desc .wpcf7-not-valid-tip {
  margin-top: 4px;
  color: #D83D20;
  font-size: 12px;
}

.wpcf7__desc .wpcf7-not-valid-tip:before {
  display: inline-block;
  margin-right: 2px;
  vertical-align: 1px;
  content: '※';
}

.wpcf7__button {
  margin-top: 32px;
}

.wpcf7__button input[type="submit"] {
  width: 100%;
  padding: 12px;
  background: #000;
  color: #fff;
  font-size: 14px;
  pointer-events: auto;
  transition: opacity .6s;
}

.wpcf7__button.js-active input[type="submit"] {
  background: rgba(0, 0, 0, .5);
  color: rgba(255, 255, 255, .7);
  pointer-events: none;
}

.wpcf7__button input[type="submit"]:hover {
  opacity: .6;
}

.wpcf7__button .wpcf7-spinner {
  display: none;
}

@media screen and (max-width: 767px) {

  .p-contact__text {
    margin-bottom: 40px;
    text-align: left;
  }

  .wpcf7__term:nth-of-type(n + 2) {
    padding-top: 0;
  }

}

/* 入力完了まであと〇〇項目 */
/*.p-remaining {
  position: absolute;
  top: -48px;
  left: calc(100% + 64px);
  height: 100%;
}

.p-remaining__inner {
  position: sticky;
  top: 80px;
  border-radius: 3px;
  width: 140px;
  padding: 16px 8px 8px;
  background: #212121;
}

.p-remaining__inner:before {
  display: block;
  position: absolute;
  top: calc(50% + 12px);
  left: -12px;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background: #212121;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  content: '';
}

.p-remaining__text {
  font-size: 14px;
  color: #fff;
  font-weight: 500;
  text-align: center
}

.p-remaining__unit {
  display: block;
  margin-top: -10px;
  font-size: 16px;
}

.p-remaining__number {
  display: inline-block;
  margin: 0 4px;
  transform: translateY(2px);
  font-size: 30px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {

  .p-remaining {
    display: none;
  }

}*/

.p-entry__thumbnail {
  margin-top: 32px;
}

.p-entry__thumbnail img {
  width: 100%;
  max-height: 680px;
  object-fit: cover;
}

.p-entry__body {
  margin-top: 32px;
  margin-top: 40px;
}

.p-entry__content > *:first-child {
  margin-top: 0;
}

.p-entry__content p {
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.7;
}

.p-entry__content a {
  color: var(--text-color-primary);
  text-decoration: underline;
}

/* 見出し */
.p-entry__content h2,
.p-entry__content h3,
.p-entry__content h4,
.p-entry__content h5,
.p-entry__content h6 {
  margin-top: 32px;
  font-weight: 400;
}

.p-entry__content h2 {
  font-size: 24px;
}

.p-entry__content h3 {
  font-size: 22px;
}

.p-entry__content h4 {
  font-size: 20px;
}

.p-entry__content h5 {
  font-size: 18px;
}

.p-entry__content h6 {
  font-size: 16px;
}

@media screen and (max-width: 767px) {

  .p-entry__content h2 {
    font-size: 22px;
  }

  .p-entry__content h3 {
    font-size: 20px;
  }

  .p-entry__content h4 {
    font-size: 18px;
  }

  .p-entry__content h5 {
    font-size: 16px;
  }

  .p-entry__content h6 {
    font-size: 14px;
  }

}

/* リスト */
.p-entry__content ol,
.p-entry__content ul {
  margin-top: 32px;
  padding-left: 20px;
}

.p-entry__content ol li,
.p-entry__content ul li {
  position: relative;
  font-size: 14px;
}

.p-entry__content ol li {
  list-style: auto;
}

.p-entry__content ul li {
  list-style: disc;
}

.p-entry__content hr {
  margin-top: 24px;
}

/* プライバシーポリシー／クッキーポリシー */
.p-policy {
  padding-bottom: 104px;
}

.p-policy__heading {
  margin-top: 64px;
  padding-bottom: 4px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
}

.p-policy__heading + * {
  margin-top: 16px;
}

.p-policy__list {
  margin-top: 16px;
  padding-left: 16px;
}

.p-policy__list .p-policy__list {
  margin-top: 4px;
  padding-bottom: 4px;
  padding-left: 0;
}

.p-policy__item {
  padding-left: 4px;
  list-style-type: decimal;
}

.p-policy__item .p-policy__item {
  padding-left: 0;
  list-style: none;
}

.p-policy__item:nth-child(n + 2) {
  margin-top: 4px;
}

.p-policy__item,
.p-policy__text {
  font-size: 14px;
  line-height: 1.7;
}

.p-policy__item a,
.p-policy__text a {
  color: var(--text-color-primary);
  background: linear-gradient(to right, currentColor, currentColor) 0 min(100%, 1.35em) / 100% 1px no-repeat;
  transition: background-size .3s ease-in-out;
}

.p-policy__item a:hover,
.p-policy__text a:hover {
  background-size: 0 1px;
}

.p-policy__item span a,
.p-policy__text span a {
  background: transparent;
  text-decoration: none;
  pointer-events: none;
}

@media screen and (max-width: 767px) {

  .p-policy {
    padding-bottom: 72px;
  }

  .p-policy__heading {
    margin-top: 56px;
    font-size: 16px;
  }

  .p-policy__heading + * {
    margin-top: 12px;
  }

}

/* お探しのページが見つかりませんでした */
.p-not-found {
  padding-bottom: 104px;
}

.p-not-found__text {
  font-size: 14px;
  line-height: 1.7;
}

.p-not-found__text a {
  color: var(--text-color-primary);
  background: linear-gradient(to right, currentColor, currentColor) 0 min(100%, 1.35em) / 100% 1px no-repeat;
  transition: background-size .3s ease-in-out;
}

.p-not-found__text a:hover {
  background-size: 0 1px;
}

@media screen and (max-width: 767px) {

  .p-not-found {
    padding-bottom: 72px;
  }

}

.philos {
  margin-top: -40px;
  padding-top: 40px;
  padding-bottom: 152px;
}

.message {
  margin-bottom: 152px;
  padding: 96px 0;
  background: #f5f2ef;
}

 .overview {
  margin-top: -40px;
  padding-top: 40px;
}

.philos__heading {
  font-size: 32px;
  font-size: 30px;
  font-weight: 300;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0;
}

.philos__text {
  margin-top: 24px;
  margin-top: 32px;
  font-size: 17px;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.wp-block-columns {
  display: grid;
  grid-template-columns: 448px 1fr;
  align-items: center;
  gap: 0 40px;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 104px;
  gap: 0 96px;
}

.wp-block-columns--reverse {
  grid-template-columns: 1fr 448px;
}

.wp-block-column__heading {
  padding-bottom: 8px;
  padding-bottom: 12px;
  font-size: 42px;
  font-size: 38px;
  font-weight: 100;
  text-transform: capitalize;
  line-height: 1.5;
  letter-spacing: 0;
}

.wp-block-column__heading + * {
  margin-top: 24px;
}

.wp-block-column__list {
  display: grid;
  gap: 2px 0;
  grid-template-columns: 120px 1fr;
}

.wp-block-column__list dt,
.wp-block-column__list dd {
  padding: 16px 0;
  border-bottom: 1px solid #E9E9E9;
  font-size: 15px;
  font-size: 14px;
  line-height: 1.75;
}

.wp-block-column__list dd a {
  color: #000;
  text-decoration: underline;
  transition: opacity .6s;
}

.wp-block-column__list dd a:hover {
  opacity: .6;
}

.wp-block-column__text {
  margin-top: 16px;
  font-size: 15px;
  font-size: 14px;
  line-height: 2.25;
  line-height: 2.15;
}

.wp-block-column__heading + .wp-block-column__text {
  margin-top: 24px;
}

.wp-block-column__link {
  margin-top: 24px;
}

.wp-block-column__link a {
  display: inline-block;
  position: relative;
  color: var(--text-color-primary);
  font-size: 13px;
  text-transform: capitalize;
  transition: all .3s ease-in-out;
}

.wp-block-column__link.is-nolink a {
  pointer-events: none;
}

.wp-block-column__link a:hover {
  color: rgba(0,0,0,.4);
}

.wp-block-column__link a:before {
  position: absolute;
  background: #000;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  transition: width .3s ease-in-out;
  content: '';
}

.wp-block-column__link a:hover:before {
  width: 0;
}

.wp-block-column__image img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.wp-block-column__video video {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .philos {
    padding-bottom: 56px;
  }

  .philos__heading {
    font-size: 24px;
  }

  .philos__text {
    margin-top: 24px;
    font-size: 14px;
  }

  .message {
    margin-bottom: 64px;
    padding: 64px 0;
  }

  .wp-block-columns {
    display: flex;
    flex-direction: column;
    gap: 32px 0;
    align-items: normal;
  }

  .wp-block-columns--reverse {
    flex-direction: column-reverse;
  }

  .wp-block-column__heading {
    padding-bottom: 0;
    font-size: 30px;
  }

  .wp-block-column__heading + .wp-block-column__text {
    margin-top: 16px;
  }

  .wp-block-column__text {
    line-height: 2;
  }

  .wp-block-column__list {
/*    grid-template-columns: 114px 1fr;*/
    gap: 0;
  }

  .wp-block-column__link {
    margin-top: 16px;
  }

}

/* グループ企業 */
.p-group__cards {
  display: grid;
  /*grid-template-columns: repeat(3, 1fr);
  gap: 56px 24px;*/
  grid-template-columns: repeat(2, 1fr);
  gap: 56px 40px;
}

.p-group__card a {
  display: block;
  transition: opacity .6s;
}

.p-group__card a:hover {
  opacity: .6;
}

.p-group-card__image {
  border: 1px solid #e6e6e6;
}

.p-group-card__image img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.p-group-card__heading {
  margin-top: 16px;
  color: #000;
  font-size: 19px;
  font-weight: 300;
}

.p-group-card__description {
  margin-top: 4px;
  color: var(--text-color-primary);
  font-size: 13px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
  overflow: hidden;
}

@media screen and (max-width: 767px) {

  .p-group__cards {
    grid-template-columns: none;
    gap: 32px 0;
  }

  .p-group-card__heading {
    margin-top: 12px;
    font-size: 17px;
  }

}

/* グループ企業 */
.p-entry-group {
  padding: 64px 0 160px;
}

.p-entry-group__thumbnail {
  width: min(100%, 780px);
  margin: 0 auto;
}

.p-entry-group__thumbnail img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.p-entry-group__description {
  margin-top: 24px;
  font-size: 14px;
  text-align: center;
  line-height: 2;
}

.p-entry-group__link {
  margin-top: 64px;
  text-align: center;
}

.p-entry-group__link a {
  display: inline-block;
  position: relative;
  color: #000;
  font-size: 13px;
  transition: all .3s ease-in-out;
}

.p-entry-group__link a:hover {
  color: rgba(0,0,0,.4);
}

.p-entry-group__link a:before {
  position: absolute;
  background: #000;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  transition: width .3s ease-in-out;
  content: '';
}

.p-entry-group__link a:hover:before {
  width: 0;
}

.p-entry-group__image-video {
  margin-top: 88px;
}

.p-entry-group__image-video video,
.p-entry-group__image-video img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

@media screen and (max-width: 767px) {

  .p-entry-group {
    padding: 64px 0 72px;
  }

  .p-entry-group__description {
    margin-top: 16px;
  }

  .p-entry-group__link {
    margin-top: 32px;
  }

  .p-entry-group__image-video {
    margin-top: 56px;
  }

}

.p-service__cards {
  display: flex;
  flex-direction: column;
  gap: 144px 0;
}

.p-service__card {
  margin-top: -40px;
  padding-top: 40px;
}

@media screen and (max-width: 767px) {

  .p-service__cards {
    gap: 80px 0;
  }

}

/*-------------------------------------------
Utility
-------------------------------------------*/
.u-sp {
  display: none;
}

@media screen and (max-width: 767px) {

  .u-pc {
    display: none;
  }

  .u-sp {
    display: block;
  }

}

/*-------------------------------------------
JavaScript
-------------------------------------------*/
/* フェードイン */
.js-inview {
  transform: translateY(30px);
  opacity: 0;
}

.js-inview.is-inview {
  transform: translateY(0);
  opacity: 1;
  transition: transform 1s cubic-bezier(.17,.17,.3,1), opacity 1s cubic-bezier(.17,.17,.3,1);
}

/* reCAPTCHA */
.grecaptcha-badge {
  visibility: hidden;
}